zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 2012
-
24 avril 2005 à 14:46
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 2012
-
30 avril 2005 à 12:06
Bonjour,
Voilà, j'ai un problème, j'ai téléchargé un espace membres sur le net, très bien d'ailleurs, et j'ai essayé de le modifier pour qu'il m'affiche le nombre de jours de connexion, c'est à dire si je me connectes lundi, mercredi, jeudi, il m'affichera 3. Le truc c est que j'ai créer un champ $lastlog, qui est la dernière connexion. Ce champ devrait contenir la date de la dernière connexion sur le site. J'ai également ajouter $nbjours, qui dit le nombre de jours de connexion sur le site. En fait, à la connexion, je regarde si $lastlog est egal a aujourd'hui sinon je fais +1 à $nbjours, ensuite j'acualise $lastlog.
En théorie, ca marche, mais en pratique c est différent.
ERREUR: Bienvenue dans votre espace membre, c'est votre 0eme jour de connexion.
Je vous laisse regarder la page de verification de la connexion et de l inscription...
$message1 = '<html> Bonjour ' . $pseudo . ' et bienvenue sur site. ';
$message1 . = '';
$message1 .= '
Merci pour votre inscription !
';
$message1 .= 'Voici un rappel de vos identifiants, gardez les précieusement :
';
$message1 .= 'Votre Pseudo :' . $pseudo .'.
';
$message1 .= 'Votre Mot de passe:' . $mdp .'.
';
$message1 .= 'Votre Mail:' . $mail .'.
';
$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre à jour.
';
$message1 .= 'Copiez ou cliquez sur le lien ci-dessous pour activer votre compte:
';
$message1 .= 'http://site.com/membres/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '
$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo'") or die (mysql_error());
$donnees = mysql_fetch_array($verification)or die (mysql_error());
if($donnees['COUNT(*)'] >= 1)
{
$reponse = 'Désolé, ce pseudo est déjà utilisé, merci d\'en choisir un nouveau. [javascript:history.back(1) Retour au formulaire]';
}
else
{
$verification2 = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE mail='$mail'") or die (mysql_error());
$donnees2 = mysql_fetch_array($verification2)or die (mysql_error());
if($donnees2['COUNT(*)'] >= 1)
{
$reponse = 'Cette adresse e-mail est déjà utilisé, veuillez en choisir une autre. [javascript:history.back(1) Retour au formulaire]';
}
elseif( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail))
{
$reponse = 'Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]';
}
elseif( $mdp != $verif_mdp)
{
$reponse = 'Les mots de passe ne sont pas identiques, [javascript:history.back(1) Retour au formulaire]';
}
elseif( $pseudo == $parrain)
{
$reponse = 'Vous ne pouvez pas vous parrainer vous-même! [javascript:history.back(1) Retour au formulaire]';
}
else
{
mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$lastlog', '$nbjours', '$parrain')");
$reponse = 'Bravo, vous êtes maintenant inscrit sur mon site.
Vous allez recevoir un mail pour activer votre compte.
http://www.site.com/">Retour à l\'Accueil';
$email_admin = [mailto:'mon_mail@moi.com' 'mon_mail@moi.com'];
$entete = "MIME-Version: 1.0\r\n";
$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
$entete .= "From: <$email_admin>\r\n";
$entete .= "Reply-To: $email_admin\r\n";
mail($mail,'Inscription sur Gamwin' . $login .'.' , $message1, "$entete");
}
}
}
else
{
$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. [javascript:history.back(1) Retour au formulaire]';
}
?>
<html>
<? echo "$reponse"; ?>
</html>
structure de la table:
CREATE TABLE `pdf_membre` (
`id` int(11) NOT NULL auto_increment,
`pseudo` varchar(255) NOT NULL default '',
`pass` varchar(255) NOT NULL default '',
`mail` varchar(255) NOT NULL default '',
`confirm` text NOT NULL,
`lastlog` date NOT NULL default '',
`nbjours` int(11) NOT NULL default '',
`parrain` text NULL,
KEY `id` (`id`)
)
je sais deja que mktime() c est faux, mais je sais pas quoi mettre à la place, parce que je prefererais qu'il m'insère dans la bdd que la date, mais je connais pas la fonction... Alors si qqn peut deja m'aider pour ca ce serait deja cool...
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 24 avril 2005 à 15:19
lol, ca change quoi? Le code la il est condenser je trouve, il y a juste les 3 sauts de ligne à la fin, mais ils se font automatique.
Sinon, tu peux m'aider???
merci
F
Vous n’avez pas trouvé la réponse que vous recherchez ?
KheYrO
Messages postés22Date d'inscriptiondimanche 19 décembre 2004StatutMembreDernière intervention24 avril 2005 24 avril 2005 à 23:40
Yo!
je sais pâs si ca vient de la mais le $nbjour = $nbjour + + ça veut rien dire, soit tu met $nbjour += 1 ou $nbjour = $nbjour + 1 (ou je crois ++$nbjour) et pourquoi un = = ??? c'est reservé au if.
Voilà essaye et dis-moi
CiaO
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 26 avril 2005 à 13:03
merci c est cool, c'est une erreur de moins lol, mais ca marche tjs pas.
Sinon je voudrais savoir c est quoi le code php pour insérer une date (sans l'heure) dans une bdd???
Parce que je crois qu il y a une erreur qui vient de là.
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 27 avril 2005 à 11:53
et je peux faire comment pour qu il insère dans la bdd une date au format aaaa-mm-jj, je parle du php. Moi j'en ai besoin que pour faire des comparaisons, alors après j'aurais pas besoin de convertir il me semble.
Pour l'instant j'ai ceci qui s insere dans la bdd a l inscription. Mais le prob, c est que j ai deja modifier ma base pour qu elle insere des dates au format aaaa-mm-jj:
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 27 avril 2005 à 12:07
Je viens de trouver un tuto sur le net. Mais je sais pas si c est adaptable a ma situation:
<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'login', 'password');
// on seléctionne la base
mysql_select_db('nom_de_la_base',$db);
// on crée la requete SQL
$sql = 'SELECT nom,prenom,statut,DATE_FORMAT(date, '%d-%m-%Y') as datefr FROM famille_tbl';
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrement en cours
echo ''.$data['nom'].' '.$data['prenom'].' ('.$data['statut'].')';
echo ' date de naissance : '.$data['datefr'].' ';
}
// on ferme la connexion à mysql
mysql_close();
?>
merci d'avance,
F
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 30 avril 2005 à 09:09
dsl, j'ai cru que tout marchait, mais une erreur inconnue persiste: Si je me connectes sur mon site ayant 0 jours de connexion et la date est la date d'inscritpion (différente d aujourd'hui). Tout ceci est insérer correctement à l'inscription dans la bdd, j ai verifié. Quand je me connectes, il m'affiche c'est mon 1er jour de connexion donc il a fait +1 a $nbjours. Jusque là tout va bien. Mais si dans la bdd je change la date de derniere connexion pour pouvoir me reconnecter aujourd'hui, tout marche, mais apres lorsque je me connectes sur le site, il me met c est votre 1er jour de connexion alors qu'il devrait mettre c est votre 2eme jour de connexion.
Bon, j'ai tout essayé je trouve pas.
Voilà le code:
<?
session_start();
require "conf.php3";
mysql_connect("$sql_serveur","$sql_login","$sql_pass");
mysql_select_db("$sql_bdd");
mysql_query("SELECT nbjours, lastlog FROM pdf_membre WHERE pseudo='$pseudo'");
zut69
Messages postés354Date d'inscriptionlundi 26 juillet 2004StatutMembreDernière intervention26 juin 20121 30 avril 2005 à 12:06
ah ouai ok merci, ca irait aussi, mais bon la j'ai trouvé l'erreur, en faite le prob c'etait simplement que je ne recuperai pas le nbjours actuel donc il faisait +1 a quelque chose d'inconnu, donc 0 alors il me mettait tjs 1 dans la bdd, parce que j actualisai a la fin.
mnt c est ok,
merci encore pour ton aide,
F