Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
828 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  erreur inattendue - parse error, unexpected T_ELSE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

erreur inattendue - parse error, unexpected T_ELSE

n°971560
gecko9
Posté le 04-02-2005 à 13:15:59  profilanswer
 

bonjour à tous,  
 
Je travaille à l'elaboration d'un site d'apprentissage des langues étrangères :  
http://www.listenandlearn.org/
 
Je suis en train de réaliser le formulaire d'envoi en php mais je recupère un belle erreur :
 
http://www.listenandlearn.org/form.php
 
Parse error: parse error, unexpected T_ELSE in /usr/www/users/upstryb1/listenandlearn/form.php on line 104
 
Pourriez vous me donner un coup de main pour résoudre cette enigme ?

mood
Publicité
Posté le 04-02-2005 à 13:15:59  profilanswer
 

n°971594
gecko9
Posté le 04-02-2005 à 13:38:49  profilanswer
 

Il n'y a pas de specialistes php apparemment sur ce forum ....

n°971603
dsls
Posté le 04-02-2005 à 13:41:56  profilanswer
 

Vu le peu d'information que tu donnes, difficile de t'aider ...
 
Poste le source, ça ira mieux

n°971609
soju
One shot !
Posté le 04-02-2005 à 13:44:59  profilanswer
 

gecko9 a écrit :

Parse error: parse error, unexpected T_ELSE in /usr/www/users/upstryb1/listenandlearn/form.php on line 104


C'est juste une erreur de syntaxe donc tu devrais pouvoir la résoudre seul. Sinon met un bout de ton code

n°971618
gecko9
Posté le 04-02-2005 à 13:46:47  profilanswer
 

ok :
 
le script Php
 
<?
 
 switch($_POST['Action']):
  case "save":
   
   $error = false;
   
   if (!$_POST['title']):
    $error_title = "Please select your title";
    $error = true;
   endif;
   
   if (!$_POST['firstname']):
    $error_firstname = "Please enter your firstname";
    $error = true;
   endif;
 
   if (!$_POST['surname']):
    $error_surname = "Please enter your surname";
    $error = true;
   endif;      
 
   if (!$_POST['address1']):
    $error_address = "Please enter the first line of your address";
    $error = true;
   endif;
 
   if (!$_POST['city']):
    $error_city = "Please enter your city";
    $error = true;
   endif;
 
   if (!$_POST['postcode']):
    $error_postcode = "Please enter your postcode";
    $error = true;
   endif;
 
   if (!$_POST['country']):
    $error_country = "Please select your country";
    $error = true;
   endif;
 
   if ((!$_POST['email']) || (strpos($_POST['email'], '@') == 0)):
    $error_email = "Please enter your email";
    $error = true;
   endif;
   
   if (!$_POST['telephone']):
    $error_telephone = "Please enter your telephone (landline). If you don't have a landline, please enter your mobile number in THIS field, or write 'NONE'";
    $error = true;
   endif;
   
   if (!$_POST['comments']):
    $error_comments = "Please enter the details of your enquiry";
    $error = true;
   endif;
 
 
  // send email
      mail("$_POST[email]", "Your Language Trainers Enquiry has been received",  
"Dear $_POST[firstname],\n\nThank you for your enquiry.\n  
 
 
--------------------------------------------------------------------------------  
Kind Regards
 
Guillaume Busetto
email: guillaume@listenandlearn.org
-------------------------------------------------------------------------------
 
Listen and learn
Brighton Media Centre
 
 
",  
 
"From: guillaume@listenandlearn.org\nX-Mailer: PHP/" . phpversion());
 
      mail("guillaume@listenandlearn.org", "Listen and learn Online Enquiry",  
"Name: $_POST[title] $_POST[firstname] $_POST[surname]\n
Organisation: $_POST[organisation]\n
Position: $_POST[position]\n
Address: $_POST[address1], $_POST[address2], $_POST[city], $_POST[county], $_POST[postcode], $_POST[country]\n
Website: $_POST[website]\n
Nature of Business: $_POST[nature_of_business]\n        
Phone (landline): $_POST[landline]\n
Phone (mobile): $_POST[mobile]\n
Fax: $_POST[fax]\n
Languages to learn: $_POST[languagestolearn]\n
Where did they hear about us: $_POST[refer]\n        
Comments: $_POST[comments]\n
 
--------------------------------------------------------------------------------
", "From: $_POST[email]\nX-Mailer: PHP/" . phpversion());
 
      redirect("confirmation.php" );            
       
   else:
   
    $msg = "<hr><b>*You have not entered all the required information*</b><hr>";
 
   endif; // if (!$error):
 
  break;
     
   endswitch;
 
 
?>
 
 
 
maintenant le formulaire dans le corps :
 
<form action="<?PHP echo $PHP_SELF; ?>" method="post" name="questionnaire">
              <table width="90%" border="0" cellspacing="0" cellpadding="1">
                <tr>  
                  <td> <table width="100%" border="0" cellspacing="0" cellpadding="3">
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Title  
                        * <strong><? echo $error_title; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <select name="title">
                          <option value="">Select</option>
                          <? // display all titles in globals.custom.php
                while (list ($key, $val) = each ($_TITLE)):
                 unset($selected);
                 if($val == $_POST['title']) $selected="selected";
                 echo "<option $selected>$val</option>\n";
                endwhile;
               ?>
                        </select>
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>First  
                        name *<strong><? echo $error_firstname; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="firstname" size="25" maxlength="200" value="<? echo $_POST['firstname']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Surname  
                        * <strong><? echo $error_surname; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="surname" size="25" maxlength="200" value="<? echo $_POST['surname']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Address  
                        * <strong><? echo $error_address; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input name="address1" type="text" id="address1" size="25" value="<? echo $_POST['address1']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="middle"> <p><font color="#000000"></font></p></td>
                    <td> <p> <span class="generaltxt"><font color="7f7978">  
                        <input name="address2" type="text" id="address2" size="25" value="<? echo $_POST['address2']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Town  
                        or City * <strong><? echo $error_city; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="city" size="25" maxlength="200" value="<? echo $_POST['city']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000">County</font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="county" size="25" maxlength="200" value="<? echo $_POST['county']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Postcode  
                        * <strong><? echo $error_postcode; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="postcode" size="25" maxlength="200" value="<? echo $_POST['postcode']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>Country*  
                        <strong><? echo $error_country; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <select name="country">
                          <option value="">Select</option>
                          <? // display all titles in globals.custom.php
                while (list ($key, $val) = each ($_COUNTRY)):
                 unset($selected);
                 if($val == $_POST['country']) $selected="selected";
                 echo "<option $selected>$val</option>\n";
                endwhile;
               ?>
                        </select>
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><b>e-mail*  
                        <strong><? echo $error_email; ?></strong> </b></font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="email" size="25" maxlength="200" value="<? echo $_POST['email']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="middle"> <p class="generaltxt"><font color="#000000">Type  
                        of Business</font></p></td>
                    <td> <p> <span class="generaltxt"><font color="7f7978">  
                        <input type="text" name="nature_of_business" size="25" maxlength="200" value="<? echo $_POST['nature_of_business']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%" valign="middle"> <p class="generaltxt"><font color="#000000"><strong>Telephone  
                        (landline)*<br>
                        </strong> <em>include country and city code</em> <strong>  
                        <? echo $error_telephone; ?></strong> </font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <input name="telephone" type="text" id="telephone" size="25" maxlength="200" value="<? echo $_POST['telephone']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="middle"> <p class="generaltxt"><font color="#000000">Telephone  
                        (mobile)<strong><br>
                        </strong> <em>include country and city code</em></font></p></td>
                    <td> <p> <span class="generaltxt"><font color="7f7978">  
                        <input name="mobile" type="text" id="mobile" size="25" maxlength="200" value="<? echo $_POST['mobile']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="middle"> <p class="generaltxt"><font color="#000000">Fax<strong><br>
                        </strong> <em>include country and city code</em><br>
                        </font> </p></td>
                    <td> <p> <span class="generaltxt"><font color="7f7978">  
                        <input name="fax" type="text" id="fax" size="25" maxlength="200" value="<? echo $_POST['fax']; ?>">
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td width="47%"> <hr> </td>
                    <td width="53%"> <hr> </td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="middle" width="47%"> <p class="generaltxt"><font color="#000000"><strong>Comments*</strong>  
                        <strong><br>
                        <? echo $error_comments; ?></strong> </font></p></td>
                    <td width="53%"> <p> <span class="generaltxt"><font color="7f7978">  
                        <textarea name="comments" cols="30" rows="15"><? echo $_POST['comments']; ?></textarea>
                        </font></span></p></td>
                  </tr>
                  <tr class="generaltxt">  
                    <td valign="top">&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>
                  <tr class="generaltxt">  
                    <td colspan="2" valign="top"> <div align="right">  
                        <p class="generaltxt"><font color="7f7978">  
                          <input type="hidden" name="Action" value="save">
                          <span class="generaltxt">  
                          <input type="submit" name="Submit" value="send a message to listen and learn " class="button">
                          </span> </font></p>
                      </div></td>
                </table>
              </table>
            </form>

n°971625
KrisCool
“Verbeux„
Posté le 04-02-2005 à 13:48:34  profilanswer
 

Je pense que tu dois avoir quelque chose de la forme:
 

Code :
  1. if (...) {
  2. ...
  3. ...
  4. else


 
En oubliant l'accolade fermante du bloc de code du if, ou d'un de ses sous-blocs, le parseur finit par rencontrer un else alors qu'il est pas revenu au niveau du if et qu'il attendait soit l'accolade fermante du bloc du if, soit un autre morceau de code inclu dans le bloc du if.
 
EDIT:
 

Code :
  1. if (!$_POST['title']):
  2.     $error_title = "Please select your title";
  3.     $error = true;
  4.    endif;


 
Chelou ça oO


Message édité par KrisCool le 04-02-2005 à 13:51:18

---------------
Loose Change Lies | Bars | Last.fm
n°971634
soju
One shot !
Posté le 04-02-2005 à 13:51:39  profilanswer
 

il manque un if, relis bien ton code

n°971638
dsls
Posté le 04-02-2005 à 13:52:29  profilanswer
 

Il manquerait pas un

Code :
  1. if (!$error):


avant ton

Code :
  1. // send email
  2.       mail("$_POST[email]", "Your Language Trainers Enquiry has been received",


Là tu as un else qui se ballade tout seul, sans if correspondant

n°971639
gecko9
Posté le 04-02-2005 à 13:52:36  profilanswer
 

Kriscool a écrit :

Je pense que tu dois avoir quelque chose de la forme:
 

Code :
  1. if (...) {
  2. ...
  3. ...
  4. else


 
En oubliant l'accolade fermante du bloc de code du if, ou d'un de ses sous-blocs, le parseur finit par rencontrer un else alors qu'il est pas revenu au niveau du if et qu'il attendait soit l'accolade fermante du bloc du if, soit un autre morceau de code inclu dans le bloc du if.


 
les condition sont comprise dans un switch et je ne pense pas qu'il s'agisse d'un probleme d'accolades quelqconque, toutefois je vous remercie  pour les appendices de reponses deja postées :jap:

n°971650
KrisCool
“Verbeux„
Posté le 04-02-2005 à 13:55:33  profilanswer
 

Bon syntaxe alternative immonde, aucune accolade, des chaînes multilignes qui se balladent en plein milieu du code pour faire joli, non j'abandonne.


---------------
Loose Change Lies | Bars | Last.fm
mood
Publicité
Posté le 04-02-2005 à 13:55:33  profilanswer
 

n°971656
gecko9
Posté le 04-02-2005 à 13:59:23  profilanswer
 

dsls a écrit :

Il manquerait pas un

Code :
  1. if (!$error):


avant ton

Code :
  1. // send email
  2.       mail("$_POST[email]", "Your Language Trainers Enquiry has been received",


Là tu as un else qui se ballade tout seul, sans if correspondant


 :)  :hello:  la classe, effectivement il faut tester à la fin du switch si il n'a pas d'erreur dans ce cas le programme peut derouler .
 
merci pour ce deboggage efficace et modeste  :jap:

n°971660
gecko9
Posté le 04-02-2005 à 14:01:45  profilanswer
 

[solved by dsls] merci à Kriscool pour les compliments

n°971729
KrisCool
“Verbeux„
Posté le 04-02-2005 à 14:40:35  profilanswer
 

gecko9 a écrit :

[solved by dsls] merci à Kriscool pour les compliments


 
Hum, désolé je me suis un peu énervé tout seul devant le code.
C'est juste que cette syntaxe est assez inhabituelle, et que tu as posté ton code en dehors d'une balise [code] et qu'il était pas évident de distinguer l'origine de l'erreur.
 
Erreur qui est justement simple à détecter sur un code bien organisé/identé. Celà dit désolé pour cette expression de mauvaise humeur  :hello:


---------------
Loose Change Lies | Bars | Last.fm
n°971910
gecko9
Posté le 04-02-2005 à 15:41:33  profilanswer
 

Kriscool a écrit :

Hum, désolé je me suis un peu énervé tout seul devant le code.
C'est juste que cette syntaxe est assez inhabituelle, et que tu as posté ton code en dehors d'une balise [code] et qu'il était pas évident de distinguer l'origine de l'erreur.
 
Erreur qui est justement simple à détecter sur un code bien organisé/identé. Celà dit désolé pour cette expression de mauvaise humeur  :hello:


 
Je ne suis pas specialement un habitué des forums, je tiens donc à m'excuser pour mon post sauvage   :pt1cable: , le code soit dit en passant n'est pas de moi (le mien ne fonctionnait pas), je suis plus habitué à verifier des petits scripts php avec Javascript.
Merci quand meme pour ton aide Kriscool, la prochaine fois je ferais plus attention à ma mise en page et la structuration de mon script .


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  erreur inattendue - parse error, unexpected T_ELSE

 

Sujets relatifs
error LNK2019Erreur Hibernate : lors de la suppression
petite question sur erreur gdbErreur avec adStateClose
erreur "undefined index" lors controle checkboxDebug Error à cause d'un free
[RESOLU] Fatal error: main() [function.main] - class php5[C++/Qt] erreur de librairie time.h
test mysql : erreur de scriptperceptron - correction d'erreur et descente du gradient
Plus de sujets relatifs à : erreur inattendue - parse error, unexpected T_ELSE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR