Erreur page d'inscription

Résolu/Fermé
Messages postés
240
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
23 mai 2021
-
Messages postés
240
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
23 mai 2021
-
Bonjour,

Je souhaite terminer une page d'inscription, mais je rencontre toujours le même problème, à savoir :

Erreur actuelle :
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\mon-site\inscription.php on line 109


Voici la totalité du code de la page :
<?php
session_start();
$BDD = mysql_connect("localhost","root","");
mysql_select_db("site");
?>
<?php
// On met les variables utilisé dans le code PHP à FALSE (C'est-à-dire les désactiver pour le moment).
$error = FALSE;
$registerOK = FALSE;
    // On regarde si l'utilisateur est bien passé par le module d'inscription
    if(isset($_POST["register"])){       
        // On regarde si tout les champs sont remplis, sinon, on affiche un message à l'utilisateur.
        if($_POST["login"] == NULL OR $_POST["passwd"] == NULL OR $_POST["passwd2"] == NULL OR $_POST["mail"] == NULL OR $_POST["reponse"] == NULL OR $_POST["reglement"] == NULL){           
            // On met la variable $error à TRUE pour que par la suite le navigateur sache qu'il y'a une erreur à afficher.
            $error = TRUE;           
            // On écrit le message à afficher :
            $errorMSG = "Tout les champs doivent être remplis !";               
        }       
        // Sinon, si les deux mots de passes correspondent :
        elseif($_POST["passwd"] == $_POST["passwd2"]){           
            // On regarde si le mot de passe et le nom de compte sont différent
            if($_POST["login"] != $_POST["passwd"]){               
                // Si c'est bon on regarde dans la base de donnée si le nom de compte est déjà utilisé :
                $sql = "SELECT login FROM users WHERE login = '".$_POST["login"]."' ";
                $sql = mysql_query($sql);
            // On compte combien de valeur à pour nom de compte celui tapé par l'utilisateur.
            $sql = mysql_num_rows($sql);           
              // Si $sql est égal à 0 (c'est-à-dire qu'il n'y a pas de nom de compte avec la valeur tapé par l'utilisateur
              if($sql == 0){             
                  // Si tout va bien on regarde si le mot de passe n'exède pas 20 caractères.
                  if(strlen($_POST["passwd"] < 20)){                 
                    // Si tout va bien on regarde si le nom de compte n'exède pas 20 caractères.
                    if(strlen($_POST["login"] < 20)){                   
                        // Si le nom de compte et le mot de passe sont différent :
                        if($_POST["login"] != $_POST["passwd"]){                   
                          // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                          $date = date("d/m/Y");
                          $time = time("H:m:s");
                          $sql = "INSERT INTO membre (login, passwd, mail, date, time, q_secret, r_secret, reglement)
                          VALUES ('".$_POST['login']."', '".$_POST['passwd']."', '".$_POST['mail']."', '$date', '$time', '".$_POST['question']."', '".$_POST['reponse']."', '".$_POST['reglement']."')";
                          $sql = mysql_query($sql);                         
                          // Si la requête s'est bien effectué :
                          if($sql){                         
                              // On met la variable $registerOK à TRUE pour que l'inscription soit finalisé
                              $registerOK = TRUE;
                              // On l'affiche un message pour le dire que l'inscription c'est bien déroulé :
                              $registerMSG = "Inscription réussie ! Vous êtes maintenant membre du site.";                             
                              // On le met des variables de session pour stocker le nom de compte et le mot de passe :
                              $_SESSION["login"] = $_POST["login"];
                              $_SESSION["passwd"] = $_POST["passwd"];                             
                              // Comme un utilisateur est différent, on crée des variables de sessions pour "varier" l'utilisateur comme ceci :
                              // echo $_SESSION["login"]; (bien entendu avec les balises PHP, sinons cela ne marchera pas.                         
                          }                         
                          // Sinon on l'affiche un message d'erreur (généralement pour vous quand vous testez vos scripts PHP)
                          else{                         
                              $error = TRUE;                             
                              $errorMSG = "Erreur dans la requête SQL<br/>".$sql."<br/>";                         
                          }                       
                        }                       
                        // Sinon on fais savoir à l'utilisateur qu'il a mis un nom de compte trop long.
                        else{                       
                          $error = TRUE;                         
                          $errorMSG = "Votre nom compte ne doit pas dépasser <strong>20 caractères</strong> !";                         
                          $login = NULL;                         
                          $passwd = $_POST["passwd"];                       
                        }                   
                    }                 
                  }                 
                  // Si le mot de passe dépasse 60 caractères on le fait savoir
                  else{                 
                    $error = TRUE;                   
                    $errorMSG = "Votre mot de passe ne doit pas dépasser <strong>20 caractères</strong> !";                   
                    $login = $_POST["login"];                   
                    $passwd = NULL;                 
                  }             
              }             
              // Sinon on affiche un message d'erreur lui disant que ce nom de compte est déjà utilisé.
              else{             
                  $error = TRUE;                 
                  $errorMSG = "Le nom de compte <strong>".$_POST["login"]."</strong> est déjà utilisé !";                 
                  $login = NULL;                 
                  $passwd = $_POST["passwd"];             
              }
            }           
            // Sinon on fais savoir à l'utilisateur qu'il doit changer le mot de passe ou le nom de compte
            else{               
                $error = TRUE;               
                $errorMSG = "Le nom de compte et le mot de passe doivent êtres différents !";               
            }           
        }     
      // Sinon si les deux mots de passes sont différents :     
      elseif($_POST["passwd"] != $_POST["passwd2"]){     
        $error = TRUE;       
        $errorMSG = "Les deux mots de passes sont différents !";       
        $login = $_POST["login"];       
        $passwd = NULL;     
      }     
      // Sinon si le nom de compte et le mot de passe ont la même valeur :
      elseif($_POST["login"] == $_POST["passwd"]){     
        $error = TRUE;       
        $errorMSG = "Le nom de compte et le mot de passe doivent être différents !";     
      }       
    }
?>
<?php
  mysql_close($BDD);
?>
<?php // On affiche les erreurs :
  if($error != FALSE){ echo "<p align="center" style="color:red;">".$errorMSG."</p>"; }
?>
<?php // Si l'inscription s'est bien déroulée on affiche le succès :
  if($registerOK != FALSE){ echo "<font align="center" style="color:'#009900';"><strong>".$registerMSG."</strong></font>"; }
?>
<html>
  <head>
    <title>Formulaire d'inscription</title>
  </head>   
  <body>   
    <table name="contenu" width="90%" align="center">
      <tr>
        <th class="hleft" width="4"></th>
        <th class="hmiddle">Inscription</th>
        <th class="hright" width="4"></th>
      </tr>
      <tr>
        <td class="contenu" colspan="3"  width="1"><hr></td>
      </tr>
      <tr>
        <td class="contenu" colspan="3" align="center">
          <form action="inscription.php" method="POST">
            <table border="1" valign="top">
              <tr>
                <td>Choisissez votre nom de compte<br /><i>Le login sera utilisé pour vous connecter</i></td>
                <td><input name="login" value="" type="text" /></td>
              </tr>
              <tr>
                <td>Mot de passe<br /><i>Le mot de passe doit contenir :<br />
                  Minimum 6 caractéres<br />Chiffres et lettres</i></td>
                <td><input name="passwd" value="" type="password" /></td>
              </tr>
              <tr>
                <td>Confirmez votre mot de passe</td>
                <td><input name="passwd2" value="" type="password" /></td>
              </tr>
              <tr>
                <td>Votre adresse mail<br />
                  <i>Cette adresse sera utilisé pour confirmer votre inscription et<br />
                  pour vous envoyer un nouveau mot de passe</i></td>
                <td><input name="mail" value="" type="text"/></td>
              </tr>
              <tr>
                <td>Question secrette<br />
                  <i>La question secrette vous sera posé pour retrouver votre mot de passe et<br />
                  pour modifier des informations de votre compte</i></td>
                <td><select name="question">
                <option>Comment ai-je connu ce site ?
                <option>Quel est le prénom de mon chien ?
                <option>Quel est la capacité maximal de mon disque dur ?
                <option>Quel est mon plat favori ?</select></td>
              </tr>
              <tr>
                <td>Réponse secrette<br />
                  <i>La réponse secrette vous sera demandé pour retrouver votre mot de passe et<br />
                  pour modifier des informations de votre compte</i></td><td><input name="reponse" value="" type="text" /></td>
              </tr>
              <tr>
                <td colspan="2">Je confirme avoir pris connaissance du <a href="reglement.php">règlement du site</a> et l'accepter dans son intégralité : <input name="reglement" type="radio" value="oui"/></td>
              </tr>
            </table>
            <input type="submit" name="Valider" />
          </form>
        </td>
      </tr>
    </table>
  </body>
</html>


Selon vous, quel est la cause du message d'erreur ? J'ai beau faire des recherche sur le net, j'ai toujours ce message qui vient.

Comment le message est-il apparu ?
Depuis ma page "index.php", j'ai cliqué sur le lien "inscription" qui me renvoi directement sur la page d'inscription (qui est la page que vous voyez).

Code de la ligne qui poserai problème :
<?php // On affiche les erreurs :
  if($error != FALSE){ echo "<p align="center" style="color:red;">".$errorMSG."</p>"; }
?>



Merci d'avance.

2 réponses


c'est une histoire de guillemets
essaie comme ca

if($error != FALSE){ echo "<p align= \"center\" style=\"color:red;\">".$errorMSG."</p>"; }

idem pour la ligne 114
Messages postés
240
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
23 mai 2021
2
Impeccable, merci :D
Messages postés
6792
Date d'inscription
vendredi 15 janvier 2010
Statut
Membre
Dernière intervention
25 janvier 2022
1 655
slt

ligne 109 erreur de quote

remplace par 109 et 111 ces lignes:

if($error != FALSE) { echo "<p align='center' style='color:red;'>".$errorMSG."</p>"; }?>

if($registerOK != FALSE){ echo "<font align='center' style='color:'#009900';'><strong>".$registerMSG."</strong></font>"; }

je n'ai pas vérifier ton code htm de tes echo, mais ils ne me semble pas correct !