2
votes

Un bouton fonctionne, l'autre bouton donne une erreur de: "Remarque: index non défini: dbconfig.php sur la ligne 6"

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>


4 commentaires

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 instructions if distinctes, soit utiliser else 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


3 Réponses :


1
votes

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


0 commentaires

2
votes

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'])) {
...
}


1 commentaires

Mais cela ne l'aiderait pas. Il a une erreur sur la ligne 6, avant si



1
votes

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


0 commentaires