2013-05-11 3 views
0

Привет им в создании и бесконечную систему подкатегории, все, его штраф за код, чтобы создать новые категории, кроме ...входного элемент радио, который посылает нулевое значение

Корня «NULL», поэтому я не могу управлять, чтобы создать <input type="radio" name="parent_id" value=""> что «писать» нулевое значение в базе данных ..

Если я не установите значение, я получаю сообщение об ошибке индекса Неопределенных .. Ihave попытался IsSet, пустой, is_null , но все они, кажется, есть проблемы,

isset($var) is FALSE 
empty($var) is TRUE 
is_null($var) is TRUE 

isset($novar) is FALSE 
empty($novar) is TRUE 
is_null($novar) gives an Undefined variable error 

Вот мой код, чтобы вы может видеть, что я пытаюсь сделать.

//Check to see if the form has been submitted 
if(isset($_POST['submit'])){ 

    //protect and then add the posted data to variables 
    $name = protect($_POST['name']); 
    $parent_id = $_POST['parent_id']; 

    //check to see if a name was set 
    if(!$name){ 
     //if any weren't display the error message 
     echo "<center>Necesitas llenar todos los campos</center>"; 
    }else{ 
     //Check if the wanted name is more than 99 or less than 2 charcters long 
     if(strlen($name) > 99 || strlen($name) < 2){ 
      //if it is display error message 
      echo "<center>La categoría no puede rebasar los 100 caracteres!</center>"; 
     }else{ 


      if(is_null($parent_id)){ 

      $res = mysql_query("INSERT INTO `category` (`name`) VALUES('".$name."')"); 

      echo "<center>Creaste la categoría correctamente!</center>"; 

      } 
      else { 

       $res = mysql_query("INSERT INTO `category` (`parent_id`, `name`) VALUES('".$parent_id."','".$name."')"); 

      echo "<center>Creaste la categoría correctamente!</center>"; 



          } 
         } 
        } 
} 

код на самом деле работает & создавать категории!

Но если я создать корневую категорию, она показывает ошибку неопределенного индекса «parent_id» даже при создании категории успешно,

¿Как я могу избавиться от этой ошибки?

+0

Почему ты орешь ??? – peterm

+0

jajaja извините, я wasnt –

ответ

1

Если я правильно понимаю, попробуйте изменить

if(is_null($parent_id)){ 
$res = mysql_query("INSERT INTO `category` (`name`) VALUES('".$name."')"); 
echo "<center>Creaste la categoría correctamente!</center>"; 
} 
else { 
    $res = mysql_query("INSERT INTO `category` (`parent_id`, `name`) VALUES('".$parent_id."','".$name."')"); 
echo "<center>Creaste la categoría correctamente!</center>"; 

к

if(isset($_POST['parent_id']) && $_POST['parent_id']){ 
    $parent_id = $_POST['parent_id']; 
    $res = mysql_query("INSERT INTO `category` (`parent_id`, `name`) VALUES('$parent_id','$name')"); 
} else { 
    $res = mysql_query("INSERT INTO `category` (`name`) VALUES('$name')"); 
} 

if ($res) { 
    echo "<center>Creaste la categoría correctamente!</center>"; 
} else { 
    echo "<center>Error creating a category!</center>"; 
} 

и избавиться или комментировать $parent_id = $_POST['parent_id']; строку в начале вашего скрипта

$name = protect($_POST['name']); 
//$parent_id = $_POST['parent_id']; 
+0

Спасибо Очень много, но все тот же .. Примечание: Неопределенный индекс: parent_id в строке 22 $ parent_id = $ _POST ['parent_id']; ... не видел последнюю часть = P спасибо –

+0

Показать строки 21 до 23 – peterm

+0

Это была моя ошибка, я не видел последнюю часть вашего сообщения, удаляя эту строку, исправляю ее. –

Смежные вопросы