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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Parse error: syntax error, unexpected end of file

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

par 0vordhosbn00 » 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

Re: Parse error: syntax error, unexpected end of file

par vdrouet » 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);
?>

Re: Parse error: syntax error, unexpected end of file

par juliette » 18 oct. 2014, 19:06

Cool, n'oublis pas de passer en résolu...

Re: Parse error: syntax error, unexpected end of file

par guir17 » 18 oct. 2014, 18:50

C'était ça !Merci

Re: Parse error: syntax error, unexpected end of file

par juliette » 18 oct. 2014, 14:09

Salut,
if (isset($_POST["register"])) {
et
elseif ($_POST["pass"] == $_POST["pass2"])
semblent ne pas être fermé avec }

Parse error: syntax error, unexpected end of file

par guir17 » 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>