nouveau pb 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 : nouveau pb de boucles....

par mere-teresa » 22 sept. 2006, 09:52

A quoi servent les doubles accolades ?

par YVES » 21 sept. 2006, 22:20

$sql = "UPDATE membres SET objetutil2= stock1, stock1='./objet/rien.gif',  qobjetutil2=qstock1, qstock1=0, uobjetutil2=ustock1 WHERE id = ".$id; 
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
$_SESSION['objetutil2']= $_SESSION['stock1'];
$_SESSION['stock1']= './objet/rien.gif';
$_SESSION['ustock1']= $_SESSION['ustock1'];
$_SESSION['qobjetutil2']= $_SESSION['qstock1'];
$_SESSION['qstock1']= $_SESSION['qstock1']=0;
$_SESSION['uobjetutil2']= $_SESSION['ustock1'];
}
}
else
{
  echo '<center><font color="red">Désolé, mais vous utilisez actuellement trop d\'objets. Veuillez ranger ou abandonner sur place quelque chose !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
}
header("Location: page_membre.php");
mysql_close();
?>
L'identation n'est pas au rendez vous, mais voici la fin du code et cela fonctionne.
je ne veux pas trop pollue rle forum avec mes "torchons"
:D

Re: nouveau pb de boucles....

par mere-teresa » 20 sept. 2006, 14:41

la premiere s'effectue bien mais pas la seconde (que j'ai "colorée")

En fait, si "l'objetutil1" est vide, c'est ok, mais s'il n'est pas dispo, l'objetutil2 n'est pas sollicité et le code affiche une page blanche.
C'est donc un des ELSE qui ne s'effectue pas ?

Mais dans ce ELSE tu as des IF sans ELSE, comment veux tu débugger ? Mets donc des ELSE partout (avec juste echo 'telle condition n\'est pas remplie')

par bobthequ » 20 sept. 2006, 14:12

une chose est sur c'est que la prog sans indentation ne mêne à rien.
comment tu veux relire le code, c'est impossible.
Tu vas peut etre t'en sortir aujourd'hui ou demain, mais dans 2 ans qd tu vas relire ton code tu ne comprendras plus rien.

par Cyrano » 19 sept. 2006, 23:10

ça vaut drôlement la peine de se casser la tête pour te metre un code lisible pour que tu envoies à nouveau ce torchon :shock:
As-tu lu attentivement ce que j'ai écrit sur l'indentation ?

Donne-toi une chance et remets ça au propre, je le ferai plus à ta place, faut pas pousser là. :evil:

par YVES » 19 sept. 2006, 22:59

:? hum, désolé d'avoir voulu colorer la partie litigieuse (ca n'a pas fonctionné) mais cela doit etre assez clair :wink:

nouveau pb de boucles....

par YVES » 19 sept. 2006, 22:58

la premiere s'effectue bien mais pas la seconde (que j'ai "colorée")
<?php
session_start() ;
?>
<?php
$db= mysql_connect(localhost, xxxx, xxxx) or die("Impossible de se connecter à la base de données"); 	   
 mysql_select_db('xxxx',$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/rien.gif')
       {
$sql = "UPDATE membres SET objetutil1= stock1, stock1='./objet/rien.gif',  qobjetutil1=qstock1, qstock1=0, uobjetutil1=ustock1 WHERE id = ".$id; 
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
$_SESSION['objetutil1']= $_SESSION['stock1'];
$_SESSION['stock1']= './objet/rien.gif';
$_SESSION['ustock1']= $_SESSION['ustock1'];
$_SESSION['qobjetutil1']= $_SESSION['qstock1'];
$_SESSION['qstock1']= $_SESSION['qstock1']=0;
$_SESSION['uobjetutil1']= $_SESSION['ustock1'];
}
[color=red]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/rien.gif')
       {
$sql = "UPDATE membres SET objetutil2= stock1, stock1='./objet/rien.gif',  qobjetutil2=qstock1, qstock1=0, uobjetutil2=ustock1 WHERE id = ".$id; 
mysql_query($sql) or die('Erreur SQL '.$sql.'<br>'.mysql_error());
if($res)
{
$_SESSION['objetutil2']= $_SESSION['stock1'];
$_SESSION['stock1']= './objet/rien.gif';
$_SESSION['ustock1']= $_SESSION['ustock1'];
$_SESSION['qobjetutil2']= $_SESSION['qstock1'];
$_SESSION['qstock1']= $_SESSION['qstock1']=0;
$_SESSION['uobjetutil2']= $_SESSION['ustock1'];
}[/color]
}
else
{
  echo '<center><font color="red">Désolé, mais vous utilisez vraiment tout ou bien encore deux objets de meme nature. Veuillez ranger au moins quelque chose !</font></center>
<center><font color="black"><a href="page_membre.php">retour page membre</a></font></center>';
}
}
header("Location: page_membre.php");
}
mysql_close();
?>
En fait, si "l'objetutil1" est vide, c'est ok, mais s'il n'est pas dispo, l'objetutil2 n'est pas sollicité et le code affiche une page blanche.