Page 1 sur 2

erreur mysql

Posté : 02 nov. 2005, 17:26
par yuuzhantar
j'ai une page, pour chaque bannière, elle affiche un transfert de crédits
<?
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx');  // 1 
mysql_select_db('yuu_sw',$db);                    // 2 
$req = mysql_query("SELECT ban_id, ban_credits FROM a_ban ");
while($data3 = mysql_fetch_assoc($req))
{
echo '<p>';      
echo "<form name=\"form1\" method=\"post\" action=\"/echange/membres/ban_transfert2.php?ban_id='.$data3['ban_id'].'\">";
echo "<p>La bannière dont l'id est '.$data3['ban_id'].'dispose de '.$data3['ban_credits'].'crédits</p>";
echo "<p>Transfert de <input name="tr_type" type="text" size="3"><input name="tr_nmbre" type="text" size="10"> cr&eacute;dits<input type="submit" name="Submit" value="Transf&eacute;rer"></p> ";
echo '</form>';
echo '</p>';
}
?>
mais celà m'affiche cette erreur :
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_transfert.php on line 137
la ligne 137 est celle ci
echo "<form name=\"form1\" method=\"post\" action=\"/echange/membres/ban_transfert2.php?ban_id='.$data3['ban_id'].'\">";
qu'est ce qui ne vas pas ???

Posté : 02 nov. 2005, 17:30
par sadeq
L'erreur est au niveau des apostrophes dans :

echo "<form name=\"form1\" method=\"post\" action=\"/echange/membres/ban_transfert2.php?ban_id='.$data3['ban_id'].'\">";

Le correct est de remplacer les apostrophes qui délimitent la chaine par des guillemets puisque t'as commencé comme ça:
echo "<form name=\"form1\" method=\"post\" action=\"/echange/membres/ban_transfert2.php?ban_id=".$data3['ban_id']."\">";

Posté : 02 nov. 2005, 17:32
par charabia
Sort ce que tu peux en html :
<?php
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx');  // 1 
mysql_select_db('yuu_sw',$db);                    // 2 
$req = mysql_query("SELECT ban_id, ban_credits FROM a_ban "); 
while($data3 = mysql_fetch_assoc($req)) 
{
?>
<p>
<form name="form1" method="post" action="/echange/membres/ban_transfert2.php?ban_id=<?php echo $data3['ban_id'];?>">
<p>La bannière dont l'id est <?php echo $data3['ban_id'];?> dispose de <?php echo $data3['ban_credits'];?> crédits</p>
<p>Transfert de <input name="tr_type" type="text" size="3"><input name="tr_nmbre" type="text" size="10"> cr&eacute;dits<input type="submit" name="Submit" value="Transf&eacute;rer"></p>
</form>
</p>
<?php
}
?>

Posté : 02 nov. 2005, 17:38
par yuuzhantar
maintenant j'ai

Parse error: parse error, unexpected '<' in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_transfert.php on line 136


la ligne 136 :
<form name="form1" method="post" action="/echange/membres/ban_transfert2.php?ban_id=<?php echo $data3['ban_id'];?>"> 


Posté : 02 nov. 2005, 17:44
par yuuzhantar
ca doit venir du php en plein milieu
???

Posté : 02 nov. 2005, 17:44
par charabia
Mmmmhhh je ne vois qui manque dans cette ligne. As-tu vérifié les autres lignes ? Parfois ce n'est pas forcément dans la ligne indiquée que se trouve l'erreur, mais peut-être plus haut.
ca doit venir du php en plein milieu
???
:arrow: Non du tout, l'erreur ne vient pas de là.

Posté : 02 nov. 2005, 17:50
par yuuzhantar
nan l'erreur est pas plus haut

car c'est un {

Posté : 02 nov. 2005, 17:52
par charabia
Là je suis désolé, mais sur cette portion de code, il n'y a aucune erreur. Mets ton code un peu plus complet, on y verra sans doute mieux.

Si tu fait un
<?php echo $data3['ban_id'];?>
à la place du <form> entier, que vois-tu ?

Posté : 02 nov. 2005, 17:57
par yuuzhantar
<?
	$db = mysql_connect('sql.free.fr', 'xxx', 'xxx');  // connexion à la base 
    mysql_select_db('yuu_sw',$db);                  // sélection de la base 
     
    // on regarde si l'url existe déjà 
    $sql = "SELECT user_id, user_pseudo, user_pass, user_mail, user_credits FROM a_users WHERE user_pseudo='$pseudo2' and user_pass='$pass2'"; 

    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

     
    // on compte le nombre de résultats 
    $data = mysql_fetch_assoc($req);
	
$id3 = $data['user_id'];
$pseudo3 = $data['user_pseudo'];
$pass3 = $data['user_pass'];
$mail3 = $data['user_mail'];
$credits3 = $data['user_credits'];
	

mysql_close();  // on ferme la connexion 
 
?>
<?php echo "vous avez $credits3 en réserve";
?>
      <p>_________________________________________________
      </p>
        <?
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx');  // 1 
mysql_select_db('yuu_sw',$db);                    // 2 
$req = mysql_query("SELECT ban_id, ban_credits FROM a_ban ");
while($data3 = mysql_fetch_assoc($req))
{
<form name="form1" method="post" action="/echange/membres/ban_transfert2.php?ban_id=<?php echo $data3['ban_id'];?>"> 
<p>La bannière dont l id est <?php echo $data3['ban_id'];?> dispose de <?php echo $data3['ban_credits'];?> crédits</p> 
<p>Transfert de <input name="tr_type" type="text" size="3"><input name="tr_nmbre" type="text" size="10"> cr&eacute;dits<input type="submit" name="Submit" value="Transf&eacute;rer"></p> 
</form> 
</p> 
}
mysql_close();
?>

Posté : 02 nov. 2005, 17:59
par yuuzhantar
ya bien une erreur dans le coin car en bas le mysql_close(); au lieu d'être colorié, il est en noir

Posté : 02 nov. 2005, 18:04
par charabia
vous avez <?php echo $credits3;?> en réserve
<p>_________________________________________________</p> 
<? 
$db = mysql_connect('sql.free.fr', 'xxx', 'xxx');  // 1 
mysql_select_db('yuu_sw',$db);                    // 2 
$req = mysql_query("SELECT ban_id, ban_credits FROM a_ban "); 
while($data3 = mysql_fetch_assoc($req)) 
{
?>
<form name="form1" method="post" action="/echange/membres/ban_transfert2.php?ban_id=<?php echo $data3['ban_id'];?>"> 
<p>La bannière dont l id est <?php echo $data3['ban_id'];?> dispose de <?php echo $data3['ban_credits'];?> crédits</p> 
<p>Transfert de <input name="tr_type" type="text" size="3"><input name="tr_nmbre" type="text" size="10"> cr&eacute;dits<input type="submit" name="Submit" value="Transf&eacute;rer"></p> 
</form>
</p>
<?php
} 
mysql_close(); 
?>
En passant, pourquoi ce mysql_close() à ce niveau ?
$id3 = $data['user_id']; 
$pseudo3 = $data['user_pseudo']; 
$pass3 = $data['user_pass']; 
$mail3 = $data['user_mail']; 
$credits3 = $data['user_credits']; 
     

mysql_close();  // on ferme la connexion 

?> 
<?php echo "vous avez $credits3 en réserve"; 
?> 

Posté : 02 nov. 2005, 18:05
par yuuzhantar
euh ...

je sais pas

Posté : 02 nov. 2005, 18:10
par charabia
euh ...

je sais pas
lol fait attention à ne pas en mettre partout. Regardes à quoi ça sert. Si tu le fermes avant tout affichage, je crois qu'il va y avoir un gros soucis. Enlèves le à ce niveau, puisque tu le met déjà à la fin du code ;)

Posté : 02 nov. 2005, 18:23
par yuuzhantar
je vais alléger un peu le code
while($data3 = mysql_fetch_assoc($req))
{
echo "<p><a href=\"/echange/membres/ban_transfert3.php?ban_id='.$data['ban_id'].'\" class=\"menulink\">Transfert pour la banni&egrave;re id='.$data['ban_id'].';</a></p>";
}
mysql_close();
?>
et sa me met
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/sdc/0/8/yuu.sw/echange/membres/ban_transfert9.php on line 120


la ligne 120 est celle avec le echo

faudrait juste que je trouve sa, je m'arrangerai pour la suite

Posté : 02 nov. 2005, 18:41
par yuuzhantar
sa vient apparement des \" mais je vois pas du tout