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

Résolu/Fermé
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - 20 mars 2013 à 15:38
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013 - 20 mars 2013 à 16:13
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
20 mars 2013 à 15:40
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 samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
20 mars 2013 à 15:53
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
20 mars 2013 à 15:55
il faut ensuite passer soit par un mysql_result, soit par un mysql_fetch_assoc
0
Truncky Messages postés 13 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
20 mars 2013 à 16:01
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
20 mars 2013 à 16:06
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 samedi 16 mars 2013 Statut Membre Dernière intervention 30 mars 2013
Modifié par Truncky le 20/03/2013 à 16:14
Parfait merci ! Tout fonctionne c'est super ! :)
0
Bionik Messages postés 4234 Date d'inscription jeudi 19 août 2010 Statut Modérateur Dernière intervention 3 août 2016 183
20 mars 2013 à 16:11
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