Num_rows->pageblanche?

Résolu
Pchpi Messages postés 3 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 30 septembre 2006 - 30 sept. 2006 à 16:41
Pchpi Messages postés 3 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 30 septembre 2006 - 30 sept. 2006 à 18:47
Bonjour!

J'ai eu un léger problème avec l'utilisation du num_rows.
En effet, j'ai commencé par essayer de créer une page sécurisé sur mon serveur local. Le fonctionnement est le suivant: -on remplie un formulaire, cela permet de créer une variable pseudo et une variable mot de passe. Puis un script verifie que les informations existent. Il cherche ensuite dans une base de donnée si l existe une ligne avec le pseudo et le mot de passe.
C'est là qu'intervient le num_rows pour compter combien l'on a de lignes avec à la fois le pseudo et le mot de passe.
Sauf que: le script arrete de s'executer au niveau du mysql_query que va compter le num_rows.
J'ai donc fais plusieurs tests. En remplacant le query par une variable, le num rows focntionne. En laissant le query et en enlevant le num_rows, tout fonctionne.

Je me suis donc dit qu'il y avait un erreur dans l'execution des requêtes bien que le "or die();" ne me donne aucun résultat. J'ai alors mis des @ avant mes requêtes et miracle tout se me à foncionner.

Sauf que lorsque j'ai transferé tout ça sur free... je retombe sur la page blanche digne de Mr.Propre.

Pour avoir mes differents essais:
http://flydiddle.free.fr/contact%20php/

J'ai légèrement alleger par rapport à l'original et n'ai laisser que ce qui peut-etre source d'erreur. (j'explique en haut le resultat)

4 réponses

coockiesch Messages postés 2268 Date d'inscription mercredi 27 novembre 2002 Statut Membre Dernière intervention 13 septembre 2013 4
30 sept. 2006 à 18:26
Salut!
$resource = mysql_query( ... ) or die( 'Erreur MySQL: ' . mysql_error() );
if( !mysql_num_rows( $resource ) )
  // pas d'enregistrement ici

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
3
cs_jean84 Messages postés 449 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 5 mars 2009
30 sept. 2006 à 16:59
On peut avoir les codes en question ?

@+
0
Pchpi Messages postés 3 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 30 septembre 2006
30 sept. 2006 à 18:19
ils sont dans le lien que j'ai mis.  http://flydiddle.free.fr/contact%20phphttp://flydiddle.free.fr/contact%20php/
mais voila là partie interessante dans la version qui marcher sans problèmes en local et pas du tout en ligne:

[...]
 $login = htmlentities($_POST['login_con'], ENT_QUOTES);
 $password = htmlentities($_POST['pass_con'], ENT_QUOTES);
//on récupère les informations de connections
 $log = $_SESSION['bdd_login'];
 $pas = $_SESSION['bdd_password'];
 $host = $_SESSION['bdd_host'];
 $base = $_SESSION['bdd_base'];
 $connect = mysql_connect("$host", "$log", "$pas") or die(mysql_error());
 @mysql_select_db("$base") or die(mysql_error());
 $resource = @mysql_query("SELECT * FROM ne_membres WHERE pseudonyme='$login' and password='$password'", $connect) or die (mysql_error());
 $num_rows = @mysql_num_rows($resource);
 
 if ($num_rows != NULL) // controle d'existence du joueur
{
[...]

Voila!!
0
Pchpi Messages postés 3 Date d'inscription samedi 30 septembre 2006 Statut Membre Dernière intervention 30 septembre 2006
30 sept. 2006 à 18:47
Merci, l'erreur venait également d'un point en trop à la connection. Mais grace à ton truc, j'ai pu enlever les @ et ça me semble tout de même plus propre.
0
Rejoignez-nous