J'ai une page qui a deux boutons "Oui" et "Non". Lorsque je clique sur le bouton «oui», tout fonctionne correctement, mais lorsque je clique sur le bouton «Non», j'obtiens l'erreur.
Cependant, la base de données est toujours mise à jour lorsque j'obtiens cette erreur, mais ce que je veux, c'est qu'elle recule de deux pages, de la même manière que le bouton "Oui" dans le code ci-dessous.
edit.php
<?php
$con=mysqli_connect("localhost","root","","billy") or die ("Database
not selected");
$studentId=$_POST['studentId'];
$attended=$_POST['attended'];
$createdAt=$_POST['createdAt'];
if(isset($_POST['attended']))
{
$query=mysqli_query($con,"insert into attendance (studentId, attended,
createdAt) values ('$studentId','$attended','$createdAt')") or die
("Error");
echo '<script type="text/javascript">'
, 'history.go(-2);'
, '</script>';
}
else (isset($POST['attended2']))
{
$query=mysqli_query($con,"DELETE FROM attendance WHERE
studentId='$studentId' AND createdAt='$createdAt'") or die ("Error")
}
?>
dbconfig.php
<form action="dbconfig.php" method="post">
<select name="studentId" id="" class="form-control">
<option value="">Select Student</option>
<option value="35290">student1</option>
<option value="35316">student2</option>
<option value="35294">student3</option>
<option value="35377">student4</option>
</select>
<select name="createdAt" id="" class="form-control">
<option value="">Select Time</option>
<option value="2019-04-02 11:00:00">11:00</option>
<option value="2019-04-02 12:00:00">12:00</option>
<option value="2019-04-02 13:00:00">13:00</option>
<option value="2019-04-02 15:00:00">15:00</option>
</select>
<p>
Did the student attend class?
<button name="attended" type="submit" value="1" >Yes</button>
<button name="attended2" type="submit" value="0" >No</button>
3 Réponses :
Déplacez simplement votre code de la ligne 6 ( $ viewed = $ _ POST ['viewed']; ) dans la casse vraie de votre condition If if (isset ($ _ POST ['viewed' ' ])) et utilisez elseif de simple else
Vous n'avez pas besoin de la condition if-else, utilisez simplement la condition IF pour chaque bouton. Exemple,
if(isset($_POST['attended'])) {
....
}
if(isset($_POST['attended2'])) {
...
}
Mais cela ne l'aiderait pas. Il a une erreur sur la ligne 6, avant si
Je pense que dans le bouton "OUI" et le bouton "Non", cliquer sur cocher n'est pas correct, vous utilisez
if(isset($_POST['attended'])){
$query=mysqli_query($con,"insert into attendance (studentId, attended,
createdAt) values ('$studentId','$attended','$createdAt')") or die
("Error");
echo '<script type="text/javascript">'
, 'history.go(-2);'
, '</script>';}
if (isset($POST['attended2']))
{
$query=mysqli_query($con,"DELETE FROM attendance WHERE
studentId='$studentId' AND createdAt='$createdAt'") or die ("Error")
}
ESSAYEZ CELUI-CI
XXX
vous essayez d'obtenir $ _POST avec $ viewed = $ _ POST ['participe'] ;, mais lorsque vous cliquez sur NON, aucun 'assisté' n'est fourni dans $ _POST. Déplacez la ligne 6 ($ viewed = $ _ POST ['viewed'];) dans la casse vraie de votre if
else (isset ($ POST ['viewed2']))ce n'est pas valide je suppose. Soit vous devez créer deux instructionsifdistinctes, soit utiliserelse if ().Possible duplication de Comment puis-je empêcher l'injection SQL en PHP?
utiliser else if. lorsque vous ajoutez la condition if, l'instruction else ne fonctionne pas avec la condition your if. autrement dit, ne vérifie plus aucune condition. vous devez le remplacer par else si