Tom's Guide > Forum > Programmation > Probleme PHP/MYSQL

Probleme PHP/MYSQL

Forum Programmation : Probleme PHP/MYSQL

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

alors voila, j'ai commencer un scripte pour mon espace membre, tranquilo tranquilo, paf tous marche sauf un truc :

$retourpseudo = mysql_query('SELECT * FROM EM WHERE pseudo='.$_SESSION['pseudo'].'');
$retourmpd = mysql_query('SELECT * FROM em WHERE mpd='.$_SESSION['mpd'].'');

(je me suis a percu que $retourmpd et $retourpseudo etais null même aprés que sa etais chercher dans el code)

voila, sa c'est un scripte qui normalement je dit bien normalement doit me retourner la valeur trouver dans la base EM par rapport au pseudo

vous comprenez rien ? okok je vais etre plus claire

je sais pas si c'est sa quon doit faire, mai je tenter de creer un scripte qui aller chercher le login et le pseudo dans la base de donner, l'enregsitrer sous une variable,et ensuite je la comparé avec la variable entrer
en gros le scripte donne sa :

elseif ($_SESSION['pseudo'] != NULL AND $_SESSION['mpd'] != NULL)
{
mysql_connect("localhost", "***", "***" );
mysql_select_db("***" );
$retourpseudo = mysql_query('SELECT * FROM EM WHERE pseudo='.$_SESSION['pseudo'].'');
$retourmpd = mysql_query('SELECT * FROM em WHERE mpd='.$_SESSION['mpd'].'');
if ($_SESSION['pseudo'] == $retourpseudo AND $_SESSION['mpd'] == $retourmpd)
{
echo "reussi";
}
else
{
echo "rater";
}
}

voila, et sa maffiche en permanence rater, donc j'aimret savoire pourquoi sa marche pas

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

je te conseil d'apprendre les base de php et mysql avant de te lancé dans un tel script

phpdebutant.org > session
ou a gauche > zone membre

Répondre à okinou

salut

en gros essaie ca après ton mysql_query

while( $ligne_du_résultat=mysql_fecth_row($resultatpseudo) )
{
print_r ($ligne_du_résultat);
echo "
".$ligne_du_résultat[2]."
";
}


et en testant ca j espère que tu commencera mieux a comprendre le fonctionnement des fonctions mysql

Répondre à showie

Très bonne idée Okinou car sans vouloir être méchant t'es assez mal parti pour faire ton script. Tu as des erreurs de syntaxe dans tes requêtes.
Mais si tu veux réellement savoir comment on fais, il faut procéder ainsi :
Tu vas chercher dans ta db la ligne où il y a le username et le password
Si tu n'a aucun retour (mysql_num_rows) alors l'username avec ce pass n'existe pas.

Et dans tes requetes ca donne ca :
"SELECT * FROM mem WHERE pseudo='".$_POST['pseudo']."' AND mpd='".$_SESSION['mpd'].''' "
Mais attention car les champs ne sont pas vérifiés et non protégés. Cherche comment faire ca.

Apprend le php avant de faire ce genre de choses où tu es obligé de demander sur un forum de l'aide pour un script comme ca. Ca te sera plus utile.

Répondre à Titouan13

lephpfacile.com explique comment faire une zone membre également.

Deuxieme chose, crypte en md5 le mot de passe....

Répondre à okinou

Jai apris le php :-? , j'ai tous fait et reussi tous les tp sur www.sitesuzero.com, bon je me lance j'ai ruessi pas mal de mais scripte, mais celui la j'admet que je me suis scratcher, bref merci beaucoup !

Répondre à pyrra2000@IDN

Citation :


pyrra2000 a écrit :
Jai apris le php :-?



Appris est différent de lire et de c/c tout le code php du siteduzero ....

Je suis peut etre direct dans ma reflexion, et n'a pas but de t'offenser, mais tu ne sais pas faire de requete correct. Alors je ne dis pas le mot apprendre stp ;)

$sql="SELECT login,password FROM latable WHERE login='".$_POST['pseudo']."' AND password='".md5($_POST['motdepass']);

La présentation est déja un peut mieux ;)

Plutot que d'extraire le pseudo/pass dans une boucle avec un if en prime, effectue plutot un count() pour gagner du temps et seulement apres extraire les donnée si elle sont correct et les stoqué dans des variable de SESSION.

Répondre à okinou

Citation :


Okinou a écrit :

Plutot que d'extraire le pseudo/pass dans une boucle avec un if en prime, effectue plutot un count() pour gagner du temps et seulement apres extraire les donnée si elle sont correct et les stoqué dans des variable de SESSION.


en extrayant tout de suite les données, de plus avec un LIMIT 1, je pense que ce sera plus rapide et plus simple que de refaire une requète par la suite (sauf s'il y a une trentaine de colonnes, on pourra alors en rediscuter)

Répondre à ritzle

Si tu as 2 champ évidament ...

si tu en a 20 et qu'il ya des centaine d'enregistrement, plutot milliers allons nous dire, c'est plus avantageux de faire petit à petit pour éviter d'extraire des choses inutile.

Répondre à okinou

bref, je sais que je ne suis pas fort mais faut un debut a tous ! bref donc si je comprend bien tu veu que je fasse un count mais explique toi mieu, aufaite pour phpdebutant .org je trouve que leur fasson de coder n'est pas trés explicite... desoler hain, mais depuis que mon technicien php ma larguer, je suis obliger de faire tous tous seul, et c'est un peu chaud :cry:

Répondre à pyrra2000@IDN

bon je vais sur phpfacile pour essayer de comprendre mieu, car si je, peu vou dire, quand on et larguer dansq le php et quon sais pas trop comment faire, faut toujour avoire quelqun qui puisse nous rediriger et nous dire a ne pas faire les même erreure
et moi c'est en fesant des fautes que j'apprend ^^

Répondre à pyrra2000@IDN

else if ( !empty($_SESSION['pseudo']) && !empty($_SESSION['mpd']) ) {
mysql_connect("localhost", "***", "***" );
mysql_select_db("***" );

$sql = "SELECT * FROM em WHERE pseudo = ' ".$_SESSION['pseudo']." ' AND mdp = ' ".$_SESSION['mdp']." ' ";
$retour = mysql_query($sql);

if ( $_SESSION['pseudo'] == $retour['pseudo'] AND $_SESSION['mpd'] == $retour['mpd'] ) {
echo "reussi";
} else {
echo "raté";
}
}

Répondre à bosco@idn

merci beaucoup, mais maitenan c'est trop tard :-( je travaille a avec phpfacile enfin merci a tous comme même

Répondre à pyrra2000@IDN

:cry: :cry: :cry: :cry: rien en mar'che !!! je pense que je vais me rediriger vers un portaille php :crying:

Répondre à pyrra2000@IDN
Tom's Guide > Forum > Programmation > Probleme PHP/MYSQL
Aller à :

Il y a 270 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens