tester si une valeur est présente dans une table (erreur)
Posté : 20 janv. 2006, 14:16
bonjour,
voila mon soucis, je gère des compte utilisateur et je souhaite qu'a chaque identification je récupere la date de connexion, il y a 2 possibilité :
- Soit il y a déja eu une identification auquel cas je fais juste un update dans la table connexion
- Soit c'est la premiere connexion et je creer une nouvelle enregistrement dans la table connexion
a savoir que connexion a pour attribut "code_cnx, date_cnx et #code_user" et utilisateur "code_user, nom_user"
donc voici le code que j'ai taper a la vérification de l'identification :
et pareil pour l'update (si une identification a deja eu lieu et si le code se trouve dans les 2 table !!
donc voila je pense pas que mon test soit faux donc qu'est ce qui cloche ??
je m'en remet a vos connaissance
cordialement
st0nky ps: pour plus de clarté hésitez pas a me demander
voila mon soucis, je gère des compte utilisateur et je souhaite qu'a chaque identification je récupere la date de connexion, il y a 2 possibilité :
- Soit il y a déja eu une identification auquel cas je fais juste un update dans la table connexion
- Soit c'est la premiere connexion et je creer une nouvelle enregistrement dans la table connexion
a savoir que connexion a pour attribut "code_cnx, date_cnx et #code_user" et utilisateur "code_user, nom_user"
donc voici le code que j'ai taper a la vérification de l'identification :
<?php
session_start();
$nom = $_POST['nom'];
$login = $_POST['login'];
$pass = $_POST['pass'];
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
$sql = mysql_query("SELECT utilisateur.code_categ, code_user, nom_user, login_user, pass_user FROM categorie_user, utilisateur
WHERE categorie_user.code_categ = utilisateur.code_categ AND nom_user = '$nom'
AND login_user = '$login' AND pass_user = '$pass';");
$data = mysql_fetch_array($sql);
$code_user = $data['code_user'];
mysql_close ();
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
$sql2 = "select code_user from connexion where code_user = '$code_user';";
$req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
if(mysql_numrows($sql)==0)
{
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
$sql3 = "insert into connexion values ('','$code_user', '".date("Y-m-d")."')";
$req3 = mysql_query($sql3) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
mysql_close ();
}
else
{
mysql_connect("localhost", "root", "");
mysql_select_db("annuaire");
$sql4 = "UPDATE connexion SET date_cnx = '".date("Y-m-d")."' WHERE code_user = '$code_user'";
$req4 = mysql_query($sql4) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
}
si je vire mon test d'erreur l'insertion se fait (si aucun identification se fait donc si le code_user dans utilisateur ne se trouve pas dans connexionet pareil pour l'update (si une identification a deja eu lieu et si le code se trouve dans les 2 table !!
donc voila je pense pas que mon test soit faux donc qu'est ce qui cloche ??
je m'en remet a vos connaissance
cordialement
st0nky ps: pour plus de clarté hésitez pas a me demander