2016-04-07 10 views
0

Ich habe das folgende Kontrollkästchen Formular zum Anzeigen von Hobbys erstellt. Das Array tritt in die Datenbank in der gleichen Zelle ein, die perfekt ist, jedoch erscheinen die folgenden Fehler auf der Seite, bevor ich überhaupt gesendet habe. (Ich bin neu in diesem und jede Hilfe sehr geschätzt würde :))implode(): Ungültige Argumente übergeben. Kann die definierte Variable für das Array nicht sehen

Undefined index: Hobby in (Linie 29) Warning: implode(): Ungültige Argumente übergeben (Linie 29)

Der Code :

$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

, wenn Sie zunächst die Seite laden, gibt es keine solche Variable '$ _POST ist [ 'Hobby']', so setzen diese in Ihre 'if' Aussage. – mitkosoft

+0

Die Frage wurde bereits unten beantwortet, also nebenbei bemerkt: Sie würden keine Fremden in Ihr Haus lassen, und doch scheinen Sie damit einverstanden zu sein, sie in Ihre Datenbank zu lassen. "Ja, Leute, liefert alles, was du willst! Wenn dein Name zufällig' blahblah 'ODER 1/* 'ist, dann sei es so!" – Eihwaz

+0

Setzen Sie diese Zeile '$ checkbox = implode (',', $ _POST ['hobbys']);' in 'if' Bedingung. – jagad89

Antwort

0

setzen Sie diese Zeile Vielleicht: $checkbox=implode(',', $_POST['hobbies']); in Ihrem if(isset($_POST['Submit'])){ } Zustand.

0

Dieser Code Versuchen Sie, ich hoffe, es funktioniert: -

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; 
     ?>