Parse error en PHP

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Acron
Arias
Messages : 3
Inscription : 02 févr. 2007, 22:29

Parse error en PHP

Message par Acron »

Bonjour à tous, j'ai un petit problème : j'ai voulu me bricoler une petite calculette pour la SES (science économique et sociale) mais j'ai un problème dans mon code : il me renvoie un message d'erreur et je ne comprend absolument pas pourquoi, pourriez vous m'aider ?

Le code :

Code : Tout sélectionner

<?php
if (isset($choix)){
echo "<form action='calculette.php' method='get'>
<input type='text' name='combien'> Combien de facteurs ?
<br />
<input type='submit' name='submit_2' value='OK'>
</form>";
}
if (isset($combien)){
$form_open="<form action='calculette.php' method='get'>";
$form_close="</form>";
$submit_3="<input type='submit' name='submit_3' value='OK'>";
echo $form_open;
for ($ref=1 ; $ref <= $combien ; $ref++){
echo "$ref <input type='text' name='facteur['$ref']'><br />";
}
echo $submit_3;
echo $form_close;
}
if (isset($facteur) && $choix=="addition"){
$ref_2=1;
while ($ref_2 <= $ref) {
$ref_2=$ref_2++;
$ref_3=0;
$ref_3++;
$result_addition_1=$facteur['$ref_3']+$facteur['$ref_2'];
$result_addition_2=$result_addition_1+$facteur['$ref_3'];
echo $result_addition_2;
}
}
elseif (isset($facteur) && $choix=="soustraction"){
$ref_2=1;
while ($ref_2 <= $ref) {
$ref_2=$ref_2++;
$ref_3=0;
$ref_3++;
$result_soustraction_1=$facteur['$ref_3']-$facteur['$ref_2'];
$result_soustraction_2=$result_soustraction_1-$facteur['$ref_3'];
echo $result_soustraction_2;
}
}
elseif (isset($facteur) && $choix=="multiplication"){
$ref_2=1;
while ($ref_2 <= $ref) {
$ref_2=$ref_2++;
$ref_3=0;
$ref_3++;
$result_multiplication_1=$facteur['$ref_3']*$facteur['$ref_2'];
$result_multiplication_2=$result_multiplication_1*$facteur['$ref_3'];
echo $result_multiplication_2;
}
}
elseif (isset($facteur) && $choix=="division"){
$ref_2=1;
while ($ref_2 <= $ref) {
$ref_2=$ref_2++;
$ref_3=0;
$ref_3++;
$result_division_1=$facteur['$ref_3']/$facteur['$ref_2'];
$result_division_2=$result_division_1/$facteur['$ref_3'];
echo $result_division_2;
}
}
else {
$erreur="Une erreur s'est produite";
echo $erreur;
}
else {
$erreur="Une erreur s'est produite";
echo $erreur;
}
else {
$erreur="Une erreur s'est produite";
echo $erreur;
}
?>
et le message d'erreur :
Parse error: syntax error, unexpected T_ELSE in /home/acron/domains/acron.ns7-wistee.fr/public_html/calculette.php on line 95
On m'a dit de vérifier que je n'avais pas oublié de ";" ni de "}" et ni l'un ni l'autre :'(

Edit : la ligne 95 arrive sur le deuxième else

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
SB
Varan
Messages : 1095
Inscription : 05 mars 2004, 18:38

Message par SB »

Pourquoi il y a 3 fois le code ci-dessous ?

Code : Tout sélectionner

else {
$erreur="Une erreur s'est produite";
echo $erreur;
} 
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Acron
Arias
Messages : 3
Inscription : 02 févr. 2007, 22:29

Message par Acron »

Parcequ'il y a trois fois if, donc au cas ou on mettrait autre chose qu'un chiffre par exemple je suis sûr que quel que soit l'étape à laquelle on est rendu ce sera bien un message d'erreur qui apparaîtra et pas un blanc

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
Avatar de l’utilisateur
pascal
Administrateur
Messages : 1515
Inscription : 28 juil. 2003, 15:13

Message par pascal »

je comprends rien à l'imbrication de ton code, en tous cas les 3 else à la suite ça me semble hautement suspect.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; ca; rv:1.8.1.1) Gecko/20060601 Firefox/2.0.0.1 (Ubuntu-edgy)
Mes opinions n'engagent que moi et pas mon employeur
Administrateur technique bénévole
myahoo
Animal mythique
Messages : 8279
Inscription : 02 sept. 2005, 00:13

Message par myahoo »

pascal a écrit :les 3 else à la suite ça me semble hautement suspect
Effectivement, ça ne vaut pas du "case" :P

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Acron a écrit :Parcequ'il y a trois fois if, donc au cas ou on mettrait autre chose qu'un chiffre par exemple je suis sûr que quel que soit l'étape à laquelle on est rendu ce sera bien un message d'erreur qui apparaîtra et pas un blanc
Le bloc "else" doit suivre directement le bloc "if" auquel il se rapporte. Ça n'a pas de sens d'en mettre trois de suite à la fin.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
Acron
Arias
Messages : 3
Inscription : 02 févr. 2007, 22:29

Message par Acron »

OK merci :)
Je vais retourner le code de façon à ce qu'il n'y ait plus qu'un seul if et donc par conséquent, plus qu'un seul else

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
x@v
Arias
Messages : 11
Inscription : 27 févr. 2007, 18:31

Message par x@v »

le meiux c'est de nous donné laligne qui pose l'erreur

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 prout Firefox/2.0
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité