Probeme $_SESSION['login']

Résolu/Fermé
axteure Messages postés 61 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 9 janvier 2017 - 19 avril 2013 à 11:04
axteure Messages postés 61 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 9 janvier 2017 - 19 avril 2013 à 12:21
Bonjour,
Je bloque sur un truc qui consiste a envoyé des données a une table.
L'utilisateur se connecte, il est donc enregistrer sous $_SESSION['login']. Il envoi ensuite une réponse un a jeu à partir d'un champs.

voici le code php:
if (!isset($_SESSION['login'])) { 
  header ('Location: index.php'); 
  exit();  
}  
// on teste si le visiteur a soumis le formulaire
if (isset($_POST['valider']) && $_POST['valider'] == 'Valider') { 
// on teste l'existence de nos variables. On teste également si elles ne sont pas vides
  if ((isset($_POST['reponse']) && !empty($_POST['reponse']))) {  
        $base = mysql_connect ('xxxx', 'xxxx', 'xxxx'); 
      mysql_select_db ('xxxx', $base); 
      
      // on recherche si le membre a déja joué
        $sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_SESSION['login']).'"'; 
        $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); 
        $data = mysql_fetch_array($req); 
       
       if ($data[0] == 0) { 
            $sql= '"INSERT INTO jeu1 ('login','reponse') VALUES('"".$_SESSION['login'].""','$_POST['reponse']')"';  
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 

            } 
        else { 
            $erreur = 'Vous avez déja joué.'; 
         }
      
      }
   }     
  else { 
      $erreur = 'Au moins un des champs est vide.'; 


et le code html:
<form action="membre.php" method="post">
Réponse : <input type="text" name="reponse"</div>
<input type="submit" name="valider" value="Valider">
</form>

J'ai toujours une page blanche avec une erreur:
Parse error: syntax error, unexpected T_STRING in /home/u302086084/public_html/membre.php on line 20

La ligne 20 correspond à $sql= '"INSERT INTO jeu1 ('login','reponse') VALUES('"".$_SESSION['login'].""','$_POST['reponse']')"';

Merci d'avance de votre aide !

2 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 avril 2013 à 11:08
Salut,

tu te mélanges les pinceaux avec les quotes simples et les doubles quotes.

comme ça, ça sera mieux :
$sql= "INSERT INTO jeu1 (login,reponse) VALUES('$_SESSION[login]','$_POST[reponse]')";  
1
axteure Messages postés 61 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 9 janvier 2017 3
19 avril 2013 à 11:18
Merci de ta réponse aussi rapide sa marche, sa affiche la page. Mais la j'comprend pas il n'y a rien qui s'affiche dans la table de la bdd "jeu1".
ps: j'ai bien remplacer les xxxx pour la co a la bdd par le login pass ect...
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 avril 2013 à 11:21
Fais un echo de ta requête, tu peux essayer de l'exécuter dans phpmyadmin pour voir ce que ça donne.
0
axteure Messages postés 61 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 9 janvier 2017 3
19 avril 2013 à 11:30
quand j'met $sql= "INSERT INTO jeu1 (login,reponse) VALUES('$_SESSION[login]','$_POST[reponse]')";
dans sql dans la table de la bdd
sa m'affiche $_SESSION[login] dans login et $_POST[reponse]' dans reponse
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 avril 2013 à 11:35
?

rajoute un echo devant $sql = .....

dans ta page, ça va t'afficher ta requête, tu la récupères et tu la colles dans phpmyadmin pour voir ce que ça fait.
0
axteure Messages postés 61 Date d'inscription samedi 15 août 2009 Statut Membre Dernière intervention 9 janvier 2017 3
19 avril 2013 à 11:40
jcomprend pas :s (dsl jsuis pas trop bon en php)
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
19 avril 2013 à 11:42
la ligne :

$sql= "INSERT INTO jeu1 (login,reponse) VALUES('$_SESSION[login]','$_POST[reponse]')";  


tu fais :

echo $sql= "INSERT INTO jeu1 (login,reponse) VALUES('$_SESSION[login]','$_POST[reponse]')";  


dans ta page, ça t'affichera ta requête, déjà, affiche là ici, peut être que je verrai le soucis directement.

Tu as accès à phpmyadmin ?
Si c'est le cas, tu exécutes la requête et tu vois ce que ça donne.
0