Enregistrement sans doublons

Eléphant du PHP | 74 Messages

03 févr. 2006, 10:14

Bonjour à tous!

Voila j'ai crée une petite page toute simple qui permet de voir quel utilisateur sest connecté et à quelle date. Je voudrais savoir comment faire pour ne pas réinserer une valeur si l'utilisateur s'est déja connecté aujourd'hui.

Cette page (frequentation.php) est appelé par un bouton sur une autre page avec un <form method="post" action="frequentations.php" name="form1">.
Donc voici le code de "frequentations.php" :
<?php
session_start();
$host="localhost";
$login="root";
$pass="";
$base="ma_base";
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);

$date=date("Y-m-d");
$query = "INSERT INTO ma_table VALUES(NULL, '$date', '$_SESSION[identifiant]')";
mysql_query($query, $connect);
header ("Location: index.php");
?>
Une petite aide siouplait ;)?

Mammouth du PHP | 768 Messages

03 févr. 2006, 10:36

J'aurai créé un champ 'Derniere_cnx' de type 'DATE' dans ma table 'utilisateur' et je l'aurai mis à jour à chaque connexion.
Je sais ça ne répond pas à ta question mais je me vois mal créer une table supplémentaire pour les tracer (ca fait en plus une requete pour vérifier la date de dernière connexion et une requete pour la mise à jour)

Je remarque cette ligne:
$query = "INSERT INTO ma_table VALUES(NULL, '$date', '$_SESSION[identifiant]')";
que si le deuxième champ est au format DATE, tu peux utiliser la fonction MySQL
voici un extrait de la doc (http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html):

Code : Tout sélectionner

CURDATE(), CURRENT_DATE Retourne la date courante au format 'YYYY-MM-DD' ou YYYYMMDD, suivant le contexte numérique ou chaîne : mysql> SELECT CURDATE(); -> '1997-12-15' mysql> SELECT CURDATE() + 0; -> 19971215


ce qui devrait donner:
$query = "INSERT INTO ma_table VALUES (NULL, curdate(), '" . $_SESSION['identifiant'] . ")'";
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 74 Messages

03 févr. 2006, 11:02

Merci.
mais le truc (je viens de m'en appercevoir), c'est que je voudrais aussi, quand j'affiche mes éléments, que ma date se retourne au format "jour_mois_année". Je check les tutos mais ça me plante mon truc, comprends pas tout :oops:
J'aurai créé un champ 'Derniere_cnx' de type 'DATE' dans ma table 'utilisateur' et je l'aurai mis à jour à chaque connexion.
comment mettre à jour? sorry mais ch'suis vraiment Newbie (mais je progresse! pitit à pitit...)

Mammouth du PHP | 768 Messages

03 févr. 2006, 11:07

comment mettre à jour? sorry mais ch'suis vraiment Newbie (mais je progresse! pitit à pitit...)
$req = "UPDATE ma_table SET mon_champDate = curdate() WHERE mon_champIDutilisateur = 233"; // par exemple
Tu pourras t'informer sur les SELECT à cette adresse: http://phpdebutant.org/article63.php
et pour les UPDATE (mise à jour) à cette adresse:
http://phpdebutant.org/article64.php
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Eléphant du PHP | 74 Messages

03 févr. 2006, 16:07

Désolé je n'y arrive pas plus.
Tu peux me tenir la main un peu plus?