Les cotes ' ' pour les variables php

Bonjour,

quand je met '$variable' ou $variable sans cotes

1 réponse

  1. Bonjour,

    Peut tu spécifier ta réponse? Nous donner l'erreur dans ton code, ou la partie du code que tu essaye de faire.
    1. vici tout mon code:
      if(isset($_POST["pointer"])){
      $num=$_session["login"];

      $date_now=date("Y-m-d H:i:s");
      $ip=getenv("REMOTE_ADDR");
      $requete0="SELECT * FROM ptg_admin WHERE employe_adm ='$num';";
      $result=mysql_query($requete0)or die("erreur1:" . mysql_error());
      $rows_num=mysql_num_rows($result);
      if($num_rows!=0){
      $creat_by="admin";

      $requete="INSERT INTO ptg_pointage('num_ptg', 'date_ptg', 'ip_pc_ptg', 'create_by', 'emp_ptg') VALUES ('','$date_now','$ip','$creat_by',$num);";

      $resultat=mysql_query($requete)or die("erreur2:" . mysql_error());
      echo"<script language=javascript >alert('Pointage réussie.')</script>";
      echo"<script language=javascript>document.location.href = 'pointage_emp.php'</script>";
      }
      else{
      $creat_by="systeme";
      $requete="INSERT INTO ptg_pointage(num_ptg, date_ptg, ip_pc_ptg, create_by, emp_ptg) VALUES ('','$date_now','$ip','$creat_by','$num');";
      $resultat=mysql_query($requete)or die("erreur3:" . mysql_error());
      echo"<script language=javascript >alert('Pointage réussie.')</script>";
      echo"<script language=javascript>document.location.href = 'pointage_emp.php'</script>";
      }}

      les variables de la table: date_ptg est datetime, ip_pc_ptg et create_by sont des chaines et emp_ptg et num_ptg sont des numeros.
      apres l'execution elle m'affiche dans la table toujours la valeur systeme dan sle champ create_by et 0 dans emp_ptg
    2. daccord, je vois tes erreurs:

      il faut concaténer tes variable dans les chaines comme suis:

      sur ta requête
      $requete0="SELECT * FROM ptg_admin WHERE employe_adm ='$num';"; 


      imaginons que
      $num = 51

      si tu veut que ta requete soit
      $requete0="SELECT * FROM ptg_admin WHERE employe_adm ='51';"; 

      il te faudra ecrire
      $requete0="SELECT * FROM ptg_admin WHERE employe_adm ='".$num."';"; 


      et si tu veut que ta requete soit
      $requete0="SELECT * FROM ptg_admin WHERE employe_adm =51;"; 

      tu devra ecrire

      $requete0="SELECT * FROM ptg_admin WHERE employe_adm =".$num.";"; 


      en gros '".$variable."' pour affiche le contenu de la variable entre '
      et ".$variable." pour afficher le résultat de la variable tel quel.
    3. le probleme n'est pas encore résolu
      s'insere encore la valeur 'systeme' dans le champ create_by et '0' dans emp_ptg malgrés que je suis admin et de numero employé(emp_ptg) 1234 different de num admin qui est 123
      nb:la table de l'admin(ptg_admin) a les chanps num_adm, mot_de_passe et num_emp
    4. post moi ton code avec les changement effectué