Я пытаюсь создать форум с нуля, и я немного запутался. В следующем коде я пытаюсь поставить условие, что, если пользователь не вошел в систему, он не может добавить категорию. Тем не менее, код работает отлично, если пользователь зарегистрирован, но я получаю «неопределенный индекс: userid, если он не является. Я попытался добавить if(isset($_SESSION['userid']))
, но это просто скроет уведомление« вы должны быть подписаны ». ?получил запутанное уведомление о индексе с индексом
<?php
include("_/inc/dbcon.php");
$link = mysql_connect($host, $login, $pw);
mysql_select_db($database);
if($link){
}
include("_/inc/session_handler.php");
$create_cat ="";
if($_SESSION['userid'] == false /*| $_SESSION['rank'] !='Emperor' || $_SESSION['rank'] !='Destroyer' || $_SESSION['rank']!= 'Tekken Lord')*/)
{
//the user is not an admin
echo 'Sorry, you do not have sufficient rights to access this page.';
}
else
{
//the user has admin rights
if($_SERVER['REQUEST_METHOD'] != 'POST')
{ echo "YOU HAVE THE RIGHTS!";
//the form hasn't been posted yet, display it
$create_cat .= '<form method="post" action="">
<input type="text" name="cat_name" placeholder="Category Name"/><br />
<input type="text" name="cat_description" placeholder="Category Description" /><br />
<input type="submit" value="Add category" />
</form>';
}
else
{
//the form has been posted, so save it
$sql = "INSERT INTO sp_categories(cat_name, cat_description)
VALUES('" . mysql_real_escape_string($_POST['cat_name']) . "',
'" . mysql_real_escape_string($_POST['cat_description']) . "')";
$result = mysql_query($sql);
if(!$result)
{
//something went wrong, display the error
echo 'Error' . mysql_error();
}
else
{
$create_cat .= 'New category succesfully added.';
}
}
}
?>
НИКОГДА не используйте функции mysql_. Они устарели по какой-то причине. используйте [mysqli] (http://php.net/manual/en/book.mysqli.php) или [PDO] (http://php.net/manual/en/book.pdo.php). – euantorano
Возможный дубликат [PHP: «Примечание: неопределенная переменная» и «Примечание: Неопределенный индекс»] (http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-and-notice-undefined-index) – halfer
Посмотрите на боковую панель 'Related' здесь' ------> '. Множество повторяющихся вопросов ':)'. Пожалуйста, всегда делайте поиск, прежде чем спрашивать - это тоже сэкономит вам время! – halfer