problème de boucles

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de boucles

par Cyrano » 19 sept. 2006, 22:42

Je n'ai fait qu'aligner ton code : regarde attentivement : il manque effectivement une accolade, avec l'endentation, tu n'as qu'a regarder celle ouvrante et descendre à la verticale pour trouver la fermante correspondante. Et là, tu vas voir que l'accolade du premier "else" n'est pas fermée.

En plus, j'avais même laissé la ligne vide histoire de t'aider à le voir :-k

par YVES » 19 sept. 2006, 22:30

désolé, mais j'ai encore le meme message d'erreur :oops:
et ça ne doit tenir qu'à 1 accolade pres, si j'ose dire...


Parse error: syntax error, unexpected $end in /home/blabla/public_html/reparervehicule.php on line 86 :oops:

par Cyrano » 17 sept. 2006, 00:50

Regarde à partir du premier else : tu as oublié d'indenter convenablement : du coup, il te manque une accosade à la fin. En indentant normalement, ça donnerait ceci :
<?php
session_start() ;

$db = mysql_connect(localhost, blabla, bouh) or die("Impossible de se connecter à la base de données");
mysql_select_db('beurkl',$db)  or die('Erreur de selection base'.mysql_error());
$sql = " SELECT gestion FROM membres WHERE id = ". $id;
$res = mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,'gestion'));
if ($data == './images/jetonrouge.gif')
{
    echo '<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
else
{
    $sql= "SELECT objetutil1 FROM membres WHERE id = ". $id;
    $res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
    ($data = mysql_result($res,0,objetutil1));
    if (($data == './objet/clef.gif'))
    {
        $sql = "UPDATE membres SET uobjetutil1= uobjetutil1+0.1 WHERE id = ".$id;
        mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        if($res)
        {
            $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
        }
    }
    else
    {
        if (($data == './objet/piece_meca.gif'))
        {
            $sql = "UPDATE membres SET qobjetutil1=qobjetutil1-1, uobjetutil1=uobjetutil1+0.1 WHERE id = ".$id;
            mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            if($res)
            {
                $_SESSION['qobjetutil1']= $_SESSION['qobjetutil1']-1;
                $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
            }
        }
        else
        {
            $sql= " SELECT objetutil2 FROM membres WHERE id = ". $id;
            $res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            ($data = mysql_result($res,0,objetutil2));
            if (($data == './objet/clef.gif'))
            {
                $sql = "UPDATE membres SET uobjetutil2= uobjetutil2+0.1 WHERE id = ".$id;
                mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
                if($res)
                {
                    $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
                }
            }
            else
            {
                if (($data == './objet/piece_meca.gif'))
                {
                    $sql = "UPDATE membres SET qobjetutil2=qobjetutil2-1, uobjetutil2=uobjetutil2+0.1 WHERE id = ".$id;
                    mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
                    if($res)
                    {
                        $_SESSION['qobjetutil2']= $_SESSION['qobjetutil2']-1;
                        $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
                    }
                }
                $sql = "UPDATE membres ".
                "SET gestion = './images/jetonrouge.gif', ".
                "uvehicule = uvehicule-1, ".
                "mp = ' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.' ".
                "WHERE id = ".$id;
                mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
                if($res)
                {
                    $_SESSION['gestion']='./images/jetonrouge.gif';
                    $_SESSION['uvehicule']= $_SESSION['uvehicule']-1;
                    $_SESSION['mp']=' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.';
                }
            }
            header("Location: page_membre.php");
        }
    }
    mysql_close();

?>

par YVES » 17 sept. 2006, 00:45

Parse error: syntax error, unexpected $end in /home/blabla/public_html/reparervehicule.php on line 86


J'avais oublié la 1ere partie du code ce qui donne donc celà:
<?php
session_start() ;
?>
<?php
$db= mysql_connect(localhost, blabla, bouh) or die("Impossible de se connecter à la base de données"); 	   
 mysql_select_db('beurkl',$db)  or die('Erreur de selection base'.mysql_error());
$sql= " SELECT gestion FROM membres WHERE id = ". $id; 
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,'gestion'));
if ($data== './images/jetonrouge.gif')
       {
    echo '<center><font color="red">Désolé, mais VOTRE JETON EST ROUGE !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
	}
else
{
$sql= "SELECT objetutil1 FROM membres WHERE id = ". $id;
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,objetutil1));
if (($data == './objet/clef.gif'))
{
    $sql = "UPDATE membres SET uobjetutil1= uobjetutil1+0.1 WHERE id = ".$id;
    mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
    if($res)
    {
        $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
    }
}
else
{
    if (($data == './objet/piece_meca.gif'))
    {
        $sql = "UPDATE membres SET qobjetutil1=qobjetutil1-1, uobjetutil1=uobjetutil1+0.1 WHERE id = ".$id;
        mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        if($res)
        {
            $_SESSION['qobjetutil1']= $_SESSION['qobjetutil1']-1;
            $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
        }
    }
    else
    {
        $sql= " SELECT objetutil2 FROM membres WHERE id = ". $id;
        $res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        ($data = mysql_result($res,0,objetutil2));
        if (($data == './objet/clef.gif'))
        {
            $sql = "UPDATE membres SET uobjetutil2= uobjetutil2+0.1 WHERE id = ".$id;
            mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            if($res)
            {
                $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
            }
        }
        else
        {
            if (($data == './objet/piece_meca.gif'))
            {
                $sql = "UPDATE membres SET qobjetutil2=qobjetutil2-1, uobjetutil2=uobjetutil2+0.1 WHERE id = ".$id;
                mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
                if($res)
                {
                    $_SESSION['qobjetutil2']= $_SESSION['qobjetutil2']-1;
                    $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
                }
            }
            $sql = "UPDATE membres ".
                   "SET gestion = './images/jetonrouge.gif', ".
                       "uvehicule = uvehicule-1, ".
                       "mp = ' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.' ".
                   "WHERE id = ".$id;
            mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            if($res)
            {
                $_SESSION['gestion']='./images/jetonrouge.gif';
                $_SESSION['uvehicule']= $_SESSION['uvehicule']-1;
                $_SESSION['mp']=' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.';
            }
        }
        header("Location: page_membre.php");
    }
}
mysql_close();
?>


par Cyrano » 16 sept. 2006, 23:59

Première règle pour pas avoir de problèmes d'accolades : toujours fermer une accolade ouvrante avant d'y mettre le moindre contenu : tu sera de la sorte toujour sûr de ne pas en oublier;
Seconde règle : utiliser une indentation te permettant visuellement de bien te reprérer dans ton code.

Le compte des accolade semble bon, mais avec l'indentation, ça donne ceci :
<?php
session_start() ;

$db= mysql_connect(localhost, blablabla, bouh) or die("Impossible de se connecter à la base de données");
mysql_select_db('onycroitl',$db)  or die('Erreur de selection base'.mysql_error());
$sql= "SELECT objetutil1 FROM membres WHERE id = ". $id;
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,objetutil1));
if (($data == './objet/clef.gif'))
{
    $sql = "UPDATE membres SET uobjetutil1= uobjetutil1+0.1 WHERE id = ".$id;
    mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
    if($res)
    {
        $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
    }
}
else
{
    if (($data == './objet/piece_meca.gif'))
    {
        $sql = "UPDATE membres SET qobjetutil1=qobjetutil1-1, uobjetutil1=uobjetutil1+0.1 WHERE id = ".$id;
        mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        if($res)
        {
            $_SESSION['qobjetutil1']= $_SESSION['qobjetutil1']-1;
            $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
        }
    }
    else
    {
        $sql= " SELECT objetutil2 FROM membres WHERE id = ". $id;
        $res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
        ($data = mysql_result($res,0,objetutil2));
        if (($data == './objet/clef.gif'))
        {
            $sql = "UPDATE membres SET uobjetutil2= uobjetutil2+0.1 WHERE id = ".$id;
            mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            if($res)
            {
                $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
            }
        }
        else
        {
            if (($data == './objet/piece_meca.gif'))
            {
                $sql = "UPDATE membres SET qobjetutil2=qobjetutil2-1, uobjetutil2=uobjetutil2+0.1 WHERE id = ".$id;
                mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
                if($res)
                {
                    $_SESSION['qobjetutil2']= $_SESSION['qobjetutil2']-1;
                    $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
                }
            }
            $sql = "UPDATE membres ".
                   "SET gestion = './images/jetonrouge.gif', ".
                       "uvehicule = uvehicule-1, ".
                       "mp = ' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.' ".
                   "WHERE id = ".$id;
            mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
            if($res)
            {
                $_SESSION['gestion']='./images/jetonrouge.gif';
                $_SESSION['uvehicule']= $_SESSION['uvehicule']-1;
                $_SESSION['mp']=' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.';
            }
        }
        header("Location: page_membre.php");
    }
}
mysql_close();
?>
À toi de voir maintenant si quelque chose cloche par rapport à ce que tu voulais obtenir. Reviens-nous avec les messages d'erreur obtenus le cas échéant.

problème de boucles

par YVES » 16 sept. 2006, 23:53

bonsoir, ça fait 2 heures que je teste mon code sans succès :oops:

il y a 1 pb de } à force de tout changer, je ne sais plus ou j'en suis et faut dire que j'ai pas mal (p-etre) compliqué le truc? voyez donc plus bas :roll:
<?php
session_start() ;
?>
<?php
$db= mysql_connect(localhost, blablabla, bouh) or die("Impossible de se connecter à la base de données"); 	   
 mysql_select_db('onycroitl',$db)  or die('Erreur de selection base'.mysql_error());
$sql= " SELECT objetutil1 FROM membres WHERE id = ". $id; 
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,objetutil1));
if (($data == './objet/clef.gif'))
       {
$sql = "UPDATE membres SET uobjetutil1= uobjetutil1+0.1 WHERE id = ".$id;
 mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
    $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
}
}
else
{
if (($data == './objet/piece_meca.gif'))
{
$sql = "UPDATE membres SET qobjetutil1=qobjetutil1-1, uobjetutil1=uobjetutil1+0.1 WHERE id = ".$id; 
 mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
    $_SESSION['qobjetutil1']= $_SESSION['qobjetutil1']-1;
    $_SESSION['uobjetutil1']= $_SESSION['uobjetutil1']+0.1;
}
}
else
{
$sql= " SELECT objetutil2 FROM membres WHERE id = ". $id; 
$res=mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
($data = mysql_result($res,0,objetutil2));
if (($data == './objet/clef.gif'))
       {
$sql = "UPDATE membres SET uobjetutil2= uobjetutil2+0.1 WHERE id = ".$id;
 mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
    $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
}
}
else
{
if (($data == './objet/piece_meca.gif'))
{
$sql = "UPDATE membres SET qobjetutil2=qobjetutil2-1, uobjetutil2=uobjetutil2+0.1 WHERE id = ".$id; 
 mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
    $_SESSION['qobjetutil2']= $_SESSION['qobjetutil2']-1;
    $_SESSION['uobjetutil2']= $_SESSION['uobjetutil2']+0.1;
}
}
$sql = "UPDATE membres ".
       "SET gestion = './images/jetonrouge.gif', 
           uvehicule=uvehicule-1, 
           mp=' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.' "
       ."WHERE id = ".$id; 
 mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
    $_SESSION['gestion']='./images/jetonrouge.gif';
    $_SESSION['uvehicule']= $_SESSION['uvehicule']-1;
    $_SESSION['mp']=' Vous venez de réparer votre vehicule et son usure a diminué de 1 pt.';
}
}
header("Location: page_membre.php");
}
}
mysql_close();
?>