Signaler

[php] Parse error: syntax error, unexpected T [Résolu/Fermé]

Posez votre question fabrice11901 790Messages postés dimanche 31 juillet 2005Date d'inscription 12 juillet 2007 Dernière intervention - Dernière réponse le 19 mai 2014 à 15:54 par tibo
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 :)
Utile
+6
plus moins
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+
Cette réponse vous a-t-elle aidé ?  
Utile
+0
plus moins
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
Thom@s 3434Messages postés mardi 4 mars 2003Date d'inscription ModérateurStatut 27 août 2010 Dernière intervention - 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+ :-)
Utile
+0
plus moins
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 


Thom@s 3434Messages postés mardi 4 mars 2003Date d'inscription ModérateurStatut 27 août 2010 Dernière intervention - 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+ :-)
Utile
+0
plus moins
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+
Thom@s 3434Messages postés mardi 4 mars 2003Date d'inscription ModérateurStatut 27 août 2010 Dernière intervention - 18 juin 2006 à 09:59
De rien :-)

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

A+
Utile
+0
plus moins
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?
Thom@s 3434Messages postés mardi 4 mars 2003Date d'inscription ModérateurStatut 27 août 2010 Dernière intervention - 19 juin 2006 à 14:40
Salut !

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

A+
Utile
+0
plus moins
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
Utile
+0
plus moins
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="http://www.prsf.org">Retour au site</a>';
{ 
mail("$votremail","$sujet","$m2","from: $votremail"); 
}
include("include/footer.php");
?>



Merci d'avance !
Utile
+0
plus moins
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
Utile
+0
plus moins
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>
Dev01- 14 déc. 2012 à 11:51
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
Stanislas Poisson 453Messages postés samedi 1 décembre 2012Date d'inscription 25 août 2017 Dernière intervention - 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.
Utile
+0
plus moins
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

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !