So bekomme ich diesen Fehler:Insert foreach Schleife
Hinweis: Uninitialized String Offset
ich den Wert der geprüften Optionsfeld des Optionsfelds in jeder Zeile gesetzt eingefügt werden soll von meinem Tisch.
Das bedeutet in jeder Zeile meines Tisches habe ich diese Frage ll Radio Button Set ll Kommentar.
Ein Umfrageformular.
<?php
$link=Mysqli_connect($host,$login,$pass,$dbname);
$un = 0;
$msgerror = "Veuillez remplir tous les champs ";
if(isset($_POST["bouton10"])) {
$id = $_REQUEST["Picolo4"];
$Nom = $_REQUEST["Picolo1"];
$Prenom = $_REQUEST["Picolo2"];
$Email = $_REQUEST["Picolo3"];
if ($id !="" && $Nom !="" && $Prenom !="" && $Email !="") {
$recherche= "SELECT Ref,Question,Choix,Commentara FROM questionnaire WHERE Qref ='$id'";
mysqli_query($link,$recherche);
$result= mysqli_query($link,$recherche);
$num_results = $result->num_rows;
while ($row = mysqli_fetch_assoc($result)) {
$Ref =$row["Ref"];
$Question =$row["Question"];
$un++;
echo" <tr bgcolor=\"white\">
<td>$Question position: $un </td>
<td>
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"3\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"2\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"1\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"0\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"0\">
</td>
<td width = \"60\"> <textarea> </textarea> </td>
</tr>
</div>
</div>";
}
} else {
echo "<script type='text/javascript'>alert('$msgerror')</script>";
}
}
//The part with the problem //
$un = 1;
if (isset($_POST["bouton11"])) {
$i= 0 ;
while(isset($_POST[$un])) {
//Line 71 //
$choix = $_POST["$un"][$i];
$enregistrer = "INSERT INTO questionnaire(Choix) VALUES('$choix') ";
$un++;
$i++;
mysqli_query($link, $enregistrer);
}
}
?>
Es ist am wahrscheinlichsten, weil der '$ _REQUEST [x]' Wert nicht existiert, versuchen Sie etwas wie '$ id =! Leer ($ _ REQUEST [" Picolo4 "])? $ _REQUEST ["Picolo4"]: ""; '** ABER ** bitte bereinigen Sie Ihre Eingaben und verwenden Sie vorbereitete Anweisungen. Ihr Code ist sehr anfällig für SQL-Injektionen. – Peon
Erhalten Sie immer noch den gleichen Fehler –
Was ist der vollständige Fehler? Es sollte Ihnen zeigen, welche Zeile das betrifft, also können Sie überprüfen, welchen Index Sie lesen möchten, der noch nicht da ist. Dh, '$ choix = $ _POST [" $ un "] [$ i]' sieht auch verdächtig – Peon