IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Parse error: parse error on line 72


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut Parse error: parse error on line 72
    Bonjour,

    quelqun peut me dire où est l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    if    ((empty($_POST['nom'])|| empty($_POST['prénom']) || empty($_POST['email'])|| 
     
     empty($_POST['login']) || empty($_POST['passwd']) || empty($_POST['passwd2'])||empty($_POST['division']))
     
    {                                 ------------------------- ---------> ligne  72 
     
    $verif=false;
    echo "Vous devez saisir tous les champs obligatoires ?";
     
    }

    merci d'avance pour ceux qui prondront le temps de lire mon message

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as une parenthese en trop :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (empty($_POST['nom'])
    Je te conseille d'utiliser des outils qui traitent la syntaxe.
    Par exemple notepad++ t'indique les correspondances de debut et fin de parenthese.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    merci sabotage pour ta réponse

    en effet, c'est une parenthèse en plus et je l'ai supprimé mais le problème persisite , je crois que je vais mettre toute la page pour y voir un peu plus clair

    j'utilise macromedia

    les erreurs affichées sont :

    Notice: Undefined index: fax on line 36

    Notice: Undefined index: adresse on line 39

    Notice: Undefined index: profession on line 45

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
    <?php
     
    session_start();// Inclut le fichier de fonctions pour cette application.
    include_once('fonctions.php'); ?>
    <?php
     
    // création des variables aux noms abrégés
     
    if(isset($_POST['nom']))                $nom     = $_POST[ 'nom'  ];
    else      $nom="";
     
    if(isset($_POST['prénom']))             $prénom  = $_POST['prénom'] ;
    else      $prénom="";
     
    if(isset($_POST['email']))               $email  = $_POST['email'] ;
    else      $email="";
     
    if(isset($_POST['login']))              $login   = $_POST[ 'login'] ;
    else      $login="";
     
    if(isset($_POST['passwd']))             $passwd  = $_POST['passwd'] ;
    else      $passwd="";
     
    if(isset($_POST['passwd2']))            $passwd2  = $_POST['passwd2'] ;
    else      $passwd2="";
     
    if(isset($_POST['num_téléphone']))      $num_téléphone = $_POST['num_téléphone'] ;
    else      $num_téléphone="";
     
    if(isset($_POST['num_portable']))       $num_portable  = $_POST['num_portable'] ;
    else      $num_portable="";
     
    if(isset($_POST['poste_interne ']))     $poste_interne  = $_POST['poste_interne '] ;
    else      $poste_interne ="";
     
    if(isset($_POST['fax']))                $fax  = $_POST['fax '] ; ----------> ligne 36 
    else      $fax ="";
     
    if(isset($_POST['adresse']))            $adresse  = $_POST['adresse '] ; ---------> ligne 39 
    else      $adresse ="";
     
    if(isset($_POST['division']))            $division= $_POST['division '] ;
    else      $division ="";
     
    if(isset($_POST['profession']))            $profession= $_POST['profession '] ; --------->ligne 45 
    else      $profession ="";
     
    if(isset($_POST['loginAttempts']))            $loginAttempts= $_POST['loginAttempts '] ;
    else      $loginAttempts ="";
     
     
    // Vérifie les formulaires remplis.
    if((isset($_POST["apply"]))||(isset($_POST["save"])))
    {  
      $verif=true;
      $result = db_connect();
    if (!$result)
       die(mysql_error());
     
         // selection de la base de données 
    $select  = mysql_select_db($dbName,$result);
       if ($select)
       die(mysql_error());
      $res=mysql_query("select * from utilisateur where username='$login'");
      $num=mysql_num_rows($res);
     
     if(empty($_POST['nom'])|| empty($_POST['prénom']) || empty($_POST['email']) || 
       empty($_POST['login']) || empty($_POST['passwd']) || empty($_POST['passwd2']) || empty($_POST['division']))
    {
    $verif=false;
    echo "Vous devez saisir tous les champs obligatoires ?";
     
    }
      if (!ereg ("[a-zA-Z]", $nom, $regs) or ereg ("[0-9]", $nom, $regs))
     {
      $verif=false;
      echo "Format de nom invalide : $nom"; 
     }
     
      elseif (!ereg ("[a-zA-Zéè'à]", $prénom, $regs) or ereg ("[0-9]", $prénom, $regs))
     {
      $verif=false;
      echo "Format de prenom invalide : $prénom"; 
     }
     
     // L'adresse e-mail n'est pas valide.    
      elseif (!valid_email($email))
      {   
         $verif=false;
         echo ('Entrez une adresse e-mail valide!!');
      }
       elseif($num >=1) 
      {
       $verif=false;
       echo "Désolé, ce login existe déja choisir un autre login S.V.P ";
     
     }
     //Les mots de passe ne sont pas identiques.
     elseif ($passwd != $passwd2)
      {
        $verif=false;
        echo ('Les mots de passes ne correspondent pas');
      }
     
     // Vérifie si la longueur du nom d'utilisateur est ok.
     elseif (strlen($login)>16)
     { 
       $verif=false;
       echo ('Votre nom d\'utilisateur doit etre inférieur à 16 caractères');
      //exit;
     } 
     
     
    elseif (!ereg ("[0-9/-:+-]", $num_téléphone, $regs) or ereg ("[a-zA-Z]", $num_téléphone, $regs))
     {
      $verif=false;
      echo "Format de telephone invalide : $num_téléphone"; 
     }
     
     elseif (!ereg ("[0-9/-:+-]", $num_portable, $regs) or ereg ("[a-zA-Z]", $num_portable, $regs))
     {
      $verif=false;
      echo "Format de telephone invalide : $num_portable"; 
     }
     
     elseif (!ereg ("[0-9/-:+-]", $poste_interne, $regs) or ereg ("[a-zA-Z]", $poste_interne, $regs))
     {
      $verif=false;
      echo "Format de telephone invalide : $poste_interne"; 
     }
     
     elseif (!ereg ("[0-9/-:+-]", $fax, $regs) or ereg ("[a-zA-Z]", $fax, $regs))
     {
      $verif=false;
      echo "Format de fax invalide : $fax"; 
     }
     
    elseif(strlen($adresse)>255)
    {
    $verif=false;
      echo "Format d'adresse invalide : elle a dépassé 255 caractères"; 
    }
     
      //Aucun champ n'est vide, on peut enregistrer dans la table
     
    else
    {
    if($verif)
    {
           //* connexion à la base
    $result = db_connect();
    if (!$result)
       die(mysql_error());
     
         // selection de la base de données 
     
    $select  = mysql_select_db($dbName,$result);
       if (!$select)
       die(mysql_error());
     
        // on écrit la requête sql
     
        $sql = "INSERT INTO hd_utilisateur (nom, prenom,email, username, passwd,telephone,user_mobile,poste_interne,fax,adresse,division,profession) VALUES('$nom','$prénom','$email','$login','$passwd','$num_téléphone','$num_portable','$poste_interne','$fax ',  '$adresse ','$division','$profession ')";
     
     
        // on insère les informations du formulaire dans la table
     
        mysql_query($sql) or die('Impossible d\'éxécuter la requète  réessayez plus tard'); 
     
    mysql_close();
     
        // on affiche le résultat pour le visiteur
     
        echo 'Vos données ont été ajoutées.';
     
     }   } 
     
      }
     
     
    ?>
    je ne sais pas si le fait de se connecter à la base de données deux fois soit un problème !!!
    je ne sais pas où fermer la BD au niveau de la première connection !!

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Tu as un espace en trop après tes clés... ($_POST['fax '] au lieu de $_POST['fax'])

  5. #5
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    RE,
    je ne savais pas que les espaces pouvaient générer des erreurs !!
    j'ai supprimé les espaces apés les clés et maintenant rien ne s'affiche

    merci Eusebe pour ta réponse

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je dirais que ta premiere condition n'est pas remplie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_POST["apply"]))||(isset($_POST["save"])))
    fait un print_r ($_POST) pour voir ce que tu recois du formulaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    voilà le résultat :

    Array ( [save] => [nom] => [prénom] => [email] => [login] => [passwd] => [passwd2] => [num_téléphone] => [num_portable] => [poste_interne] => [fax] => [adresse] => [profession] => )

    peux tu stp m'expliquer ce que cela veut dire

    ps : je suis novice en php/mysql

    merci

    Edit :
    en fait juste une précision :

    en supprimant des parties du code , je pouvais tester les champs et ça marchais trés bien , mais en ajoutant la partie de test des champs s'il sont vides ou pas ben ça foire et aussi en ajoutant la connexion à la BD voilà si ça peut nous mener à quelque chose

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ca veut dire que tu recois bien les champs du formulaire et qu'ils sont tous vides.
    En particulier donc le champ "save".
    Le champ "apply" n'existe pas.

    C'est donc normal que ta premiere condition ne passe pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    si si le champs apply existe , voici d'ailleurs le résultat :

    Array ( [apply] => [nom] => [prénom] => [email] => [login] => [passwd] => [passwd2] => [num_téléphone] => [num_portable] => [poste_interne] => [fax] => [adresse] => [profession] => )

    je crois que je commence à comprendre :

    d'aprés ce que tu m'as expliqué : il suffit qu'un champs n'existe pas , que ma première condition ne passe pas !!

    j'ai le champs division qui n'apprait pas au niveau du tableau :son code html est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <tr>
                      <td >Division* : </td>
    				  <td>
                          <select name="division">
                             <?php
    	                          $res=mysql_query("select * from division order by division ASC");
    	                           while($data=mysql_fetch_assoc($res))
    	                             {
    	                               echo '<option value="'.$data['id_division'].'">'.$data[' division'].'</option>';
    	                             }
    	                     ?>
                           </select>    
    				  </td>
    				  </tr>
    hors je n'ai pas encore rempli ce champs mais la table existe , le formulaire ajout_division.php n'est pas encore crée !!
    est ce la source du problème ?

  10. #10
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ca veut dire que tu recois bien les champs du formulaire et qu'ils sont tous vides.
    En particulier donc le champ "save".
    Le champ "apply" n'existe pas.

    C'est donc normal que ta premiere condition ne passe pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if((isset($_POST["apply"]))||(isset($_POST["save"])))
    j'ai mis un || donc meme si l'un d'eux n'existe pas , ya pas de problème
    mais par contre un && la condition ne passerai pas , corrigez moi si je me trompe

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ta premiere condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if((isset($_POST["apply"]))||(isset($_POST["save"])))
    verifie que soit le champ "apply" soit le champ "save" est transmis.

    si ta page n'affiche rien, il faut que tu regardes a quel niveau elle bloque.
    il faut donc mettre des echo "je suis passé au point x<br />"; pour suivre le trajet du script.

    Je te conseillerais d'eviter de mettre des accents dans les noms de variable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    donc la variable division n'est pour rien ??

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Fais ce que je te propose : regarde a quel endroit ca coince et affiche les variables pour voir ce qu'elles contiennent.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    je ne pense pas que c'est un problème d'accent vue que ça a marché déjà je parle du champs prénom biensur

  15. #15
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Fais ce que je te propose : regarde a quel endroit ca coince et affiche les variables pour voir ce qu'elles contiennent.
    je vais te poser une question qui te paraitera bète , mais j'insère où :

    echo "je suis passé au point x<br />"; et le x va remplacer ma variable ou je me trompe ?

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ba tu le mets ou tu veux et x c'est que tu veux.

    s'il s'affiche c'est que ton script se deroule jusqu'a cet endroit donc on descend le controle.
    s'il ne s'affiche pas c'est le point blocant est plus haut donc on remonte le point de controle.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    voici le nouveau message d'erreur :

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 68

    Vous devez saisir tous les champs obligatoires ?Format de nom invalide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     // selection de la base de données 
    $select  = mysql_select_db($dbName,$result);
       if (!$select)   // -------> j'ai oublié le  ! avant select 
       die(mysql_error());
      $res=mysql_query("select * from utilisateur where username='$login'");
      $num=mysql_num_rows($res);  //----> ligne 68 
     
     if(empty($_POST['nom'])|| empty($_POST['prénom']) || empty($_POST['email']) || 
       empty($_POST['login']) || empty($_POST['passwd']) || empty($_POST['passwd2']) || empty($_POST['division']))
    {
    $verif=false;
    echo "Vous devez saisir tous les champs obligatoires ?";
     
    }
      if (!ereg ("[a-zA-Z]", $nom, $regs) or ereg ("[0-9]", $nom, $regs))
     {
      $verif=false;
      echo "Format de nom invalide : $nom"; 
     }
    ma BD est vide
    j'ai mis : echo "je suis passé au point x<br />"; à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(isset($_POST['division']))     
    {      echo "je suis passé au point x<br />"; 
           $division= $_POST['division '] ; } 
     
    else  $division ="";
    et c'est là que ça bloque malgrés que le code continue de s'éxécuter

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Affiche les erreurs mysql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res=mysql_query("select * from utilisateur where username='$login'") or die(mysql_error());
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Membre confirmé Avatar de batoule80
    Inscrit en
    Février 2007
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 116
    Par défaut
    en effet , je me suis trompée au niveau du nom de la table : ma table est préfixé par hd donc hd_utilisateur

    je continue avec les tests et je vous ferai part des résultats .

    merci sabotage pour les petites astuces , j'ai appris pas mal de trucs aujourd'hui

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/01/2011, 21h23
  2. Réponses: 1
    Dernier message: 12/12/2007, 14h03
  3. Réponses: 2
    Dernier message: 26/06/2007, 23h49
  4. Parse error: syntax error, unexpected '}' help
    Par beur dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2006, 21h33
  5. [Configuration] Problème après l'installation (Parse error: syntax error,..)
    Par beur dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 21/03/2006, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo