IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Une Année en plus dans Mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 504
    Points : 128
    Points
    128
    Par défaut Une Année en plus dans Mysql
    Bonjour,

    j'ai un petit problème et je ne vois pas où ça coince :

    j'ai un formulaire d'inscription qui fonctionne bien ..sauf que l'année saisie en date de naissance (1980 par exemple.. ) se transforme en 1981 dans ma base de données..bref toujours +1 ????

    Merci de votre aide.

    pdf_inscription.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />	
    <title>MON SITE</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    <!-- début de la vérification si tout est saisi -->
    <script type="text/javascript">
    function valide(txt, err_id)
    { document.getElementById(err_id).innerHTML= (txt.value=="") ? "Attention &agrave; bien remplir toutes les cases !" : "&nbsp;"; }
    </script>
    <!-- fin de la vérification si tout est saisi -->
    </head>
     
    <body>
     
    <?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
     
    <div id="mainContent">
     
    <form name="form1" method="post" action="pdf_inscription2.php">
    <p />
    <br />
    <fieldset><legend> &nbsp; Inscription sur MON SITE </legend>
     
    <label for="pseudo">Pseudo &nbsp; : &nbsp;</label> 
    <input type="text" tabindex="1" name="pseudo" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Mot de Passe :</label>
    <input type="password" tabindex="2" name="mdp" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Retapez votre mot de passe &nbsp; : &nbsp;</label>
    <input type="password" tabindex="3" name="verif_mdp" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Votre E-Mail &nbsp; : &nbsp;</label>
    <input type="text" tabindex="4" name="mail" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Nom&nbsp; : &nbsp;</label> 
    <input type="text" tabindex="5" name="nom" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Prenom &nbsp; : &nbsp;</label> 
    <input type="text" tabindex="6" name="prenom" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <label for="pseudo">Ville :</label> 
    <input type="text" tabindex="8" name="ville" onfocus="this.className='textarea_focus';" onblur="this.className='';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="pseudo">Date de Naissance &nbsp; : &nbsp; </label>
     <?php
    // connexion à la base
    require("configuration.php");
    $sql = connect_sql();
    // début de la troixième requête sur les jours
    echo '<label>'.'Jour &nbsp; : &nbsp; '.'</label>';
    echo '<select name="jour2" class="jj" tabindex="9" onfocus="this.className=\'jj_focus\';" onblur="this.className=\'\';">';
    $affich_form3 = "SELECT * FROM jours" ;
    $resultat3 = mysql_query($affich_form3) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($resultat3);
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($resultat3) == 0)
    {
    echo '<option>Aucun</option>';
    } // fin si rien dans la liste
    else
    {
    while ( $list = mysql_fetch_array( $resultat3 ) )
    {
    echo '<option value="'.$list['jour'].'">'.$list['jour'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la troixième requête sur les jours
     
    // début de la quatrième requête sur les mois
    echo '<label>'.'Mois &nbsp; : &nbsp; '.'</label>';
    echo '<select name="mois2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'\';">';
    $affich_form4 = "SELECT * FROM mois" ;
    $resultat4 = mysql_query($affich_form4) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($resultat4);
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($resultat4) == 0)
    {
    echo '<option>Aucun</option>';
    } // fin si rien dans la liste
    else
    {
    while ( $list = mysql_fetch_array( $resultat4 ) )
    {
    echo '<option value="'.$list['Nb'].'">'.$list['mois'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la quatrième requête sur les mois
     
    echo '<br />';
    echo '<br />';
     
    // début de la cinquième requête sur les années
    echo '<label>'.'Ann&eacute;e &nbsp; : &nbsp; '.'</label>';
    echo '<select name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'\';">';
    $affich_form5 = "SELECT * FROM annee" ;
    $resultat5 = mysql_query($affich_form5) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($resultat5);
    //On vérifie que la table contient quelque chose
    if
    (mysql_num_rows($resultat5) == 0)
    {
    echo '<option>Aucun</option>';
    } // fin si rien dans la liste
    else
    {
    while ( $list = mysql_fetch_array( $resultat5 ) )
    {
    echo '<option value="'.$list['Nb'].'">'.$list['an'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la cinquième requête sur les années
     
    ?>
    <br />
    </fieldset>
    <input type="submit" tabindex="10" name="Submit" value="Inscription" />
    </form>
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
    </body>
    </html>
    si"submit" => pdf_insciption2.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    <?php
    session_start(); //On démarre une session
    require("configuration.php"); //On insert le fichier qui contient les informations
     
    $mail = ($_POST['mail']);
     
        if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
        {
    		$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
    		$confirm = str_shuffle($chaine); //On créé le code de confirmation
    		//On recupère les informations saisies
    		$pseudo2=($_POST['pseudo']);
    		$mdp = ($_POST['mdp']);
    		$verif_mdp = ($_POST['verif_mdp']);
    		$nom = ($_POST['nom']);
    		$prenom = ($_POST['prenom']);
    		$ville = ($_POST['ville']);
    		// création de la date au format date MySQL
    		$born=$_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
    		$vote=0;
     
    		$remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o' );
    		$pseudo = strtr($pseudo2, $remplacements);
     
    		//On remet les dates au format français pour le mail
    		setlocale (LC_TIME, 'fr_FR.UTF8');
    		$born_mail = strftime("%A %d %B %Y",strtotime("$born"));
     
    		/*On Fait la variable contenant le mail de confirmation*/
    		header('Content-Type: text/html; charset=UTF-8');
    		$message1 =  '<html>'.'<body>'.'Bonjour '.'<b>'.$pseudo.'</b>'.' et bienvenue sur '.$nom_site; 
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Vous venez de vous inscrire et nous sommes heureux de pouvoir vous compter aujourd\'hui parmi nos membres'; 
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '<a href="' .$url_script. '/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '">Cliquer pour confirmer votre inscription</a>.</p>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Voici un rappel de vos identifiants, notez les pr&eacute;cieusement : ';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Pseudo : '.'<b>'.$pseudo.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Mot de passe : '.'<b>'.$mdp.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Mail : '.'<b>'.$mail.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Nom : '.'<b>'.$nom.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Pr&eacute;nom : '.'<b>'.$prenom.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Ville : '.'<b>'.$ville.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Votre Date de naissance : '.'<b>'.$born_mail.'</b>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre &agrave; jour';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '&agrave; tr&egrave;s bient&ocirc;t sur le site !';
    		$message1 .= '<br>'.'</br>';
    		$message1 .= '<a href="'.$url_site.'">MON SITE</a>.</p>';
     
    		$sql = connect_sql(); //On se connecte à MySQL
    		$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo' OR mail='$mail'") or die (mysql_error());
    		$donnees = mysql_fetch_array($verification)or die (mysql_error());
     
    		if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
    		{ 
    		$reponse = 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
    		}
    		else
    		{	
    			if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) ) //On verifie que les variables précédentes ne soient pas vide
    			{
    			$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' pseudo : '.'<b>'.$pseudo.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' mot de passe : '.'<b>'.$mdp.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' verif mot de passe: '.'<b>'.$verif_mdp.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' mail : '.'<b>'.$mail.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' nom : '.'<b>'.$nom.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' prenom : '.'<b>'.$prenom.'</b>';
    			$message1 .= '<br>'.'</br>';
    			$reponse .= ' naissance : '.'<b>'.$born_mail.'</b>';
    			$message1 .= '<br>'.'</br>';
     
     
    			}
    			elseif( $mdp != $verif_mdp) //On verifie que les 2 pass sont identiques
    			{
    			$reponse = 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
    			}
    			else //Si tout est bon on entre les données dans la BDD et on envoit le mail
    			{
    			mysql_query("SET NAMES 'utf8'");
    			mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$nom', '$prenom', '$ville', '$born', '$vote')");
    			$reponse = '<strong>'.'Bravo, vous &ecirc;tes maintenant inscrit sur ' .$nom_site. '. <br>Vous allez recevoir un e-mail dans quelques instants pour activer votre compte'.'</strong>'.
    			'</br>'.'<br>'.'</br>'.'<a href="' .$url_site. '">Retour &agrave; l\'Accueil</a>';
    			$entete = "MIME-Version: 1.0\r\n";
    			$entete .= "Content-type: text/html; charset=utf-8\r\n";
    			$entete .= "From: <$email_admin>\r\n";
    			$entete .= "Reply-To: $email_admin\r\n";
    			mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    			}
    		}
    	mysql_close($sql); //On se deconnecte
    	}
    	else //Reponse si l'adresse e-mail est une fausse
    	{
    	$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
    	} 	
    ?>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />	
    <title>MON SITE</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
     
    <body>
     
    <?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
     
    <div id="mainContent">
    <br />
    <br />
    <? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->
    </div>
    <p />
    <p />
    <?php include('bas_de_page.php'); ?> <!-- insère le bandeau principal en haut -->
    </body>
    </html>

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    Bonjour ,

    Pour savoir ce qu'il se passe affiche la variable : avant les lignes 19 et 100 du fichier "pdf_insciption2.php" pour voir si elles sont les mêmes.

    Tu en seras plus après cela.

    Cdlt.

  3. #3
    Membre habitué Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 504
    Points : 128
    Points
    128
    Par défaut
    Voici le résultat : les deux dates sont les mêmes..avec un an de plus
    date ligne 1981-3-17
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sdc/8/e/pdf_inscription2.php:20) in /mnt/154/sdc/8/e/fazpedro/pdf_inscription2.php on line 31
    date ligne 1981-3-17

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 62
    Points : 84
    Points
    84
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ( $list = mysql_fetch_array( $resultat5 ) )
    {
    echo '<option value="'.$list['Nb'].'">'.$list['an'].'</option>';
    }
    Ta variable $list['Nb'] elle a quoi comme valeur ? T'es sur qu'elle est égale $list['an'] et donc égale à 1980?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Points : 348
    Points
    348
    Par défaut
    +1 kodeya

    Quand tu récupère ta valeur d'un POST tu récupère le value, donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ( $list = mysql_fetch_array( $resultat5 ) )
    {
    echo '<option value="'.$list['an'].'">'.$list['an'].'</option>';
    }
    Pareil pour mois, jour, etc...

  6. #6
    Membre habitué Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 504
    Points : 128
    Points
    128
    Par défaut
    Merci beaucoup !!!
    ça fonctionne !
    Bonne journée !


    eh oui, il me mettait le Nb au lieu de l'année...

    code concerné et modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while ( $list = mysql_fetch_array( $resultat5 ) )
    {
    echo '<option value="'.$list['an'].'">'.$list['an'].'</option>';

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/02/2009, 11h29
  2. Importer une base en .DBF dans MySQL
    Par Madzeus dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/03/2008, 00h29
  3. [MySQL] Encodage lors d'une insertion de données dans MySQL
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 08/02/2008, 14h24
  4. Une colonne en plus dans ma ListView...
    Par James_ dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/09/2003, 23h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo