Помогите с готевой книгой

Печать RSS
664

S
Автор
Землянин
0
Есть гостевая. На денвере нормально все. Как только загружаю на сервер, появляются ошибки.
http://prarusyaz.h2m.ru/pages/guest.php - на сервере гостевая.
http://upwap.ru/1349554 - вот на денвере тоже самое.
Есть гостевая. На денвере нормально все. Как только загружаю на сервер, появляются ошибки.
http://prarusyaz.h2m.ru/pages/guest.php - на сервере гостевая.
http://upwap.ru/1349554 - вот на денвере тоже самое.
И еще. Если не сложно, поправьте ошибки, за плюс.
1) добавление сообщений, обработка при ошибках (проверка не фурычит почему-то)
2) перенос строки если в ней больше n-нного кол-ва символов.
3) Ну и соответственно то что вылезает на h2m.ru
121 строка это case 'add':
147 строка это case 'added':
107 строка это for($i=0; $str=$file[$i]; $i++){

Добавлено через 02:04 сек.
часть 1
      <?
if(isset($_GET['act']) and $_GET['act']!==NULL) { $act = $_GET['act']; }

switch($act) { 
default: 
$file = file('../local/quest.dat'); 
$count = count($file);
if($count==NULL) { echo '<font color="red">Сообщений пока нет!<br></font></div>'; } 
for($i=0; $str=$file[$i]; $i++){ 
$str = explode(':||:',$str); 
$name = $str[0];
$date = $str[1]; 
$info = $str[2]; 
$mess = wordwrap($str[3], 4, PHP_EOL);
echo 'Сообщение: <a title="'.$info.'">'.$name.'</a></a><font color="red"><br>'.$mess.'
</div></font> </div> <br>';
}
echo '<br><font color="red"><a href="../pages/guest.php?act=add" title="Добавить новое сообщение в гостевую">Добавить сообщение</a><br></font>';
echo '<font color="red">Всего сообщений: '.$count.'.</font>';
echo '</div>';
break;

case 'add': 

if($_GET['err']=='1') {
echo '<font color="red">';
echo 'При заполнении формы вы допустили ошибки:<br>';
if($_GET['noname']=='1') { echo '<b>Вы не ввели имя!</b><br>'; }
if($_GET['noinfo']=='1') { echo '<b>Вы не ввели e-mail/icq!</b><br>'; }
if($_GET['nomess']=='1') { echo '<b>Вы не ввели сообщение!</b><br>'; }
echo '</font></div>';
}
S
Автор
Землянин
0
2 часть
echo '<form action="../pages/guest.php?act=added&" method="POST">';

echo '<a title="Это нужно для того чтобы мы могли вам ответить">Введите имя: <font color="red">*</font><br>';
echo '<input type="text" maxlength="15" name="post_name"><br>';

echo '<a title="Пример: name@mail.ru/123456 или -/123456 (если нет)">Ваш e-mail/icq:  <font color="red">*</font><br>';
echo '<input type="text" maxlength="30" name="post_info"><br>';

echo '<a title="Вы можете задать вопрос, написав его здесь">Введите сообщение:</a> <font color="red">*</font><br>';
echo '<textarea cols="25"  rows="3"  name="post_mess"></textarea><br>';
echo '<input type="submit" value="Добавить"><br>';
echo '</form>';
echo '<font color="red"><small><b>*</b> Все поля обязательны для заполнения. Это нужно для того, чтобы мы могли ответить Вам.</small></font>';

break;
case 'added':
$error_str = '';
if(isset($_POST['post_name']) and $_POST['post_name']!=='') { $post_name = htmlspecialchars($_POST['post_name']); } else { $error_str.='&noname=1';  }
if(isset($_POST['post_mess']) and $_POST['post_mess']!=='') { $post_mess = htmlspecialchars($_POST['post_mess']); } else { $error_str.='&nomess=1'; }
if(isset($_POST['post_info']) and $_POST['post_info']!=='') { $post_info = htmlspecialchars($_POST['post_info']); } else { $error_str.='&noinfo=1'; }




$fp = fopen('../local/quest.dat',"a+");
if(!$fp) { echo 'Ошибка открытия файла!<br>'; }
$post_name = str_replace(':||:','',$post_name);
$post_name = str_replace('<','',$post_name);
$post_name = str_replace('>','',$post_name);
$post_name = str_replace('"','',$post_name);
$post_name = str_replace('\'','',$post_name);

$post_mess = str_replace(':||:','',$post_mess);
$post_mess = str_replace('<','',$post_mess);
$post_mess = str_replace('>','',$post_mess);
$post_mess = str_replace('
','<br>',$post_mess);
S
Автор
Землянин
0
if(isset($post_info)){
$post_info = str_replace(':||:','',$post_info);
$post_info = str_replace('<','',$post_info);
$post_info = str_replace('>','',$post_info);
$post_info = str_replace('"','',$post_info);
$post_info = str_replace('http://','',$post_info);
$post_info = str_replace('https://','',$post_info);

$post_info = ''.$post_info;
}
$str = $post_name.':||:Сообщение:||:'.$post_info.':||:'.$post_mess."\n";
fwrite($fp,$str);
if($_GET['noname']=='0')
{echo '<meta http-equiv="refresh" content="1;url=guest.php?act=add&err=1'.$error_str.'">';
echo '<div class="h1"><font color="red">Пожалуйста, подождите...</font></div>';
}else{
echo '<meta http-equiv="refresh" content="1;url=../pages/guest.php?">Сообщение успешно добавлено в гостевую! <a href="../pages/guest.php?">СЮДА<a/></div>';
break;
}}
?>

Добавлено через 02:59 сек.
Или расскажите как в форму вывести, как во втором посте)) когда вимволов много, форма появляется smile

2000 лет д.н.э.
0
if(isset($_GET['act']) and $_GET['act']!==NULL) { $act = $_GET['act']; } тут ошибка
else{
$act = 'default';
}

[Developer]
0
насчет Notice: контроль ошибок сделай менее придирчивым.
S
Автор
Землянин
0
ramzes, будь добр, ткни меня носом E конкретно в это место, и покажи как исправить) smile

Добавлено через 01:09 сек.
5, ок)) только чем плох нынешний вариант? время обработки? smile

2000 лет д.н.э.
0
6. SIR2100, ты в свитч используешь $act, когда она не обьявлена выскакивает предупреждение "необьявленная переменная"
как исправить я выше написалsmile
это даже не ошибка, просто предупреждение
S
Автор
Землянин
0
Теперь, соответственно, ошибка в 109 строке
for($i=0; $str=$file[$i]; $i++){

2000 лет д.н.э.
0
SIR2100 (8 Марта 2011 / 23:32)
Теперь, соответственно, ошибка в 109 строке
for($i=0; $str=$file[$i]; $i++){
бесконечный цикл? где лимит то до которого повторы идут?
S
Автор
Землянин
0
какие цыклы есть в пыхе кроме фор? вайл или булеан есть?
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск