[RESOLU] L4adresse courriel de l'utilisateur ne s'inscrit pas dans l'une des tables MySQL

Eléphanteau du PHP | 25 Messages

09 nov. 2021, 00:24

Bonsoir,

voici la section du code PHP qui pose problème :
  if($sn == 1)
      {
        $q=mysqli_query($con,"INSERT INTO history VALUES('$email','$eid' ,'0','0','0','0',NOW())")or die('Error');
      }
      $q=mysqli_query($con,"SELECT * FROM history WHERE eid='$eid' AND email='$email' ")or die('Error115');
      while($row=mysqli_fetch_array($q) )
      {
        $s=$row['score'];
        $r=$row['sahi'];
      }
      $r++;
      $s=$s+$sahi;
      $q=mysqli_query($con,"UPDATE `history` SET `score`=$s,`level`=$sn,`sahi`=$r, date= NOW()  WHERE  email = '$email' AND eid = '$eid'")or die('Error124');
    } 
Toutes les informations ($eid , $s , $r) sont inscrites par requête dans la table 'history', exception est faite de $email.
Pourtant les données de l'adresse 'email' sont établies dans le code avec ceci : $email=$row['email'];

Comment est-ce possible ?

Merci a tous ))

Mammouth du PHP | 2703 Messages

09 nov. 2021, 00:35

c'est possible si ce code :
$email=$row['email'];
n'est pas exécuté avant ce bout de code ou si $row['email'] ne contient pas l'email.

Eléphanteau du PHP | 25 Messages

09 nov. 2021, 01:34

c'est possible si ce code :
$email=$row['email'];
n'est pas exécuté avant ce bout de code ou si $row['email'] ne contient pas l'email.
Ou peut-être encore que : $email=$row['email']; n'est pas placé au bon endroit..

pourquoi la placer en tout début de page est inefficace ?
<?php
  include_once 'database.php';
  session_start();
  $email=$_SESSION['email'];
  $email=$row['email'];

Mammouth du PHP | 2703 Messages

09 nov. 2021, 13:14

$email=$_SESSION['email'];
$email=$row['email'];

que fait la première ligne ?
que fait la seconde ligne ?

Eléphanteau du PHP | 25 Messages

09 nov. 2021, 17:45

La première ligne vérifie que l'individu est connecté afin d'autoriser la publication de la page.

La seconde ligne permet de donner la valeur contenue dans le courriel de l'utilisateur dans la constante $email