Просмотр полной версии : не работает php
connectoid
08.06.2004, 08:39
Установил себе apache2 и php4 для отладки скриптов, вроде бы правильно настроил, примитивные скрипты типа "hallo world" работают. Но в более сложных скриптах выдает ошибки типа:
"Undefined variable: author in C:\Server\WWW\forum.php on line 32", там где их не должно быть.
Явно что-то с настройкой, а что именно?
Constantine
08.06.2004, 10:17
Прикрепи forum.php хотя бы до 34 строки, посмотрим...
это означает, что переменной $author у тебя ранее нет, а ты ее как-либо используешь (втч присваеваешь новое значение путем конкатенации).
полагаю register_globals, как всегда =)
если ты добавишь в начало скрипта
error_reporting(error_reporting() ^ E_NOTICE);
оно перестанет ругаться по поводу неинициализированных переменных
правильно ли это - другой вопрос.
Оригинал написал(а) Wave
правильно ли это - другой вопрос.
Это так же правильно, как и лечение диареи путем заклеивания ануса пластырем.
connectoid
10.06.2004, 01:55
2Nirva
полагаю register_globals, как всегда =)
можно подробнее...
kompadre
10.06.2004, 02:02
А можно нажать на кнопку поиск?
connectoid
10.06.2004, 07:21
2 Constantine
Вот кусок скрипта, ошибка в 25 строке (неопределення переменная trophimov .....)
<?
$dimidrol = date("d.m.Y");
print "<table width= cellpadding=0 cellspacing=0 border=0 align=center>
<p>| <a href=\"forum.php?trofimov=add\">Äîáàâèòü òåìó </a>| | <a
href=\"forum.php?trofimov=forum\">Ïðîñìîòðåòü òåìû</a> | Ñåãîäíÿ: $dimidrol </p>
";
print "<body>
<div align=\"center\"><center>
<table border=\"1\" width=\"711\" height=\"25\" bordercolor=\"#FFFFFF\" bgcolor=\"#E9E9E9\"
bordercolorlight=\"#FFFFFF\" bordercolordark=\"#FFFFFF\">
<tr>
<td width=\"209\" height=\"25\">
Òåìà</td>
<td width=\"209\" height=\"25\">
Àâòîð</td>
<td width=\"209\" height=\"25\">
Äàòà</td>
</tr>
</table>
</center></div>
</body>";
switch($trofimov) :
default :
print "<table width= cellpadding=0 cellspacing=0 border=0 align=center>";
break;
case("add") :
print "
<center><h2>Äîáàâèòü òåìó</h2></center>
<form action=forum.php?trofimov=trofimov method=post>
Èìÿ : <input type=text value='' name=name size=30><br>
E-mail : <input type=text value='' name=mail size=30><br>
Çàãîëîâîê : <input type=text value='' name=zag size=30><br>
Ñîîáùåíèå : <textarea cols=40 rows=5 size=100 name=mess></textarea><br>
<input type=submit value='Îòïðàâèòü'>
</form>
";
break;
case("trofimov") :
if ($name == "") {print "Ââåäèòå èìÿ!"; exit;}
if ($mess == "") {print "Ââåäèòå òåêñò!"; exit;}
if ($zag == "") {print "Ââåäèòå çàãîëîâîê!"; exit;}
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $mail) and $mail != "") {print "Âû ââåëè íåêîððåêòíûé E-mail àäðåñ!"; exit;}
$er = 1;
Оригинал написал(а) connectoid
switch($trofimov)
Где ты присвоил значение этой переменной?
Нигде? Тогда что тебя удивляет?
Constantine
11.06.2004, 11:29
В догонку вообще по скрипту...
Зачем проверять заполнение полей в ПХП? Для этого есть джаваскрипт... Обрати внимание, что скрипт выпадает при первой же ошибке заполнения и бедный юзер будет сабмитить и перезагружать страницу до тех пор пока не поймет что от него хотят ;)
2Constantine: ты пошутил или правда с ума сошел?? хинт: у меня яваскрипт отключается нажатием сочитания двух клавиш.
Constantine
11.06.2004, 17:28
2Nirva: Сошел, видимо... :rolleyes: Это я как будто только что родился? М-да... вот и верь после этого людям :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.