Page 1 sur 1

ajouter des variables

Posté : 05 nov. 2005, 16:43
par yuuzhantar
bonjour,

j'ai un système de transfert de crédits pour mon site d'échange de bannière automatique
on récupère les variables avec des requêtes sql ...

puis en fonction des entrées d'un formulaire,
tr_type et tr_nmbre, on transfert des crédits d'un compte vers un autre

tr_type prend 2 valeurs : + ou -

$id3 est l'id de l'utilisateur
$id9 la bannière
$credits3 est le nombre de crédits du compte de l'utilisateur ( réserve )
$credits9 du compte bannière active

lors de mais essais, $credits3 est à 20000 et $credits9 à 0

mais à chaque essai, quand tr_type=+ et tr_nmbre=2000 par exemple, ( ici on transfert 2000 crédits de la réserve vers le compte bannière )
je me retrouve avec tous les comptes à 0

<?php 
// On commence par récupérer les champs 
if(isset($_POST['tr_type']))      $tr_type=$_POST['tr_type'];
else      $tr_type="";

if(isset($_POST['tr_nmbre']))      $tr_nmbre=$_POST['tr_nmbre'];
else      $tr_nmbre="";
// On vérifie si les champs sont vides 
if(empty($tr_nmbre) OR empty($tr_type)) 
    { 
    echo '<font color="red">Erreur : remplissez tous les champs</font>'; 
    } 

// Aucun champ n'est vide, on peut enregistrer dans la table 
else      
    { 
    if($tr_type='-')
		{ 
			if($tr_nmbre<=$credits9)
				{
    			$new_b_c == $credits9-$tr_nmbre;
				$new_u_c == $credits3+$tr_nmbre;
				}
				else
				{
    			$new_b_c == 0;
				$new_u_c == $credits3+$credits9;
				}
		}
		else
		{
			if($tr_type='+')
				{
				if($tr_nmbre<=$credits3)
					{
    				$new_b_c == $credits9+$tr_nmbre;
					$new_u_c == $credits3-$tr_nmbre;
					}
					else
					{
    				$new_b_c == $credits3+$credits9;
					$new_u_c == 0;
					}
				}
				else
				{
				echo 'erreur';
				$new_b_c == $credits9;
				$new_u_c == $credits3;
				}
			}
	
	$db = mysql_connect('sql.free.fr', 'xxx', 'xxx')  or die('Erreur de connexion '.mysql_error());
    mysql_select_db('yuu_sw',$db)  or die('Erreur de selection '.mysql_error());
	mysql_query("UPDATE a_ban SET ban_credits='$new_b_c' WHERE ban_id='$id9'");
	mysql_query("UPDATE a_users SET user_credits='$new_u_c' WHERE user_id='$id3'");
	echo 'Transfert effectué';	
    mysql_close();  // on ferme la connexion 
}  
?> 
qu'est ce qui ne vas pas docteur ???

Posté : 05 nov. 2005, 16:49
par Cyrano
Tu as des erreurs d'opérateurs : "=" est un opérateur d'affectation, "==" un opérateur de comparaison. Or dans ton code, tu as des choses comme ceci:
if($tr_nmbre <= $credits9)
{
    $new_b_c == $credits9-$tr_nmbre;
    $new_u_c == $credits3+$tr_nmbre;
}
Je te laisse le soin de découvrir et de corriger toi-même ;)

Posté : 05 nov. 2005, 17:00
par yuuzhantar
sa marche

j'ai changé les == par =

merci