Rechercher : dans
Par :

[php] Parse error: syntax error, unexpected T

Dernière réponse le 2 avr 2008 à 15:19:32 fabrice11901, le 17 jun 2006 à 15:20:13 
 Signaler ce message aux modérateurs

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 :)
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!
Configuration: carte mere asus k8n4e, processeur : sempron 3300+, disque dur 80go mémoire : 512...

Meilleures réponses pour « [php] Parse error: syntax error, unexpected T » dans :
Parse error: syntax error, unexpected $end Voir Lorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
PHP Parse error: unexpected '&lt;' in ... eval()'d code on l VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '
PHP - Parser du XML VoirIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...

1

Thom@s, le 17 jun 2006 à 19:14:56
  • +1

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+
.:|  T h o m @ s  |:.

Répondre à Thom@s

2

fabrice11901, le 17 jun 2006 à 19:32:00

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
C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

3

Thom@s, le 17 jun 2006 à 20:00:15

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+ :-)
.:|  T h o m @ s  |:.

Répondre à Thom@s

4

fabrice11901, le 17 jun 2006 à 20:17:58

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 


C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!

Répondre à fabrice11901

5

Thom@s, le 18 jun 2006 à 09:40:27
  • +1

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+ :-)
.:|  T h o m @ s  |:.

Répondre à Thom@s

6

fabrice11901, le 18 jun 2006 à 09:57:02

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+
C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

7

Thom@s, le 18 jun 2006 à 09:59:53

De rien :-)

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

A+

.:|  T h o m @ s  |:.

Répondre à Thom@s

8

fabrice11901, le 18 jun 2006 à 10:07:05

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?
C'est bizarre, on en apprend tous les jours même quand on ne s'informe pas !!!!

Répondre à fabrice11901

9

Thom@s, le 19 jun 2006 à 14:40:43

Salut !

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

A+

.:|  T h o m @ s  |:.

Répondre à Thom@s

10

fabrice11901, le 19 jun 2006 à 15:25:08

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
C'est bizarre, on en apprend tous les jours même quand on ne­ s'informe pas !!!!

Répondre à fabrice11901

12

davveld, le 4 déc 2007 à 12:08:58

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 !

Répondre à davveld

13

 sitexw, le 2 avr 2008 à 15:19:32

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

Répondre à sitexw
Collection CommentÇaMarche.net