PHP - parser error dans une boucle if ...

Fermé
David - 10 juin 2007 à 04:19
_Syl_ Messages postés 40 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 - 10 juin 2007 à 18:57
Bonsoir à tous,

Cela fait un petit moment que je travail sur un formulaire, et en recupérant les données de celui-ci, ma page d'éxécution de code php m'affiche une parse error, unexpected "{" ... Voici la partie (en gras le "{" cité à cette ligne précise):

-----------------------------

<?php

if ( !empty($_POST['nom']) and !empty($_POST['prenom']) and !empty($_POST['adresse_livraison']) and !empty($_POST['adresse_email']) ) { // si les champs sont remplis

if ( ($_POST['pack']) == Pack_1 ) {
mes conditions...
}

elseif ( ($_POST['pack']) == Pack_2 ) {
mes conditions...
}
else ( ($_POST['pack']) == Pack_3 ) {

mes conditions...
}
}
else {
echo '<h4>Attention !</h4>';
echo '<p>Vous devez remplir tous les champs correctement si vous voulez que votre commande soit prise en compte</p><br/><br/><p align="center"><a href="commande.html">Retour à la commande</a></p>';}

?>

-----------------------------

Je ne comprends pas ...
A voir également:

5 réponses

_Syl_ Messages postés 40 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 6
10 juin 2007 à 04:33
Il se peut que l'erreur soit du à une accolade en trop ou en moins, plus en avant dans ce code.

au passage, les parenthèses autour des variables $post ne servent pas à grand chose ;-) (à part dans le empty())
0
C'est ma seule page en php, et le seul code php de ma page tout le reste est du html.
Après vérification entiere de ma page, toutes les accolades sont en couple, aucune n'est en trop ou en moins ....
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 330
10 juin 2007 à 13:54
alors il doit manquer un ; quelque part ;-)
0
Utilisateur anonyme
10 juin 2007 à 14:05
bonjour
je trouve(c'est mon avis c'est pas pour etre désagréable) que tu organise pas très bien ton code... il serait plus facile de s'y retrouver si tu organisait ton code de cette maniere (ce n'est pas obligatoire, masi j'ai appris avec l'expérience que ca faisait ganger beaucoup de temps, notamment pour le debogage)

<?php
if ( !empty($_POST['nom']) and !empty($_POST['prenom']) and !empty($_POST['adresse_livraison']) and !empty($_POST['adresse_email']) ) // si les champs sont remplis
{ 
     if ( ($_POST['pack']) == Pack_1 ) 
     {
          //mes conditions...
     }
     elseif ( ($_POST['pack']) == Pack_2 ) 
     {
          //mes conditions...
     }
     else ( ($_POST['pack']) == Pack_3 ) 
     {
          //mes conditions...
     }
}
else 
{
     echo '<h4>Attention !</h4>';
     echo '<p>Vous devez remplir tous les champs correctement si vous voulez que votre commande soit prise en compte</p><br/><br/><p align="center"><a href="commande.html">Retour à la commande</a></p>';
}

?> 



donc maintenant pour ton probleme : il nous faudrait le code en entier car si ca trouve ton probleme se trouve dans "mes conditions"

sinon qu'est ce que 'Pack_1' une constante ? un objet ? si c'est du texte tu doit le mettre entre guillements ou quotes ( " ou ' )

sinon essaye de remplacer !empty() par isset()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
_Syl_ Messages postés 40 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 6
10 juin 2007 à 18:57
Je suis totalement de l'avis du lapin tueur. ça ne c'est jamais vu qu'une parse error ait faux. Si ce n'est pas secret défense, le code entier de votre page nous aiderait à trouver l'erreur.
0