[RESOLU] Parse error: syntax error, unexpected end of file

guir17
Invité n'ayant pas de compte PHPfrance

18 oct. 2014, 13:58

Bonjour
Quand je vais vais sur site il y a écrit : (!)Parse error: syntax error, unexpected end of file.

J'aimerais trouvé l'erreur car j'ai déjà revérifié mon code plusieurs fois.
<form action="accueil(co).php" method="post">
       
            <table>
           
            <tr>
           
            <td><label for="login"><strong>Pseudo:</strong></label></td>
            <td><input type="text" name="login" id="login"/></td>
           
            </tr>
           
            <tr>
           
            <td><label for="pass"><strong>Mot de passe :</strong></label></td>
            <td><input type="password" name="pass" id="pass"/></td>
           
            </tr>
           
            <tr>
           
            <td><label for="pass2"><strong>Confirmez le mot de passe :</strong></label></td>
            <td><input type="password" name="pass2" id="pass2"/></td>
           
            </table>
       
        <input type="submit" name="register" value="S'inscrire"/>
       <?php
if($_POST["pass"] == $_POST["pass2"]){

// On met les instructions à faire.

}

else{

// On met les instructions à faire.

}?>


<?php

session_start();

$BDD = mysql_connect("localhost","root","");
mysql_select_db("database");

 ?>

<?php


$error = TRUE;
$registerOK = TRUE;

    // 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["pass"] == NULL OR $_POST["pass2"] == 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["pass"] == $_POST["pass2"]){
           
            // On regarde si le mot de passe et le nom de compte n'est pas le même
            if($_POST["login"] != $_POST["pass"]){
               
                // 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 60 caractères.
                  if(strlen($_POST["pass"] < 60)){
                 
                    // Si tout va bien on regarde si le nom de compte n'exède pas 60 caractères.
                    if(strlen($_POST["login"] < 60)){
                   
                        // Si le nom de compte et le mot de passe sont différent :
                        if($_POST["login"] != $_POST["pass"]){
                   
                          // Si tout ce passe correctement, on peut maintenant l'inscrire dans la base de données :
                          $sql = "INSERT INTO users (login,pass) VALUES ('".$_POST["login"]."','".$_POST["pass"]."')";
                          $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["pass"] = $_POST["pass"];
                             
                              // 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 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>60 caractères</strong> !";
                         
                          $login = NULL;
                         
                          $pass = $_POST["pass"];
                       
                        }
                   
                    
                 
                  }
                 
                  // 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>60 caractères</strong> !";
                   
                    $login = $_POST["login"];
                   
                    $pass = 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;
                 
                  $pass = $_POST["pass"];
             
              }
            }
           
            // 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["pass"] != $_POST["pass2"]){
     
        $error = TRUE;
       
        $errorMSG = "Les deux mots de passes sont différents !";
       
        $login = $_POST["login"];
       
        $pass = NULL;
     
      }
     
      // Sinon si le nom de compte et le mot de passe ont la même valeur :
      elseif($_POST["login"] == $_POST["pass"]){
     
        $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 == TRUE){ 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 == TRUE){ echo "<p align='center' style='color:green;'><strong>".$registerMSG."</strong></p>"; }
?>
   </form>

Mammouth du PHP | 790 Messages

18 oct. 2014, 14:09

Salut,
if (isset($_POST["register"])) {
et
elseif ($_POST["pass"] == $_POST["pass2"])
semblent ne pas être fermé avec }
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

guir17
Invité n'ayant pas de compte PHPfrance

18 oct. 2014, 18:50

C'était ça !Merci

Mammouth du PHP | 790 Messages

18 oct. 2014, 19:06

Cool, n'oublis pas de passer en résolu...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

vdrouet
Invité n'ayant pas de compte PHPfrance

03 avr. 2015, 10:02

J'ai le message Parse error: syntax error, unexpected end of file mais après avoir relus plusieurs fois mon code je ne trouve pas d'erreurs
<?php

include ("prologue.php");

// FONCTIONS DE CONNEXION

function connect()
{
$hote="localhost";
$login="massimo";
$mdp="massimo";
return mysql_connect($hote, $login, $mdp);
}

function selectBase($connexion)
{
$bd="magasins-massimo";
$query="SET CHARACTER SET utf8";
// Modification du jeu de caractères de la connexion
$res=mysql_query($query, $connexion);
$ok=mysql_select_db($bd, $connexion);
return $ok;
}

//CONNEXION AU SERVEUR MYSQL PUIS SÉLECTION DE LA BASE DE DONNÉES magasins_massimo

$connexion=connect();
if (!$connexion)
{
ajouterErreur("Echec de la connexion au serveur MySql");
afficherErreurs();
exit();
}
if (!selectBase($connexion))
{
ajouterErreur("La base de données magasins_massimo est inexistante ou non accessible");
afficherErreurs();
exit();

// FONCTIONS DE GESTION DES PAYS

function obtenirReqPays()
{
$req="select id, nom_fr_fr from pays order by id";
return $req;
}

// Fonctions de gestions des villes

function obtenirReqVille()
{
$req="select id, nom from ville order by id";
return $req;
}

// FONCTIONS DE GESTION DES MAGASINS

function obtenirReqMagasin()
{
$req="select * from magasin order by id";
return $req;
}
echo '<form action="script.php" method post">';
echo "<p />Selectionner le pays ou votre magasin se situe<p />";
echo '<select name="pays" size="5">';
$resultat = mysql_query($req,$connexion);
{
echo "<option value=\"".$pays["nom_fr_fr"]."\"";
echo ">".$pays['nom_fr_fr']."</option>\n";
}
echo "<p />Selectionner la ville ou votre magasin se situe<p />";
echo '<select name="ville" size="5">';
$resultat = mysql_query($req,$connexion);
echo "<p />Selectionner le magasin de votre choix <p />";
echo '<select name="magasin" size="5">';
$resultat = mysql_query($req,$connexion);
?>

Petit nouveau ! | 1 Messages

03 avr. 2015, 11:10

Il y a une accolade ouvrante en trop juste avant la ligne :

Code : Tout sélectionner

echo "<option value=\"".$pays["nom_fr_fr"]."\"";
Ligne 69 chez moi ...

Bye