Si le contenu est vide

Résolu
abina2009 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   -  
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   9
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   61
 
mysql_close(); ne marche pas ?
quelle erreur exa ?
0
abina2009 Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
merci, j'avance mieux maintenant.
mille fois merci...........................
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
Comment on passe le sujet en résolu ?
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   61
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   61
 
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