Date, problème dans la base de données

Résolu
Bonjour,

tous d'abord voila mon code :

<?php
//On verifie que le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'], $_POST['avatar']) and $_POST['username']!='')
{
	//On enleve lechappement si get_magic_quotes_gpc est active
	if(get_magic_quotes_gpc())
	{
		$_POST['username'] = stripslashes($_POST['username']);
		$_POST['password'] = stripslashes($_POST['password']);
		$_POST['passverif'] = stripslashes($_POST['passverif']);
		$_POST['email'] = stripslashes($_POST['email']);
		$_POST['avatar'] = stripslashes($_POST['avatar']);
	}
	//On verifie si le mot de passe et celui de la verification sont identiques
	if($_POST['password']==$_POST['passverif'])
	{
		//On verifie si le mot de passe a 8 caracteres ou plus
		if(strlen($_POST['password'])>=8)
		{
			//On verifie si lemail est valide
			if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_'{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
			{
				//On echape les variables pour pouvoir les mettre dans une requette SQL
				$username = mysql_real_escape_string($_POST['username']);
				$password = mysql_real_escape_string($_POST['password']);
				$email = mysql_real_escape_string($_POST['email']);
				$avatar = mysql_real_escape_string($_POST['avatar']);
				$ip = $_SERVER["REMOTE_ADDR"];
				//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
				$dn = mysql_num_rows(mysql_query('select id from users where username="'.$username.'"'));
				if($dn==0)
				{
					//On recupere le nombre dutilisateurs pour donner un identifiant a lutilisateur actuel
					$dn2 = mysql_num_rows(mysql_query('select id from users'));
					$id = $dn2+1;
$password = isset($_POST['password']) ? trim(md5($_POST['password'])) : ''; 
					//On enregistre les informations dans la base de donnee
					if(mysql_query('insert into users(id, username, password, email, avatar, signup_date, ip) values ('.$id.', "'.$username.'", "'.$password.'", "'.$email.'", "'.$avatar.'", "'.time().'", "'.$ip.'")'))
					{
						//Si ca a fonctionne, on naffiche pas le formulaire
						$form = false;?>
<div class="message">Vous avez bien été inscrit. Vous allez etre redirigez vers la page de connexion.<br />
<a href="connexion.php">Se connecter</a></div>
<meta http-equiv="refresh" content="0;url=connexion.php" />


J'aurais aimé savoir si quelqu'un pourrait m'aider car, lors de l'inscription, j'ai des "0" à la place de la date d'inscription (signup_date).

Merci beaucoup pour votre aide.

Tous le reste fonctionne parfaitement.

6 réponses

  1. Ca marche très bien, merci beaucoup pour ton aide. j'ai pas fais attention au "time" au lieu de "date".
    1. Vous insérez dans le champ date le résultat de time()

      C'est pas bon.

      Remplacez time() par date("Y-m-d");
      1. Vous avez mon code sur mon premier post et la date s'enregistre par defaut donc en AAAA-MM-JJ.

        Je retranscrit ensuite la date en français mais là, pas de souci.

        Le seul souci que j'ai c'est qu'elle s'enregistre pas dans ma base de donnée.

        Si quelqu'un à une idée, je suis preneur.
        1. la date doit être enregistrée au format AAAA-MM-JJ

          Enregistrez-vous dans ce format?
          1. Elle est bien en date mais pourquoi elle m'affiche que des "0" au lieu de la vraie date ?

            Quelqu'un aurait une idée ?

            Merci par avance.
            1. Bonjour,

              Si votre champ est bien de type "date", la date doit être enregistrée au format AAAA-MM-JJ, par exemple, pour aujourd'hui: 2014-01-26

              A+