Besoin d'aide, récupération d'une info dans la BDD

Résolu
Truncky Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Truncky Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je possède un script php (Un système d'échange de point virtuels).
Et pour utiliser ce système, il faut le pseudo du membre, qui est à rentrer dans une case.
Donc on récupère le PSEUDO du membre, mais moi, pour mon script, il faudrait aussi récupéré l'ID du membre dans la Base De Données (BDD).

J'ai essayer
$idmembre = mysql_query('SELECT id FROM membres WHERE pseudo='.$pseudo);


Bien entendu, $pseudo =
$pseudo = $_POST['pseudo'];
mais ceci ne marche pas :( .

Je vous donne le script complet.

<?php 

include('base.php');
include('tete.php');




// Sécurité des variables
if (isset($_POST['pseudo']))
{
		$pseudo = $_POST['pseudo'];
}

if (isset($_POST['montant']))
{
		$montant = $_POST['montant'];
}


//le id du membre poste
$idmembre = mysql_query('SELECT id FROM membres WHERE pseudo='.$pseudo);


$reponse = mysql_query('SELECT id, pseudo FROM membres ORDER BY pseudo ASC');
						while($donnees = mysql_fetch_assoc($reponse))
						{
							echo '
							<option value="' . intval($donnees['id']) . '">' . stripslashes(htmlspecialchars($donnees['pseudo'])) . '</option>
							';
						}


// On récupère le nombre d'argent que je prossède
$requete2 = mysql_query('SELECT argent FROM membres WHERE id = ' . $idmembre);
$shop2 = mysql_fetch_assoc($requete2);
$argent2 = secure($shop2['argent']);


// On récupère le nombre d'argent que je prossède
$requete = mysql_query('SELECT argent FROM membres WHERE id = ' . $_SESSION['m']['id']);
$shop = mysql_fetch_assoc($requete);
$argent = secure($shop['argent']);


$reponse = mysql_query('SELECT COUNT(*) FROM membres WHERE pseudo REGEXP "^' . $pseudo .'$"');
$result = mysql_result($reponse, 0);


$reponse2 = mysql_query('SELECT pseudo, id FROM membres ORDER BY pseudo ASC');


if($_GET['etape'] == 1 AND isset($_POST['pseudo']))
{

if($_POST['pseudo'] == $_SESSION['m']['pseudo'])
{ echo' Vous pouver pa doner de largent a vous meme. '; }

else{

if($argent >= $montant)
{

if($result == 0)
{ echo' Ce pseudo existe pas '; }
else{


if(!is_numeric($montant)) 
{  echo' Le montant doit etre compose uniquements de chiffres. '; }
else
{

if(!empty($_POST['pseudo']) AND !empty($_POST['montant']))
		{
if(isset($_POST['montant']))
			{


echo' kaka  ' . $argent2 . ' ';


}
else
{ echo' Vous n\'avez pas indique le montant '; }

}
else
{ echo' Vous n\'avez pas remplis tous les champs '; }

}
}


}
else
{ echo' Vous ne pouvez pas donner plus d\'argent que vous en avez, ou donner la totalite de votre argent. '; }

}





}
else
{ 


						
							
							





echo' <form method="post" action="banque.php?etape=1">	

	<div class="bloc1">
<h3>Banque ' . $argent . '  ' . $idmembre . ' 
' . $_SESSION['m']['pseudo'] . '</h3>
		<div class="texte">
		
			</center><br /><br />
			<center><font color="DodgerBlue"><strong>Informations sur la salle:</strong></font></center>
			<div class="separate"></div><br />

                        


			<label for="pseudo"><font color="red">* Pseudo du receveur</font> :</label> <input type="text" id="pseudo" name="pseudo" /><br/>
			<label for="passe"><font color="red">* Montant</font> :</label> <input id="montant" "type="text" name="montant" /><br />
			 
			<center><input type="submit" value="Valider" />


		</div>
	</center></div>
</form>

';


 }





?>





Merci de votre aide ! :)
A voir également:

2 réponses

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
Bonjour,

à moins que ton pseudo ne soit une valeur numérique, il va falloir mettre des quotes.

$idmembre = mysql_query("SELECT id FROM membres WHERE pseudo='$pseudo'");
0
Truncky Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Hum, avec ce code, ca ne met pas l'id du membre, mais "Resource id #41"

Et ça met Resource id #41 avec TOUS les pseudos que j'ai essayés :(
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
il faut ensuite passer soit par un mysql_result, soit par un mysql_fetch_assoc
0
Truncky Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Houla, je ne sais pas trop ce que s'est x)

C'est le genre de chose qu'il faut mettre comme ceci:
mysql_result( ' . $idmembre . ')
?

(Je débute dans le php)
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
non en fait si tu fais ceci :
$idmembre = mysql_query("SELECT id FROM membres WHERE pseudo='$pseudo'");
$idmembre = mysql_result($idmembre, 0);


ça devrait fonctionner.

mysql_query retourne un jeu d'enregistrement que tu dois parcourir, si tu sais qu'il n'y a qu'une valeur qui t'intéresse, tu peux la récupérer comme ceci.
0
Truncky Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
Parfait merci ! Tout fonctionne c'est super ! :)
0
Bionik Messages postés 4232 Date d'inscription   Statut Modérateur Dernière intervention   185
 
Salut,

Cette méthode de faire est désuète et crois moi, y'a vraiment pas de sécurité dans ce que tu fais. Tu peux vite être victime d'injection SQL sur ton script.

Essais plutôt d'utiliser l'API PDO pour te connecter à ta base de données et récupérer les enregistrements en faisant appel aux requêtes préparées.
0