2016-04-07 4 views
0

Я создал следующую форму флажка для отображения хобби. Массив входит в базу данных в одной и той же ячейке, которая является совершенной, однако, следующие ошибки появляются на странице, прежде чем я даже представил. (Я новичок в этом и любая помощь будет принята с благодарностью :))implode(): недопустимые аргументы переданы. Cant видит определенную переменную для массива

Undefined индекс: хобби в (строка 29) Внимание: Implode(): Неверные аргументы, переданные в (строка 29)

Кодекса :

$checkbox=implode(',', $_POST['hobbies']); 

if(isset($_POST['Submit'])){ 

    //for($i=0; $i<sizeof($hobbies);$i++){ 

    $query=queryMysql("INSERT INTO hobbies VALUES ('$user', '" .$checkbox. "')"); 

    mysql_query($query) or die(mysql_error()); 
    echo "record is inserted"; 
    } 




echo <<<_END 

<body> 
<form method='post' action='hobbies.php' > 
<input type="checkbox" name="hobbies[]" value="reading">Reading<br> 
<input type="checkbox" name="hobbies[]" value="cycling">Cycling<br> 
<input type="checkbox" name="hobbies[]" value="swimming">Swimming<br> 
<input type="checkbox" name="hobbies[]" value="running">Running<br> 
<input type="submit" name='Submit' value='Submit'/></form> 
</body> 
</html> 




_END; 
?> 
+0

при загрузке страницы первоначально, там нет таких переменных '$ _POST [«хобби»]', поэтому поставить это в ваш оператор 'if'. – mitkosoft

+0

Вопрос был дан ответ ниже, так что обратите внимание: вы не позволили бы незнакомым людям попасть в ваш дом, и все же вам, кажется, все в порядке, разрешив их в вашу базу данных. «Да, ребята, поставьте все, что захотите! Если ваше имя будет« бла-блафом »ИЛИ 1/*', то пусть будет так! » – Eihwaz

+0

положите эту строку '$ checkbox = implode (',', $ _POST ['hobbies']);' in 'if' condition. – jagad89

ответ

0

Может поставить эту строку: $checkbox=implode(',', $_POST['hobbies']); в вашем if(isset($_POST['Submit'])){ } состоянии.

0

Попробуйте этот код, я надеюсь, что это будет работать: -

if(isset($_POST['Submit'])){ 


    $checkbox=implode(",", $_POST['hobbies']); 

    $query=queryMysql("INSERT INTO hobbies VALUES ('$user', '$checkbox')"); 

    mysql_query($query) or die(mysql_error()); 
    echo "record is inserted"; 
    } 


echo <<<_END 
0
I think you need to more customization like this 


     if(isset($_POST['Submit'])){ 

     if(is_array($_POST['hobbies']) && count($_POST['hobbies']) >0){ 
     $checkbox=implode(',', $_POST['hobbies']); 

      //for($i=0; $i<sizeof($hobbies);$i++){ 

      $query=queryMysql("INSERT INTO hobbies VALUES ('$user', '" .$checkbox. "')"); 

      mysql_query($query) or die(mysql_error()); 
      echo "record is inserted"; 
      } 
     echo <<<_END 
    } ?> 
     <body> 
     <form method='post' action='hobbies.php' > 
     <input type="checkbox" name="hobbies[]" value="reading">Reading<br> 
     <input type="checkbox" name="hobbies[]" value="cycling">Cycling<br> 
     <input type="checkbox" name="hobbies[]" value="swimming">Swimming<br> 
     <input type="checkbox" name="hobbies[]" value="running">Running<br> 
     <input type="submit" name='Submit' value='Submit'/></form> 
     </body> 
     </html> 



<?php   
     _END; 
     ?> 
Смежные вопросы