Si le contenu est vide

Résolu/Fermé
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 - 11 août 2009 à 13:48
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 - 26 août 2009 à 14:29
Bonjour,
Lorsque j'interroge la table et qu'en fait le résultat est "nul",
pour le récupérer je fais " $data = mysql_fetch_assoc($req);
et comment le comparer avec la valeur de $login ?

18 réponses

TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
11 août 2009 à 13:54
2 possibilités:
soit tu recois tout les logins existants dans $data (qui devient donc un tableau/array), et après tu cherche si un login existe dedans:
in_array($login_voulu, $data) => renvoi 0 si le login est absent, 1s'il est présent

soit ta requete sql fait déjà le tri (je trouve sa mieux, plutot que de demander tout les login, n'en demander qu'un)
dans ce cas ta requete sql doit être "SELECT *FROM index_logins WHERE login=$login_voulu"
et là un simple isset te dira s'il existe
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
11 août 2009 à 14:06
Excusez-moi ,mais je suis encore apprenant. Comment écrire ce "un simple isset te dira s'il existe " ?
je suppose qu'il s'agit d'un " if " compliqué.
0
jean-charles.gibier Messages postés 34 Date d'inscription lundi 10 août 2009 Statut Membre Dernière intervention 18 août 2009 9
11 août 2009 à 14:18
Sinon il y l'opérateur isnull (natif mysql)
http://dev.mysql.com/doc/refman/5.0/fr/comparison-operators.html
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
11 août 2009 à 14:18
un code très simple pour comprendre le isset:
if( isset($i)) echo "la variable est déclarée<br/>";
else echo "la varieble n'est pas délcarée<br/>";

$i;

if( isset($i)) echo "la variable est déclarée<br/>";
else echo "la varieble n'est pas délcarée<br/>";

en gros, le isset est une version basique, très basique du if: le seule paramètre, c'est une variable, et la seule condition pour que isset renvoi 1, c'est que la variable soit déclarée
test ce petit bout de code, tu comprendras,
mais si tu veux que je t'aide un peu plus faut que j'ai des précisions sur ce que tu veux faire, en gros tu as une table qui contient des login et des mot de passe, et tu veux vérifier qu'un certain $login en fait parti, c'est sa ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
12 août 2009 à 10:12
c'est un peu bizarre; lorsque je ferme la BD avec mysql_close()n il y a toujours un rapport d'erreur qui survient.
moi je ne veux pas laisser ma BD ouverte!
Comment procéder ?
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 10:23
mysql_close(); ne marche pas ?
quelle erreur exa ?
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
12 août 2009 à 10:45
En efet, je travaille avec EasyPHP 3.1
si je fais par exemple: " { header("location:nom_fichier.html");
mysql_close ();
} "
Un rapport d'erreur survient tout de suite .
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 10:51
Quel message d'erreur ?
tu es sur que tu n'essaye pas de fermer la connexion sans l'avoir ouverte ? (experience personnel :P)
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
12 août 2009 à 11:06
Rapport d'erreur Window du genre " Apache HTTP a rencontré un problème et doit fermer.......signaler ce problème..."
mais je pense que vous avez raison: il doit s'agir du fait que je n'ai pas ouvert la BD
Merci.
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 11:16
essaye de remplacer mysql_close(); par @mysql_close(); => rajouter @ avant une commande permet d'ignorer les erreurs php (ici pour une erreur window je sais pas si sa marchera, m'étonerait)
sinon il faut trouver un test pour savoir si la BDD est ouverte, sa je connais pas, mais tu devrais trouver sur le manuel php: https://www.php.net/manual/fr/ (c'est ma bible ;) )
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 11:22
en fait je viens de trouver: la fonction mysql_ping()
http://fr.php.net/manual/fr/function.mysql-ping.php
donc pour ton script:

if(@mysql_ping()) mysql_close();
(@ car si la connexion est fermée mysql_ping renvoi une erreur que l'on ne veut pas afficher)
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
12 août 2009 à 11:35
merci, j'avance mieux maintenant.
mille fois merci...........................
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 11:41
de rien, si besoin est (php, javascript ou n'importe) demande moi par mp, j'apprend petit à petit moi aussi donc si un jour j'ai besoin tu mrenverras la balle =) bonne journée, bonne prog, et tu peu passer le sujet en "résolu"
It was a pleasure ;)
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
12 août 2009 à 11:47
Comment on passe le sujet en résolu ?
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
12 août 2009 à 12:55
normalement c'est sur le premier message, tu dois avoir un bouton si je me rapelle bien
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
13 août 2009 à 12:10
je calé au poster.
Comment je peux envoyer les données d'un formulaire dans deux fichiers php différents ?
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
24 août 2009 à 09:14
nouveau problème ?
imaginons que page_formulaire.php doit etre traité par traitement1.php et traitement2.php (qui n'affiche rien, traitent justent l'information ?) et bien tu créé une page traitement.php qui est la cible du formulaire tel que:

traitement.php
<?php
include("traitement1.php");
include("traitement2.php");
?>
0
abina2009 Messages postés 65 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 20 novembre 2013 4
26 août 2009 à 12:21
Je uis sur le point créer des sessions. Mais je ne sais pas comment on fait pour que après l'identification d'1 utilisateur, je lui ouvre une session, de sorte que son nom puisse s'afficher sur touts les pages qu'il ouvre.
Voici ce que j'ai fait:
après avoir vérifié que les nom et mot de passe sont corrects ,
mysql_connect('localhost','MOI','2009');
mysql_selevt("maison");
..........
mysql_fetch_assoc(....);
J'ai essayé de démarrer une session avec ça:
SESSION_START();
$_SESSION['login'] = $login;
$_SESSION['id'] = $id;
header("location:http://localhost/session0php");
Et après; dans session.php j'ai fait
<?php
SESSION_start();
echo $login;
?>
Mais je vois pas le login de l'utilisateur, le pire c'est qu'on écrit "undifined _VARIABLE on....."
Au secours
0
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 61
26 août 2009 à 14:29
alors déjà passe de mysql_selevt("maison"); à mysql_select
et de header("location:http://localhost/session0php") à localhost/session.php ^^
ensuite l'erreur est toute bête, mais on y pense pas quand on commence à utiliser les sessions:
session.php ne connait pas $login
et non ...
rapelles toi de la variable que tu as déclarée
et oui =) ;)
(et si aucune étincelle n'a jaillit, remplace dans session.php $login par $_SESSION['login'])
0