[php] Parse error: syntax error, unexpected T

Résolu/Fermé
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 - 17 juin 2006 à 15:20
 tibo - 19 mai 2014 à 15:54
Bonjour
Aujourd'hui j'arrête pas de vous embêté, mais je suis décidé pour avancer dans mon site...
Voila j'ai fais un script pour permettre au membre de retrouver son mot de passe mais j'obtient le message :
Parse error: syntax error, unexpected T_ELSE à la ligne 12 pouvez-vous m'aider ça fais plus d'une heure que je tourne mon code dans tous les sens alors que ça doit pas e^tre grand chose !
<? $pseudo=$_POST['pseudo'];?> 
<? $dbc = @mysql_connect ("localhost", "zone_zone", "***");

if(!mysql_errno($dbc)) {
 mysql_select_db("zone_bdd");
  $query = "SELECT * FROM v2 WHERE pseudo='$pseudo'";
  $result = mysql_query($query);
   if(mysql_num_rows($result)>0){

    while ($donnees = mysql_fetch_array($result) )

$pseudo_membre=$donnees['pseudo']; $passe_membre=$donnees['passe']; $to=$donnees['email'];
 { mail($to, "Zone-mobile.net : votre mot de passe", "Bonjour". 

"From:contact@zone-mobile.net\r\nReply-To:contact@zone-mobile.net"); } else { echo "Désolé, mais ce pseudo n'existe 

pas dans la base de donnée. Vérifiez que vous ne vous êtes pas trompé en le tapant.";} } } mysql_close(); ?> <html> 

<a href="http://www.zone-mobile.net/accueil.php">Revenir à l'accueil</A> </html>


merci à vous après je vous embête plus :)
A voir également:

10 réponses

Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
17 juin 2006 à 19:14
Salut !

La structure correcte pour toutes les structures PHP est (par exemple if, ou while) :
if (condition) {
	actions à exécuter
}

1) Il faut toujours utiliser les accolades, sinon on s'embrouille très vite.

2) Il ne faut, bien entendu, rien mettre entre la parenthèse fermante et l'accolade ouvrante (c'est de là que vient ton erreur).

3) Il faut respecter l'indentation et la mise en page ci-dessus (c'est vivement recommandé), sinon, risque de s'embrouiller aussi (ou une variante, avec l'accolade à la ligne).

4) J'ai donc mis en gras le passage fautif, qu'il faut supprimer.

<? $pseudo=$_POST['pseudo'];?> 
<? $dbc = @mysql_connect ("localhost", "zone_zone", "***");

if(!mysql_errno($dbc)) {
 mysql_select_db("zone_bdd");
  $query = "SELECT * FROM v2 WHERE pseudo='$pseudo'";
  $result = mysql_query($query);
   if(mysql_num_rows($result)>0){

    while ($donnees = mysql_fetch_array($result) )
$pseudo_membre=$donnees['pseudo']; $passe_membre=$donnees['passe']; $to=$donnees['email'];
 { mail($to, "Zone-mobile.net : votre mot de passe", "Bonjour". 

"From:contact@zone-mobile.net\r\nReply-To:contact@zone-mobile.net"); } else { echo "Désolé, mais ce pseudo n'existe 

pas dans la base de donnée. Vérifiez que vous ne vous êtes pas trompé en le tapant.";} } } mysql_close(); ?> <html> 

<a href="http://www.zone-mobile.net/accueil.php">Revenir à l'accueil</A> </html>

A+
4
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
17 juin 2006 à 19:32
salut
chez moi rien n'arrive en gras et en plus je suis mal-voyant donc j'ai du mal.
Peux-tu me donner le code tel quel que tu le verai fonctionner? Afin que je regarde ce qui change?
merci
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
17 juin 2006 à 20:00
Salut !

Voilà donc le code retouché :
<? $pseudo=$_POST['pseudo'];?> 
<? $dbc = @mysql_connect ("localhost", "zone_zone", "***");

if(!mysql_errno($dbc)) {
      mysql_select_db("zone_bdd");
      $query = "SELECT * FROM v2 WHERE pseudo='$pseudo'";
      $result = mysql_query($query);

      if(mysql_num_rows($result)>0) {
            while ($donnees = mysql_fetch_array($result) ) {
                 $pseudo_membre=$donnees['pseudo'];
                 $passe_membre=$donnees['passe'];
                 $to=$donnees['email'];
                  mail($to, "Zone-mobile.net : votre mot de passe", "Bonjour".
"From:contact@zone-mobile.net\r\nReply-To:contact@zone-mobile.net");
            }
      }
      else {
            echo "Désolé, mais ce pseudo n'existe pas dans la base de donnée. Vérifiez que vous ne vous êtes pas trompé en le tapant.";
      }
}
mysql_close(); ?> <html> 

<a href="http://www.zone-mobile.net/accueil.php">Revenir à l'accueil</A> </html>

Bon courage !
A+ :-)
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
17 juin 2006 à 20:17
re
merci c'est bon.
En fait c'était la deuxième { qui était mal placée non?

par contre j'ai fais encore un autre script, et j'ai exactement la même erreur parce error... que pour le password oublié.
Mais c'est encore la même histoire je me perd avec les {
dis moi ce que tu en penses :

<? if ( isset( $_SESSION['pseudo'] ) )
 $dbc = @mysql_connect ("localhost", "zone_zone", "****");

if(!mysql_errno($dbc)) {
  mysql_select_db("zone_bdd"); 
$query = "SELECT * FROM v2 WHERE
pseudo='$pseudo'";
$result = mysql_query($query);
    while ($donnees = mysql_fetch_array($result) ) {  {
<html> <strong><center> Voici vos informations</center></strong> <br> Mot de passe actuel :<? echo $donnees['passe'];?> <br> Adresse e-mail actuelle :<? echo $donnees['email'];?> <br> <br> 

 </html> <? }else { echo "ce n'est pas bon, il faut être identifié"; }} mysql_close();?>
cela doit enir de l'emplacement d'une { mais la quelle !
merci beaucoup (t'inquiète pas, c'est pas à tous les scripts que je fais des fotes ! (en plus ce qui m'énerve c'est que je fais toujours des fotes dans les script tout simple alors que les compliqués, ça marche du premier coup !)
merci 


0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
18 juin 2006 à 09:40
Salut !

Non, pour le script précédent, ça venait du fait que tu avais mis des instructions entre ) et {
Autrement dit if(condition) ICI { code }
(Là où j'ai mis "ICI", il ne faut rien mettre ;-)

Dans ce script-là :
1) Après le while, tu avais mis 2 accolades ouvrantes et 2 fermantes de suite, alors qu'il n'en faut qu'une.

2) La structure WHILE ne marque que juste après un if.
Ici, elle est juste après un while.
Il faut donc refermer l'accolade du if avant le else.

Le schéma est donc ici forcément celui-ci :
if(...) {
    while(...) { ... }
}
else {
   ...
}

(On a d'abord le if, dans le if on a le while, on ferme le if, et on met le else)

3) Juste après l'accolade ouvrante du WHILE, tu avais oublié de fermer la balise "php" (?>) pour afficher le texte.

<? if ( isset( $_SESSION['pseudo'] ) )
 $dbc = @mysql_connect ("localhost", "zone_zone", "****");

if(!mysql_errno($dbc)) {
     mysql_select_db("zone_bdd"); 
     $query = "SELECT * FROM v2 WHERE pseudo='$pseudo'";
     $result = mysql_query($query);
     while ($donnees = mysql_fetch_array($result) ) {
          ?> <html> <strong><center> Voici vos informations</center></strong> <br> Mot de passe actuel :<? echo $donnees['passe'];?> <br> Adresse e-mail actuelle :<? echo $donnees['email'];?> <br> <br> 

 </html> <?
     }
}
else { 
     echo "ce n'est pas bon, il faut être identifié";
}
mysql_close();?>

A+ :-)
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
18 juin 2006 à 09:57
salut
c'est bon j'avais trouvé la solus en effet il faut jamais mettre d'instructions entre ) { sinon ça marche pas.
Merci à toi
A+
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
18 juin 2006 à 09:59
De rien :-)

Au fait, c'est quoi l'adresse de ton site ? ;-)

A+
0

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

Posez votre question
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
18 juin 2006 à 10:07
re
mon site c
http://www.zone-mobile.net
c'est pour celqa que j'ai fais tous ces scripts, c'est pour changer mon espace membre actuel qui est un peu "classique"
et là j'essaye de faire un .htaccess ta des infos là-dessus toi?
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
19 juin 2006 à 14:40
Salut !

Pour les .htaccess, dans un premier temps :
apacht
:-)

A+
0
fabrice11901 Messages postés 787 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 12 juillet 2007 64
19 juin 2006 à 15:25
Salut
Oui c'est bon j'avais trouvé l'info bon j'ai galéré un petit moment mais bon...
Par contre peux-tu me conseiller sur le style de mon site stp?
http://www.zone-mobile.net
0
Bonjour, j'ai un problème similaire... Ligne 37: je veux absolument mettre le ELSE (c'est à dire queles "tests" au-dessus ont été réussis) et que le mail soit envoyé.

<?
include("include/header.php");
include("include/config.php");
$numeros = $_POST["numeros"];
$sourcesinfo = $_POST["sourcesinfo"];
$autresmoyensdinfo = $_POST["autresmoyensdinfo"];
$frequence = $_POST["frequence"];
$lecture = $_POST["lecture"];
$nouvellesasso = $_POST["nouvellesassos"];
$nouvellesprojets = $_POST["nouvellesprojets"];
$nouvellesET = $_POST["nouvellesET"];
$nouvellesES = $_POST["nouvellesES"];
$thematiques = $_POST["thematiques"];
$reactions = $_POST["reactions"];
$nouvellesrubriques = $_POST["nouvellesrubriques"];
$suggestionsetdivers = $_POST["suggestionsetdivers"];
$age = $_POST["age"];
$sonmail = $_POST["sonmail"];

if(empty($sonmail)) 
{ print '<center>Vous n\'avez pas saisi votre adresse email !<br>'; }	
{ echo '<p align="center"><a href="javascript:history.back()">Retour</a>'; include("include/footer.php"); exit; }
 
$sonmail = $_POST['sonmail'];
$copie = $_POST["copie"];
$point = strpos($sonmail,".");
$arobas = strpos($sonmail,"@");

if($point == '')
{ echo '<center>Votre adresse email est invalide.<br>'; }	
{ echo '<p align="center"><a href="javascript:history.back()">Retour</a>'; include("include/footer.php"); }

if($arobas == '')
{ echo '<center>Votre adresse email est invalide.<br>'; } 
{ echo '<p align="center"><a href="javascript:history.back()">Retour</a>'; include("include/footer.php"); exit; }

else { }
echo '<center>Merci pour votre participation\, à bientôt. L\'équipe PRSF <a href="https://www.prsf.fr/">Retour au site</a>';
{ 
mail("$votremail","$sujet","$m2","from: $votremail"); 
}
include("include/footer.php");
?>



Merci d'avance !
0
sitexw Messages postés 9 Date d'inscription mercredi 15 novembre 2006 Statut Membre Dernière intervention 30 avril 2017 14
2 avril 2008 à 15:19
voila moi aussi g le méme problem

mon code :

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


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>


<?php

$COOKIE_USER = $_COOKIE['USER'];


if (isset($COOKIE_USER)) {
{

echo "<meta http-equiv='refresh' content='0;url=connect-verif-pass-oui-2.php'>";

}
else
{



}


?>



<title>Band haut</title>
</head>
<body
style="background-image: url(images/fond-band-haut.gif);">





<div style="position: absolute; z-index: 5; top: 10px; right: 0px;">

<form method="post" action="connection/connect-verif-pass.php" name="pass">

<table
style="font-family: Arial; width: 100%; height: 100%; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 100%;" colspan="1" rowspan="3"></td>
<td>Pseudo :</td>
<td style="text-align: right; width: 200px;"><input
name="USER"></td>
</tr>
<tr>
<td>Pass :</td>
<td style="text-align: right; width: 300px;"><input
name="PW" type="password"></td>
</tr>
<tr>
<td style="text-align: right;" colspan="2"
rowspan="1"><input name="123" value="Connection"
onclick="Login()" type="submit"></td>
</tr>
<tr>
<td style="height: 10px;"></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>

</form>

</div>




<div style="position: absolute; z-index: 2; top: 0px; right: 0px;">

<img style="width: 264px; height: 196px;" alt="" src="images/fon-form-connect.gif">


</div>



</body>
</html>

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

merci de m'aider
0
bonjour
j'ai aussi le meme message d'erreure, unexpected.....$end
quelqu'un pourrait il m'aider svp,

ci dessous mon code:

<?if( $sg == 'banner' ):?>
<style type="text/css">
<!--
.style1 {color: #800000}
-->
</style>

<br />
<table cellpadding="0" cellspacing="0" style="margin:0 auto">
<tr>
<td style="font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;line-height:16px;text-align:center;">Designed by:</td>
</tr>
<tr>
<td>
<div style="background:transparent url(templates/<?php echo $this->template ?>/images/sg_background.gif) no-repeat;width:82px;height:16px;font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;padding:0 0 0 28px;line-height:16px;text-align:center;">
<div align="left"><a href="http://www.gaumar.com/" style="text-decoration:none; color: #800000; font-weight: bold;">Gaumar 2010 </a>
</div>
</div>
</td>
</tr>
</table>
<?else:?>
<?php echo $mainframe->getCfg('sitename') ;?>
<div align="center"><a href="http://www.gaumar.com/" target="_blank" class="sgfooter style1"><strong> © Copyright Gaumar 2010</strong></a> </div>
0
Tout simplement que avec les dernieres version de php, un espace est requis entre la balise ouvrante de <?php et n'importe quel code derriere. sinon il genere une erreure de syntaxe
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
14 déc. 2012 à 11:56
Quelle beau déterrage. Je pense que depuis le 13 août 2010, il est passé a autre chose ou a trouver la solution.
0
bonjour j'ai le même message a la C.. tout marche nickel en local ... message erreur
Parse error: syntax error, unexpected '{' in /home/.../.../www/lokisalle/inc/menu.inc.php on line 1

et mon code

<?php
if(utilisateur_est_connecte_et_admin())
{

echo"<a id='home' href='index.php'><img src='images/icon-accueil.png'></a>";
echo"<a id='gestion' href='gestion.php'>gestion</a>";
echo"<a id='reservation' href='reservation.php'>reservation</a>";
echo"<a id='recherche' href='recherche.php'>recherche</a>";
echo"<a id='profil' href='profil.php'>profil</a>";
echo"<a id='panier' href='panier.php'>panier</a>";
echo"<a id='deconnection' href='index.php?action=deconnexion'>deconnection</a>";

}

elseif(utilisateur_est_connecte())
{

echo"<a id='home' href='index.php'><img src='images/icon-accueil.png'></a>";
echo"<a id='reservation' href='reservation.php'>reservation</a>";
echo"<a id='recherche' href='recherche.php'>recherche</a>";
echo"<a id='profil' href='profil.php'>profil</a>";
echo"<a id='panier' href='panier.php'>panier</a>";
echo"<a id='deconnection' href='index.php?action=deconnexion'>deconnection</a>";

}

else
{

echo"<a id='home' href='index.php'><img src='images/icon-accueil.png'></a>";
echo"<a id='inscription' href='/lokisalle/inscription.php'>inscription</a>";
echo"<a id='reservation' href='reservation.php'>reservation</a>";
echo"<a id='recherche' href='recherche.php'>recherche</a>";

}

?>

voila je vois pas d'erreur a moins que je sois aveugle jai tout retourner impossible de trouver merci de votre aide
0