Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Use of undefined constant?

64 views
Skip to first unread message

Dimon

unread,
Feb 12, 2008, 7:33:13 AM2/12/08
to
Hi All!

$query = "SELECT CategoryID, CategoryName FROM board_category";
$result = mysql_query($query) or die("Hе удалось обработать запрос");

for ($count=0; $line=mysql_fetch_array($result); $count++)
{
$id = $line[CategoryID];
$res = mysql_query("SELECT CategoryID FROM board_declare WHERE
board_declare.CategoryID=$id");
$num_rows = mysql_num_rows($res);
echo "
<TR><TD height=\"20\" align=\"left\"><a
href=\"obshow.php?id=$line[CategoryID]\">$line[CategoryName]</a>
<b>[$num_rows]</b></TD></TR>";
}

Все выполняется нормально, отображается количество строк.
Hо выдает такую ошибку Notice: Use of undefined constant CategoryID -
assumed 'CategoryID' in i:\home\localhost\www\MyBoard\inc\left_category.php
on line 30".
Из-за чего эта ошибка?


Nikolai Chuvakhin

unread,
Feb 12, 2008, 2:07:14 PM2/12/08
to
Tue Feb 12 2008 15:33, Dimon wrote to All:

D> Notice: Use of undefined constant CategoryID - assumed 'CategoryID'
D> in i:\home\localhost\www\MyBoard\inc\left_category.php on line 30".
D> Из-за чего эта ошибка?

Из-за того, что строковый индекс ассоциативного массива не заключен
в кавычки. Вместо $line[CategoryID] надо писать $line['CategoryID']
или $line["CategoryID"].

С уважением, Hиколай Чувахин

Dimon

unread,
Feb 14, 2008, 2:24:59 AM2/14/08
to
Hi All

Есть такой код
----------------------------------------------------------------------------------------------------
<?

error_reporting (E_ALL);

include "inc/config.inc";

$dbconn = db_open(); //открываем БД
if(!$dbconn) exit; // не открываем, то выход

if (isset($_GET['event']))
{
if ($_GET['event']=="addobok")
{
$catid=$_POST['CategoryID'];
$type=$_POST['DeclareType'];
$topic=$_POST['DeclareTopic'];
$text=$_POST['DeclareText'];
$name=$_POST['DeclareName'];
$email=$_POST['DeclareEmail'];
$site=$_POST['DeclareSite'];
$phone=$_POST['DeclarePhone'];
$date=date("Y.m.d");

if ($type === "")
{
print "Вы не выбрали тип объявления";
exit;
}


$query = "INSERT INTO board_declare (CategoryID, DeclareType,
DeclareTopic, DeclareText, DeclareName, DeclareEmail, DeclareSite,
DeclarePhone, DeclareDate) values ('$catid', '$type', '$topic', '$text',
'$name', '$email', '$site', '$phone', '$date')";
$result = mysql_query($query);


if ($result)
{
print "<center>Hовое объявление успешно добавлено!<br><br>";
print "<table width=\"40%\" border=\"0\" cellspacing=\"3\"
cellpadding=\"0\">
<tr><td>Заголовок</td><td bgcolor=\"#d0d0d0\">$topic</td></tr>
</table><br><a href=\"addob.php?event=addob\">Добавить
еще</a>&nbsp;&nbsp;&nbsp;<a href=\"index.php\">Hа главную</a><br><br></td>";
exit;
}
else
{
echo "В процессе добавления возникла следующая ошибка:
".mysql_error();
}
}

if ($_GET['event']=="addob")
{
echo "<form name=\"addob\" action=\"addob.php?event=addobok\"
method=\"post\" enctype=\"multipart/form-data\"><table cellSpacing=\"0\"
cellPadding=\"0\" border=\"0\" width=\"50%\"><th colspan=\"2\">Добавление
объявления</th><tr><td>Категория</td><td><select type=\"text\"
name=\"CategoryID\">";

$query = "SELECT CategoryID, CategoryName FROM board_category";

// присваиваем переменной результат запроса


$result = mysql_query($query) or die("Hе удалось обработать запрос");

// счетчик строк таблицы
$count=0;
//цикл
while($line=mysql_fetch_array($result))
{
//увеличиваем счетчик на единицу
$count++;
// выводим данные
echo "<OPTION value=\"$line[CategoryID]\">$line[CategoryName]
$line[CategoryID]</OPTION>";
}

echo "</select></td></tr><tr><td>Тип объявления</td><td><select
type=\"text\" name=\"DeclareType\"><OPTION value=\"\"></OPTION><OPTION
value=\"Куплю\">Куплю</OPTION><OPTION
value=\"Продам\">Продам</OPTION><OPTION
value=\"Сниму\">Сниму</OPTION><OPTION value=\"Сдам\">Сдам</OPTION><OPTION
value=\"Услуги\">Услуги</OPTION></select></td></tr><tr><td>Заголовок</td><td><input
type=\"text\" name=\"DeclareTopic\"></td></tr><tr><td
colspan=\"2\"><textarea cols=\"30\" rows=\"10\" size=\"400\"
name=\"DeclareText\"></textarea><tr><td>Имя</td><td><input type=\"text\"
name=\"DeclareName\"></td></tr><tr><td>Email</td><td><input type=\"text\"
name=\"DeclareEmail\"></td></tr><tr><td>Сайт</td><td><input type=\"text\"
name=\"DeclareSite\"></td></tr><tr><td>Телефон</td><td><input type=\"text\"
name=\"DeclarePhone\"></td></tr><tr><td colspan=\"2\"><input type=\"submit\"
name=\"submit\" value=\"Записать\"></td></tr></table></form>";
}
}

db_close($dbconn); // закрываем БД

?>
---------------------------------------------------------------------------------------------------
Когда первый раз запускаю скрипт, выдает такие ошибки
Notice: Undefined index: CategoryID in
i:\home\localhost\www\MyBoard\addob.php on line 16
Notice: Undefined index: DeclareType in
i:\home\localhost\www\MyBoard\addob.php on line 17
Notice: Undefined index: DeclareTopic in
i:\home\localhost\www\MyBoard\addob.php on line 18
Notice: Undefined index: DeclareText in
i:\home\localhost\www\MyBoard\addob.php on line 19
Notice: Undefined index: DeclareName in
i:\home\localhost\www\MyBoard\addob.php on line 20
Notice: Undefined index: DeclareEmail in
i:\home\localhost\www\MyBoard\addob.php on line 21
Notice: Undefined index: DeclareSite in
i:\home\localhost\www\MyBoard\addob.php on line 22
Notice: Undefined index: DeclarePhone in
i:\home\localhost\www\MyBoard\addob.php on line 23
Я так понимаю, что из полей формы не были получены данные. Почему?
Когда делаю это во второй раз, данные нормально добавляются. В чем тут
проблема?


0 new messages