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 :

Mysql conserver les données après un retour de page [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 Mysql conserver les données après un retour de page
    Bonjour,
    je souhaite conserver les données saisies dans un formulaire d'inscription, après un "submit", afin de les réutiliser si la saisie est incorrecte (que les donneés ne soient pas effacées par le retour en arrière...)
    Merci.

    Voici mes codes :

    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
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    $mail = $result['mail'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
    <div id="mainContent">
     
    <form name="form1" method="post" action="pdf_inscription2.php">
    <p />
    <br />
    <fieldset><legend> &nbsp; Inscription</legend>
     
    <label for="pseudo">Pseudo &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="1" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Mot de Passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="2" name="mdp" value="<?php echo $_POST['mdp']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Retapez votre mot de passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="3" name="verif_mdp" value="<?php echo $_POST['verif_mdp']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mail">Votre E-Mail &nbsp; : &nbsp;</label>
    <br />
    <input type="text" tabindex="4" name="mail" value="<?php echo $_POST['mail']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="nom">Nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="5" name="nom" value="<?php echo $_POST['nom']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="prenom">Pr&eacute;nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="6" name="prenom" value="<?php echo $_POST['prenom']; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="ville">Ville &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="8" name="ville" value="<?php echo $_POST['ville']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="naissance">Date de Naissance &nbsp; : &nbsp;</label>
    <br />
    <br />
     <?php
    // connexion à la base
    // require("configuration.php"); déjà au-dessus
    // $sql = connect_sql(); déjà au-dessus
    // début de la première requête sur les jours
    echo '<label>'.'Jour &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="jour2" class="jj" tabindex="9" onfocus="this.className=\'jj_focus\';" onblur="this.className=\'jj\';">';
    $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>';
    echo '<br />';
    // fin de la première requête sur les jours
     
    // début de la deuxième requête sur les mois
    echo '<label>'.'Mois &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="mois2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $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 deuxième requête sur les mois
    echo '<br />';
     
    // début de la troisième requête sur les années
    echo '<label>'.'Ann&eacute;e &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    $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['an'].'">'.$list['an'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la troisième requête sur les années
    ?>
    <br /><br />
    <input type="submit" tabindex="10" name="Submit" value="Inscription" />
    </fieldset>
    </form>
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
    </body>
    </html>
    pdf_inscription2.php (action du "submit") :
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    <?php
    session_start(); //On démarre une session
    require("configuration.php"); //On insert le fichier qui contient les informations
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    // on remet en minuscules et on enlève les accents dans l'adresse mail
    $mail2 = ($_POST['mail']);
    $remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
    ,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    ,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    ,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    ,'X' => 'x','Y' => 'y','Z' => 'z' );
    $mail = strtr($mail2, $remplacements);
    // requête pour récupérer la connexion ip du client
    	$IPClient2= $_SERVER[REMOTE_ADDR] ;
        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'
    		,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    		,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    		,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    		,'X' => 'x','Y' => 'y','Z' => 'z' );
    		$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);
     
    			// on envoie également le mail à l'administrateur
    			header('Content-Type: text/html; charset=UTF-8');
    			$message2 =  '<html>'.'<body>'.'Bonjour '.'</br>'.'<b>'.$pseudo.'</b>'.' vient de s inscrire sur '.$nom_site; 
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'Pseudo : '.'<b>'.$pseudo.'</b>'.'</br>';
    			$message2 .= 'Mot de passe : '.'<b>'.$mdp.'</b>'.'</br>';
    			$message2 .= 'Mail : '.'<b>'.$mail.'</b>'.'</br>';
    			$message2 .= 'Nom : '.'<b>'.$nom.'</b>'.'</br>';
    			$message2 .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>'.'</br>';
    			$message2 .= 'Ville : '.'<b>'.$ville.'</b>'.'</br>';
    			$message2 .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'IP de connexion : '.'<b>'.$IPClient2.'</b>';
     
    			$entete2 = "MIME-Version: 1.0\r\n";
    			$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    			$entete2 .= "From: <$email_admin>\r\n";
    			$entete2 .= "Reply-To: $email_admin\r\n";
    			mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    			}
    		}
    	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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
    <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
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    la solution la plus simple est de mettre le formulaire et le traitement dans la même page.

    Le principe (que j'utilise) :
    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
    <?php
    // TRAITEMENT si formulaire envoyé
    $validform = 0;
    $msgerreur = '';
    if(isset($_POST['boutonEnvoiFormulaire']) { // nom du bouton submit (en general)
    	// recuperation des donnees
    		$data1 = $_POST['$data1'];
    		// [..........]
    	// gestion d'erreur
    	// si on rencontre une erreur => 
    		// [..........]
    		$validform = 2;
    		$msgerreur .= '...........';
    	// pas d'erreur ? => $validform = 1;
    	if($validform != 2) $validform = 1;
    	// si pas d'erreur => ON TRAITE
    	if($validform == 1) 
    	{
    		// TRAITEMENT des donnees
    		// [..........]
    	}
    	unset($_POST);
    }
    ?>
     
    <?php // affichage message d'erreur eventuel
    if($validform == 2) 
    {
    ?>
    		<p><?php echo $msgerreur; ?></p>
     
    <?php
    }
    ?>
     
    <?php // AFFICHAGE du formulaire
    if($validform != 1) 
    {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
    		<!-- [.....formulaire.....] -->
    		<input type="text" name="data1" value="<?php echo $data1; ?> />
    		<!-- [..........] -->
    <?php
    }
    ?>
    Et rien ne t'empêche de mettre la partie "traitement" dans un fichier externe, que tu mets juste en "include" ... (histoire de facilité la lisibilité des codes)

  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
    j'ai modifié les codes mais j'ai le message d'erreur suivant :
    Parse error: syntax error, unexpected '{' in pdf_inscription2.php on line 15

    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
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    $mail = $result['mail'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
    <div id="mainContent">
     
    <form name="form1" method="post" action="pdf_inscription2.php">
    <p />
    <br />
    <fieldset><legend> &nbsp; Inscription</legend>
    <?php include('pdf_inscription2.php'); ?> <!-- insère le traitement du formulaire -->
     
    <?php // AFFICHAGE du formulaire
    if($validform != 1) 
    {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
    <label for="pseudo">Pseudo &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Mot de Passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="2" name="mdp" value="<?php echo $mdp_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Retapez votre mot de passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mail">Votre E-Mail &nbsp; : &nbsp;</label>
    <br />
    <input type="text" tabindex="4" name="mail" value="<?php echo $mail_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="nom">Nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="5" name="nom" value="<?php echo $nom_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="prenom">Pr&eacute;nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="6" name="prenom" value="<?php echo $prenom_affiche; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="ville">Ville &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="8" name="ville" value="<?php echo $ville_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="naissance">Date de Naissance &nbsp; : &nbsp;</label>
    <br />
    <br />
     <?php
    // connexion à la base
    // require("configuration.php"); déjà au-dessus
    // $sql = connect_sql(); déjà au-dessus
    // début de la première requête sur les jours
    echo '<label>'.'Jour &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="jour2" class="jj" tabindex="9" onfocus="this.className=\'jj_focus\';" onblur="this.className=\'jj\';">';
    $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>';
    echo '<br />';
    // fin de la première requête sur les jours
     
    // début de la deuxième requête sur les mois
    echo '<label>'.'Mois &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="mois2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $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 deuxième requête sur les mois
    echo '<br />';
     
    // début de la troisième requête sur les années
    echo '<label>'.'Ann&eacute;e &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    $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['an'].'">'.$list['an'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la troisième requête sur les années
    ?>
    <br /><br />
    <input type="submit" tabindex="10" name="Submit" value="Inscription" />
    </fieldset>
    </form>
    <?php
    }
    ?>
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
    </body>
    </html>
    pdf_inscription2.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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    <?php
    session_start(); //On démarre une session
    // require("configuration.php"); //On insert le fichier qui contient les informations
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
     
    // TRAITEMENT si formulaire envoyé
    $validform = 0;
    $msgerreur = '';
    if(isset($_POST['boutonEnvoiFormulaire']) {	// nom du bouton submit (en general)
    // recuperation des donnees
    //On recupère les informations saisies
    $mail_affiche=($_POST['mail']);
    $pseudo_affiche=($_POST['pseudo']);
    $mdp_affiche = ($_POST['mdp']);
    $verif_mdp_affiche = ($_POST['verif_mdp']);
    $nom_affiche = ($_POST['nom']);
    $prenom_affiche = ($_POST['prenom']);
    $ville_affiche = ($_POST['ville']);
    // gestion d'erreur si on rencontre une erreur
    $validform = 2;
    $msgerreur .= 'Erreur du formulaire ';
    // pas d'erreur ? => $validform = 1;
    if($validform != 2) $validform = 1;
    // si pas d'erreur => ON TRAITE
    if($validform == 1) 
    {
     
    // on remet en minuscules et on enlève les accents dans l'adresse mail
    $mail2 = ($_POST['mail']);
    $remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
    ,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    ,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    ,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    ,'X' => 'x','Y' => 'y','Z' => 'z' );
    $mail = strtr($mail2, $remplacements);
    // requête pour récupérer la connexion ip du client
    	$IPClient2= $_SERVER[REMOTE_ADDR] ;
        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'
    		,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    		,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    		,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    		,'X' => 'x','Y' => 'y','Z' => 'z' );
    		$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) || empty($ville) ) //On verifie que les variables précédentes ne soient pas vide
    			{
    			$reponse = 'Un ou plusieurs champs ne sont pas remplis :';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= '<a href="javascript:history.back(1)">Retour au formulaire</a>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Pseudo : '.'<b>'.$pseudo.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Mail : '.'<b>'.$mail.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Nom : '.'<b>'.$nom.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Ville : '.'<b>'.$ville.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
    			$reponse .= '<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);
     
    			// on envoie également le mail à l'administrateur
    			header('Content-Type: text/html; charset=UTF-8');
    			$message2 =  '<html>'.'<body>'.'Bonjour '.'</br>'.'<b>'.$pseudo.'</b>'.' vient de s inscrire sur '.$nom_site; 
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'Pseudo : '.'<b>'.$pseudo.'</b>'.'</br>';
    			$message2 .= 'Mot de passe : '.'<b>'.$mdp.'</b>'.'</br>';
    			$message2 .= 'Mail : '.'<b>'.$mail.'</b>'.'</br>';
    			$message2 .= 'Nom : '.'<b>'.$nom.'</b>'.'</br>';
    			$message2 .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>'.'</br>';
    			$message2 .= 'Ville : '.'<b>'.$ville.'</b>'.'</br>';
    			$message2 .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'IP de connexion : '.'<b>'.$IPClient2.'</b>';
     
    			$entete2 = "MIME-Version: 1.0\r\n";
    			$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    			$entete2 .= "From: <$email_admin>\r\n";
    			$entete2 .= "Reply-To: $email_admin\r\n";
    			mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    			}
    		}
    	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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
    <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>
     
    <?php
    }
    unset($_POST);
    }
    // affichage message d'erreur eventuel
    if($validform == 2) 
    {
    ?>
    <p><?php echo $msgerreur; ?></p> 
    <?php
    }
    ?>

  4. #4
    Invité
    Invité(e)
    Par défaut
    - Enlève le session_start() ; du fichier pdf_inscription2.php
    car il est en "include" dans pdf_inscription.php, qui contient déjà session_start() ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '{' in pdf_inscription2.php on line 15
    Une accolade en trop ou manquante ?
    Il suffit de la trouver... ligne 15 (?)
    ... ou peut-être une ) manquante juste avant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['boutonEnvoiFormulaire'])) {	// nom du bouton submit (en general)
    Autre chose :
    -> pourquoi mettre les $_POST entre paranthèses (inutiles) ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom = ($_POST['nom']);
    Cela dit, test en tapant (par exemple) comme nom : " c'est <moi> ! "
    Tu verras que tu auras sûrement besoin de traiter les données recues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom = htmlentities(stripslashes(trim($_POST['nom'])));
    stripslashes()) ou pas ? Ca dépend du traitement qui suis...
    Dans ton cas, je ne le mettrai pas (car les données sont écrites dans ta variable $message1)

    Enfin, ton "remplacement de caractères" peut se faire comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    function remplacements($chaine)
    {
     
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    }
    // [ ......... ]
    $mail2 = $_POST['mail'];
    $mail = remplacements($mail2);
    ?>
    Dernière modification par Invité ; 01/08/2011 à 13h11.

  5. #5
    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
    il manquait une parenthèse, j'ai modifié en ligne 15 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['boutonEnvoiFormulaire'])) {	// nom du bouton submit (en general)
    par contre, quand je clique sur "Inscription" il me renvoie vers une page blanche
    (.../pdf_inscription2.php ... et pas de message d'erreur ! ) ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ton fichier pdf_inscription2.php est en "include" -> il faut donc l'ADAPTER !
    (balises html à enlever, ....car déjà dans pdf_inscription.php, ...)
    Remets le code de pdf_inscription2.php une fois que tu l'auras corrigée, ok?

    Ton fichier pdf_inscription.php est aussi zarbi !
    - améliore l'indentation, qu'on puisse le lire plus facilement
    - <p /> ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php include('pdf_inscription2.php'); ?> <!-- insère le traitement du formulaire -->
     
    <?php // AFFICHAGE du formulaire
    if($validform != 1) 
    {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
    -> doit se trouver avant la balise <form>
    - ...

    Bref : c'est le souk dans ton fichier !
    - remets les choses à la bonne place,
    - écrit proprement tes fichiers (indentation, formulaire, ...)
    Et ca ira bien mieux !

  7. #7
    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
    @ jreaux62 :
    j'ai essayé de mettre tout sur une même page, mais quand je clique sur "Inscription", tout s'efface et il n'y pas d'autre action....
    je suis un cas désespéré...
    c'est pas le "POST" qui pose problème ?
    Merci...

    code pdf_inscription corrigé :
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    $mail = $result['mail'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
     
    <div id="mainContent">
     
    <?php
    // TRAITEMENT si formulaire envoyé
    $validform = 0;
    $msgerreur = '';
    if(isset($_POST['boutonEnvoiFormulaire'])) {	// nom du bouton submit (en general)
    // recuperation des donnees
    //On recupère les informations saisies
    $mail_affiche= $_POST['mail'];
    $pseudo_affiche= $_POST['pseudo'];
    $mdp_affiche = $_POST['mdp'];
    $verif_mdp_affiche = $_POST['verif_mdp'];
    $nom_affiche = $_POST['nom'];
    $prenom_affiche = $_POST['prenom'];
    $ville_affiche = $_POST['ville'];
    // gestion d'erreur si on rencontre une erreur
    $validform = 2;
    $msgerreur .= 'Erreur du formulaire ';
    // pas d'erreur ? => $validform = 1;
    if($validform != 2) $validform = 1;
    // si pas d'erreur => ON TRAITE
    if($validform == 1) 
    {
     
    // on remet en minuscules et on enlève les accents dans l'adresse mail
    $mail2 = ($_POST['mail']);
    $remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
    ,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    ,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    ,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    ,'X' => 'x','Y' => 'y','Z' => 'z' );
    $mail = strtr($mail2, $remplacements);
    // requête pour récupérer la connexion ip du client
    	$IPClient2= $_SERVER[REMOTE_ADDR] ;
        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'
    		,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    		,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    		,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    		,'X' => 'x','Y' => 'y','Z' => 'z' );
    		$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>';
     
    		$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	//On verifie que les variables précédentes ne soient pas vide
    		{	
    			if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) || empty($ville) ) 
    			{
    			$reponse = 'Un ou plusieurs champs ne sont pas remplis :';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= '<a href="javascript:history.back(1)">Retour au formulaire</a>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Pseudo : '.'<b>'.$pseudo.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Mail : '.'<b>'.$mail.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Nom : '.'<b>'.$nom.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Ville : '.'<b>'.$ville.'</b>';
    			$reponse .= '<br>'.'</br>';
    			$reponse .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
    			$reponse .= '<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);
    			// on envoie également le mail à l'administrateur
    			header('Content-Type: text/html; charset=UTF-8');
    			$message2 =  '<html>'.'<body>'.'Bonjour '.'</br>'.'<b>'.$pseudo.'</b>'.' vient de s inscrire sur '.$nom_site; 
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'Pseudo : '.'<b>'.$pseudo.'</b>'.'</br>';
    			$message2 .= 'Mot de passe : '.'<b>'.$mdp.'</b>'.'</br>';
    			$message2 .= 'Mail : '.'<b>'.$mail.'</b>'.'</br>';
    			$message2 .= 'Nom : '.'<b>'.$nom.'</b>'.'</br>';
    			$message2 .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>'.'</br>';
    			$message2 .= 'Ville : '.'<b>'.$ville.'</b>'.'</br>';
    			$message2 .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
    			$message2 .= '<br>'.'</br>';
    			$message2 .= 'IP de connexion : '.'<b>'.$IPClient2.'</b>';
    			$entete2 = "MIME-Version: 1.0\r\n";
    			$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    			$entete2 .= "From: <$email_admin>\r\n";
    			$entete2 .= "Reply-To: $email_admin\r\n";
    			mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    			}
    		}  //fin si c'est bien rempli
     
    	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>';
    	} 	
     
    	echo $reponse; // On affiche la reponse de tout le code du dessus
     
    } // FIN de if($validform == 1) 
    unset($_POST);
    } // FIN de isset $_POST 'EnvoiFormulaire'...
     
    // affichage message d'erreur eventuel
    if($validform == 2) {
    	echo $msgerreur;}
    // AFFICHAGE du formulaire
    if($validform != 1) {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
     
    <p />
     
    <form action="<?$PHP_SELF;?>" method="post" />
    <br />
    <fieldset><legend> &nbsp; Inscription</legend>
     
    <label for="pseudo">Pseudo &nbsp; : &nbsp;</label><br />
    <input type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Mot de Passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="2" name="mdp" value="<?php echo $mdp_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mdp">Retapez votre mot de passe &nbsp; : &nbsp;</label>
    <br />
    <input type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="mail">Votre E-Mail &nbsp; : &nbsp;</label>
    <br />
    <input type="text" tabindex="4" name="mail" value="<?php echo $mail_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="nom">Nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="5" name="nom" value="<?php echo $nom_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="prenom">Pr&eacute;nom &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="6" name="prenom" value="<?php echo $prenom_affiche; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="ville">Ville &nbsp; : &nbsp;</label> 
    <br />
    <input type="text" tabindex="8" name="ville" value="<?php echo $ville_affiche; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    <br />
    <label for="naissance">Date de Naissance &nbsp; : &nbsp;</label>
    <br />
    <br />
     
     <?php
    // début de la première requête sur les jours
    echo '<label>'.'Jour &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="jour2" class="jj" tabindex="9" onfocus="this.className=\'jj_focus\';" onblur="this.className=\'jj\';">';
    $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>';
    echo '<br />';
    // fin de la première requête sur les jours
     
    // début de la deuxième requête sur les mois
    echo '<label>'.'Mois &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="mois2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $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 deuxième requête sur les mois
    echo '<br />';
     
    // début de la troisième requête sur les années
    echo '<label>'.'Ann&eacute;e &nbsp; : &nbsp; '.'</label>';
    echo '<br />';
    echo '<select name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
    $affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    $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['an'].'">'.$list['an'].'</option>';
    } // fin du while
    } // fin du else
    echo '</select>';
    // fin de la troisième requête sur les années
    ?>
    <br /><br />
    <input type="submit" tabindex="10" name="Submit" value="Inscription" />
    </fieldset>
    </form>
    <?php
    }
    ?>
     
    <br /><br />
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    </body>
     
    </html>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par fazpedro Voir le message
    je suis un cas désespéré...
    c'est pas le "POST" qui pose problème ?
    Ce qui pose surtout problème, c'est que tu n'as tenu aucun compte de mes messages !
    Ton code est toujours aussi "sale" !
    - mets des tabulations !!
    - encore <p /> ...

    Je veux bien t'aider, mais fait un effort d'écriture (de ton fichier) ...

    Normal qu'il ne se passe rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['boutonEnvoiFormulaire'])) {	// nom du bouton submit (en general)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" tabindex="10" name="Submit" value="Inscription" />
    -> Ce serait mieux de mettre le même nom ...

    Quand dans mon code j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	// gestion d'erreur si on rencontre une erreur
    	// [.........]
    -> c'est LA qu'il faut faire les TESTS d'erreur ! : vérification de l'email, des champs obligatoires, ...
    -> SI (et seulement SI !) erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     	$validform = 2;
    	$msgerreur .= 'Erreur du formulaire ';
    Il faut quand même que tu essaies de comprendre un minimum ce que tu fais !
    Dernière modification par Invité ; 01/08/2011 à 15h14.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Essaye avec ca :
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    $mail = $result['mail'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <?php // fonction de remplacement de caracteres
    // ==> CETTE FONCTION PEUT ETRE DANS UN FICHIER EXTERNE, et appelée par include
    function remplacements($chaine)
    {
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 		= strtolower(trim($chaine)); // en minuscule
    	$chaine 		= strtr($chaine, $sans_accent, $avec_accent);
    }
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
     
    <div id="mainContent">
     
    <?php
    $validform = 0;
    $msgerreur = '';
    $reponse = '';
    // -------------------------------
    // TRAITEMENT si formulaire envoyé
    // -------------------------------
    if( isset($_POST['boutonEnvoiFormulaire']) ) 
    {
    	// -----------------------------------------
    	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
    	// -----------------------------------------
    	$mail		= $_POST['mail'];
    	$pseudo		= $_POST['pseudo'];
    	$mdp 		= $_POST['mdp'];
    	$verif_mdp 	= $_POST['verif_mdp'];
    	$nom 		= $_POST['nom'];
    	$prenom 	= $_POST['prenom'];
    	$ville 		= $_POST['ville'];
    	// -----------------------------------------
    	// 2- GESTION des ERREURS
    	// -----------------------------------------
    	// On verifie les champs obligatoires
    	if ($mail=='' || $pseudo=='' || $mdp=='' || $verif_mdp=='' || $nom=='' || $prenom=='' || $ville=='') 
    	{
    		if ($mail=='') {		$msgerreur .= 'Champ obligatoire : email<br />'; }
    		if ($pseudo=='') {		$msgerreur .= 'Champ obligatoire : Pseudo<br />'; }
    		if ($mdp=='') {			$msgerreur .= 'Champ obligatoire : Mot de passe<br />'; }
    		if ($verif_mdp=='') {	$msgerreur .= 'Champ obligatoire : Confirmation du mot de passe<br />'; }
    		if ($nom=='') {			$msgerreur .= 'Champ obligatoire : Nom<br />'; }
    		if ($prenom=='') {		$msgerreur .= 'Champ obligatoire : Prenom<br />'; }
    		if ($ville=='') {		$msgerreur .= 'Champ obligatoire : Ville<br />'; }
    		$validform 	= 2;
    	}
    	// On verifie que les 2 mots de passe sont identiques
    	if ($mdp!=$verif_mdp) {
    		$msgerreur .= 'Les 2 mots de passe ne sont pas identiques<br />';
    		$validform 	= 2;
    	}
    	// On verifie la validite de l'email
    	if (!preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) {
    		$msgerreur .= 'Adresse Email non valide : doit être de la forme xxxx@xxx.xx<br />';
    		$validform 	= 2;
    	}
    	// On verifie que le mail et le pseudo ne sont pas deja pris
    	$verification = mysql_query("SELECT COUNT(*) AS NbreVerif FROM pdf_membre 
    					WHERE pseudo = '".mysql_real_escape_string($pseudo)."' 
    					OR mail = '".mysql_real_escape_string($mail)."';") or die (mysql_error());
    	$donnees = mysql_fetch_array($verification)or die (mysql_error());
    	if($donnees['NbreVerif'] > 0) // On verifie que le pseudo n'existe pas déjà
    	{ 
    		$msgerreur .= 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre.<br />';
    		$validform 	= 2;
    	}
     
    	// pas d'erreur ?
    	if($validform != 2) $validform = 1;
    	// -----------------------------------------
    	// 3- si pas d'erreur => TRAITEMENT
    	// -----------------------------------------
    	if($validform == 1) 
    	{
    		// on remet en minuscules et on enlève les accents dans l'adresse mail
    		$mail 		= remplacements($mail);
    		$pseudo 	= remplacements($pseudo);
     
    		// requête pour récupérer la connexion ip du client
    		$IPClient2 = $_SERVER[REMOTE_ADDR];
    		$chaine 	= 'abcdefghijklmnopqrstuvwxyz0123456789'; 
    		$confirm_bd = str_shuffle($chaine); // On créé le code de confirmation
    		// création de la date au format date MySQL
    		$born		= $_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
    		$vote		= 0;
    		//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));
     
    		// --------------------
    		// ENREGISTRMENT EN BDD
    		// --------------------
    		// Protection des donnees contre injection SQL
    		$mail_bd	= mysql_real_escape_string($mail);
    		$pseudo_bd	= mysql_real_escape_string($pseudo);
    		$mdp_bd 	= mysql_real_escape_string($mdp);
    		$nom_bd 	= mysql_real_escape_string($nom);
    		$prenom_bd 	= mysql_real_escape_string($prenom);
    		$ville_bd 	= mysql_real_escape_string($ville);
    		$born_bd	= mysql_real_escape_string($born);
    		$vote_bd	= mysql_real_escape_string($vote);
    		// enregistrement	
    		mysql_query("SET NAMES 'utf8'");
    		mysql_query("INSERT INTO pdf_membre 
    					VALUES ('','".$pseudo_bd."', '".$mdp_bd."', '".$mail_bd."', '".$confirm_bd."', '".$nom_bd."', '".$prenom_bd."', '".$ville_bd."', '".$born_bd."', '".$vote_bd."');");
    		$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>';
     
    		// --------------------
    		// MAIL DE CONFIRMATION
    		// --------------------
    		// On crée la variable (message du mail)
    		$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>';
     
    		$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 du mail a envoyer
    		$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";
    		// ENVOI du mail
    		mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    		// on envoie également le mail à l'administrateur
    		$message2 =  '<html><body>Bonjour </br><b>'.$pseudo.'</b> vient de s inscrire sur '.$nom_site; 
    		$message2 .= '<br></br>';
    		$message2 .= 'Pseudo : <b>'.$pseudo.'</b></br>';
    		$message2 .= 'Mot de passe : <b>'.$mdp.'</b></br>';
    		$message2 .= 'Mail : <b>'.$mail.'</b></br>';
    		$message2 .= 'Nom : <b>'.$nom.'</b></br>';
    		$message2 .= 'Pr&eacute;nom : <b>'.$prenom.'</b></br>';
    		$message2 .= 'Ville : <b>'.$ville.'</b></br>';
    		$message2 .= 'Date de naissance : <b>'.$born_mail.'</b>';
    		$message2 .= '<br></br>';
    		$message2 .= 'IP de connexion : <b>'.$IPClient2.'</b>';
    		// entete du mail a envoyer
    		$entete2 = "MIME-Version: 1.0\r\n";
    		$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete2 .= "From: <".$email_admin.">\r\n";
    		$entete2 .= "Reply-To: ".$email_admin."\r\n";
    		mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    	} // FIN de if($validform == 1) 
    	unset($_POST);
    } // FIN traitement
    ?>
     
    <?php
    if($validform == 2) { // affichage message d'erreur eventuel
    	echo $msgerreur;
    } elseif($validform == 1 && $reponse!='') { // On affiche la reponse de tout le code du dessus
    	echo $reponse;
    }
    ?>
     
    <?php
    // AFFICHAGE du formulaire
    if($validform != 1) {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
     
    <form method="post" action="<?$PHP_SELF;?>" />
    <fieldset><legend> &nbsp; Inscription</legend>
    	<p>
    		<label for="idpseudo">Pseudo :&nbsp;</label>
    		<input id="idpseudo" type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmdp">Mot de Passe :&nbsp;</label>
    		<input id="idmdp" type="password" tabindex="2" name="mdp" value="<?php echo $mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idverif_mdp">Retapez votre mot de passe :&nbsp;</label>
    		<input id="idverif_mdp" type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmail">Votre E-Mail :&nbsp;</label>
    		<input id="idmail" type="text" tabindex="4" name="mail" value="<?php echo $mail; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idnom">Nom :&nbsp;</label> 
    		<input id="idnom" type="text" tabindex="5" name="nom" value="<?php echo $nom; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idprenom">Pr&eacute;nom :&nbsp;</label> 
    		<input id="idprenom" type="text" tabindex="6" name="prenom" value="<?php echo $prenom; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idville">Ville :&nbsp;</label> 
    		<input id="idville" type="text" tabindex="8" name="ville" value="<?php echo $ville; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="naissance">Date de Naissance :&nbsp;</label>
    		<!-- IL MANQUE UN INPUT ICI ??? -->
    	</p>
    	<p>
    		<label for="idjour2">Jour :&nbsp; </label>
    		<select id="idjour2" name="jour2" class="jj" tabindex="9" onfocus="this.className='jj_focus';" onblur="this.className='jj';">
    <?php 	// 1ère requête : jours
    		$affich_form3 = "SELECT * FROM jours ORDER BY jour ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    			while ( $list = mysql_fetch_array( $resultat3 ) )
    			{
    ?>				<option value="<?php echo $list['jour']; ?>"><?php echo $list['jour']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<label for="idmois2">Mois :&nbsp;</label>
    		<select id="idmois2" name="mois2" class="mm" tabindex="10" onfocus="this.className='mm_focus';" onblur="this.className='mm';">
    <?php 	// 2ème requête : mois
    		$affich_form4 = "SELECT * FROM mois ORDER BY Nb ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>';
    <?php	} else {
    			while ( $list = mysql_fetch_array($resultat4) )
    			{
    ?>			<option value="<?php echo $list['Nb']; ?>"><?php echo $list['mois']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<label for="idannee2">Ann&eacute;e :&nbsp;</label>
    		<select id="idannee2" name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">
    <?php	// 3ème requête : années
    		$affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    		$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){ // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    			while ( $list = mysql_fetch_array( $resultat5 ) )
    			{
    ?>			<option value="<?php echo $list['an']; ?>"><?php echo $list['an']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<input type="submit" tabindex="10" name="boutonEnvoiFormulaire" value="Inscription" />
    	</p>
    </fieldset>
    </form>
    <?php
    } // fin formulaire
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    <?php mysql_close($sql); //On se deconnecte ?>
     
    </body>
    </html>
    Dernière modification par Invité ; 01/08/2011 à 16h09.

  10. #10
    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
    çela fonctionne presque, j'ai encore un message d'anomalie :
    Warning: mail() [function.mail]: Invalid mail. to = [] in /pdf_inscription.php on line 188
    Bravo, vous êtes maintenant inscrit sur ...
    Vous allez recevoir un e-mail dans quelques instants pour activer votre compte

    - le mail vers l'administrateur est bien envoyé
    mais le client ne reçoit pas de mail !

    code modifié :
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <?php // fonction de remplacement de caracteres
    // ==> CETTE FONCTION PEUT ETRE DANS UN FICHIER EXTERNE, et appelée par include
    function remplacements($chaine)
    {
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 		= strtolower(trim($chaine)); // en minuscule
    	$chaine 		= strtr($chaine, $sans_accent, $avec_accent);
    }
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
     
    <div id="mainContent">
     
    <?php
    $validform = 0;
    $msgerreur = '';
    $reponse = '';
    // -------------------------------
    // TRAITEMENT si formulaire envoyé
    // -------------------------------
    if( isset($_POST['boutonEnvoiFormulaire']) ) 
    {
    	// -----------------------------------------
    	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
    	// -----------------------------------------
    	$mail2		= $_POST['mail'];
    	$pseudo		= $_POST['pseudo'];
    	$mdp 		= $_POST['mdp'];
    	$verif_mdp 	= $_POST['verif_mdp'];
    	$nom 		= $_POST['nom'];
    	$prenom 	= $_POST['prenom'];
    	$ville 		= $_POST['ville'];
    	// -----------------------------------------
    	// 2- GESTION des ERREURS
    	// -----------------------------------------
    	// On verifie les champs obligatoires
    	if ($mail2=='' || $pseudo=='' || $mdp=='' || $verif_mdp=='' || $nom=='' || $prenom=='' || $ville=='') 
    	{
    		if ($mail2=='') {		$msgerreur .= 'Champ obligatoire : email<br />'; }
    		if ($pseudo=='') {		$msgerreur .= 'Champ obligatoire : Pseudo<br />'; }
    		if ($mdp=='') {			$msgerreur .= 'Champ obligatoire : Mot de passe<br />'; }
    		if ($verif_mdp=='') {	$msgerreur .= 'Champ obligatoire : Confirmation du mot de passe<br />'; }
    		if ($nom=='') {			$msgerreur .= 'Champ obligatoire : Nom<br />'; }
    		if ($prenom=='') {		$msgerreur .= 'Champ obligatoire : Prenom<br />'; }
    		if ($ville=='') {		$msgerreur .= 'Champ obligatoire : Ville<br />'; }
    		$validform 	= 2;
    	}
    	// On verifie que les 2 mots de passe sont identiques
    	if ($mdp!=$verif_mdp) {
    		$msgerreur .= 'Les 2 mots de passe ne sont pas identiques<br />';
    		$validform 	= 2;
    	}
    	// On verifie la validite de l'email et on remet en minuscules et on enlève les accents dans l'adresse mail
    		$mail 		= remplacements($mail2);
    		$pseudo 	= remplacements($pseudo);
     
        if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) {
        	$msgerreur .= 'Adresse Email non valide : doit être de la forme xxxx@xxx.xx<br />'. $mail.' ';
    		$validform 	= 2;
    	}
    	// On verifie que le mail et le pseudo ne sont pas deja pris
    	$verification = mysql_query("SELECT COUNT(*) AS NbreVerif FROM pdf_membre 
    					WHERE pseudo = '".mysql_real_escape_string($pseudo)."' 
    					OR mail = '".mysql_real_escape_string($mail)."';") or die (mysql_error());
    	$donnees = mysql_fetch_array($verification)or die (mysql_error());
    	if($donnees['NbreVerif'] > 0) // On verifie que le pseudo n'existe pas déjà
    	{ 
    		$msgerreur .= 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre.<br />';
    		$validform 	= 2;
    	}
     
    	// pas d'erreur ?
    	if($validform != 2) $validform = 1;
    	// -----------------------------------------
    	// 3- si pas d'erreur => TRAITEMENT
    	// -----------------------------------------
    	if($validform == 1) 
    	{
     
    		// requête pour récupérer la connexion ip du client
    		$IPClient2 = $_SERVER[REMOTE_ADDR];
    		$chaine 	= 'abcdefghijklmnopqrstuvwxyz0123456789'; 
    		$confirm_bd = str_shuffle($chaine); // On créé le code de confirmation
    		// création de la date au format date MySQL
    		$born		= $_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
    		$vote		= 0;
    		//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));
     
    		// --------------------
    		// ENREGISTREMENT EN BDD
    		// --------------------
    		// Protection des donnees contre injection SQL
    		$mail_bd	= mysql_real_escape_string($mail);
    		$pseudo_bd	= mysql_real_escape_string($pseudo);
    		$mdp_bd 	= mysql_real_escape_string($mdp);
    		$nom_bd 	= mysql_real_escape_string($nom);
    		$prenom_bd 	= mysql_real_escape_string($prenom);
    		$ville_bd 	= mysql_real_escape_string($ville);
    		$born_bd	= mysql_real_escape_string($born);
    		$vote_bd	= mysql_real_escape_string($vote);
    		// enregistrement	
    		mysql_query("SET NAMES 'utf8'");
    		mysql_query("INSERT INTO pdf_membre 
    					VALUES ('','".$pseudo_bd."', '".$mdp_bd."', '".$mail_bd."', '".$confirm_bd."', '".$nom_bd."', '".$prenom_bd."', '".$ville_bd."', '".$born_bd."', '".$vote_bd."');");
    		$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>'. $mail. ' ';
     
    		// --------------------
    		// MAIL DE CONFIRMATION
    		// --------------------
    		// On crée la variable (message du mail)
    		$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>';
     
    		$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 du mail a envoyer
    		$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";
    		// ENVOI du mail
    		mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    		// on envoie également le mail à l'administrateur
    		$message2 =  '<html><body>Bonjour </br><b>'.$pseudo.'</b> vient de s inscrire sur '.$nom_site; 
    		$message2 .= '<br></br>';
    		$message2 .= 'Pseudo : <b>'.$pseudo.'</b></br>';
    		$message2 .= 'Mot de passe : <b>'.$mdp.'</b></br>';
    		$message2 .= 'Mail : <b>'.$mail.'</b></br>';
    		$message2 .= 'Nom : <b>'.$nom.'</b></br>';
    		$message2 .= 'Pr&eacute;nom : <b>'.$prenom.'</b></br>';
    		$message2 .= 'Ville : <b>'.$ville.'</b></br>';
    		$message2 .= 'Date de naissance : <b>'.$born_mail.'</b>';
    		$message2 .= '<br></br>';
    		$message2 .= 'IP de connexion : <b>'.$IPClient2.'</b>';
    		// entete du mail a envoyer
    		$entete2 = "MIME-Version: 1.0\r\n";
    		$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete2 .= "From: <".$email_admin.">\r\n";
    		$entete2 .= "Reply-To: ".$email_admin."\r\n";
    		mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    	} // FIN de if($validform == 1) 
    	unset($_POST);
    } // FIN traitement
    ?>
     
    <?php
    if($validform == 2) { // affichage message d'erreur eventuel
    	echo $msgerreur;
    } elseif($validform == 1 && $reponse!='') { // On affiche la reponse de tout le code du dessus
    	echo $reponse;
    	echo $mail;
    	echo $mail;
    }
    ?>
     
    <?php
    // AFFICHAGE du formulaire
    if($validform != 1) {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
     
    <form method="post" action="<?$PHP_SELF;?>" />
    <fieldset><legend> &nbsp; Inscription</legend>
    	<p>
    		<label for="idpseudo">Pseudo :&nbsp;</label>
    		<input id="idpseudo" type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmdp">Mot de Passe :&nbsp;</label>
    		<input id="idmdp" type="password" tabindex="2" name="mdp" value="<?php echo $mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idverif_mdp">Retapez votre mot de passe :&nbsp;</label>
    		<input id="idverif_mdp" type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmail">Votre E-Mail :&nbsp;</label>
    		<input id="idmail" type="text" tabindex="4" name="mail" value="<?php echo $mail2; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idnom">Nom :&nbsp;</label> 
    		<input id="idnom" type="text" tabindex="5" name="nom" value="<?php echo $nom; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idprenom">Pr&eacute;nom :&nbsp;</label> 
    		<input id="idprenom" type="text" tabindex="6" name="prenom" value="<?php echo $prenom; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idville">Ville :&nbsp;</label> 
    		<input id="idville" type="text" tabindex="8" name="ville" value="<?php echo $ville; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="naissance">Date de Naissance :&nbsp;</label>
    		<br />
    	</p>
    	<p>
    		<label for="idjour2">Jour :&nbsp; </label>
    		<select id="idjour2" name="jour2" class="jj" tabindex="9" onfocus="this.className='jj_focus';" onblur="this.className='jj';">
    <?php 	// 1ère requête : jours
    		$affich_form3 = "SELECT * FROM jours ORDER BY jour ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    			while ( $list = mysql_fetch_array( $resultat3 ) )
    			{
    ?>				<option value="<?php echo $list['jour']; ?>"><?php echo $list['jour']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<label for="idmois2">Mois :&nbsp;</label>
    		<select id="idmois2" name="mois2" class="mm" tabindex="10" onfocus="this.className='mm_focus';" onblur="this.className='mm';">
    <?php 	// 2ème requête : mois
    		$affich_form4 = "SELECT * FROM mois ORDER BY Nb ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>';
    <?php	} else {
    			while ( $list = mysql_fetch_array($resultat4) )
    			{
    ?>			<option value="<?php echo $list['Nb']; ?>"><?php echo $list['mois']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<label for="idannee2">Ann&eacute;e :&nbsp;</label>
    		<select id="idannee2" name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">
    <?php	// 3ème requête : années
    		$affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    		$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){ // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    			while ( $list = mysql_fetch_array( $resultat5 ) )
    			{
    ?>			<option value="<?php echo $list['an']; ?>"><?php echo $list['an']; ?></option>
    <?php		} // fin du while
    		} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<input type="submit" tabindex="10" name="boutonEnvoiFormulaire" value="Inscription" />
    	</p>
    </fieldset>
    </form>
    <?php
    } // fin formulaire
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    <?php mysql_close($sql); //On se deconnecte ?>
     
    </body>
    </html>

  11. #11
    Invité
    Invité(e)
    Par défaut
    Décidément, c'est à nous de tout faire ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mail() [function.mail]: Invalid mail. to = [] in /pdf_inscription.php on line 188
    -> a priori, ca veut dire que mail-to (donc $mail) est vide (?!)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		// ENVOI du mail
    		mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    Teste avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		// ENVOI du mail
    		if( @mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete) ) {
    			echo 'OK, message envoyé à '.$mail.'<br />';
    		} else {
    			echo 'Oups ! Ca a foiré ! (mail : '.$mail.')'.'<br />';
    		}
    Important
    Quand je prend le temps de te fournir un script "tout cuit", avec plein de commentaires :
    -> c'est avant tout pour que tu le lises et comprennes le code.
    Dernière modification par Invité ; 02/08/2011 à 21h51.

  12. #12
    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
    En fait, j'avais déjà mis des 'echo' pour voir où ça coinçait mais je ne trouvais pas.. c'est pour ça que je demande..

    en tout cas merci jreaux62 beaucoup pour l'aide, ça m'a bien servi à comprendre mieux et à m'améliorer de jour en jour...

    Donc, il y avait un problème sur l'adresse mail dans le pregmatch.. j'ai mis un autre code et ça fonctionne et aussi la fonction remplacements qui ne fonctionnait pas ; j'en ai profité pour chercher à indiquer aussi la date de naissance (j'en ai sué...) mais voilà, ça marche nickel !

    Voici le code modifié :
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
     
    <div id="mainContent">
     
    <?php
    $validform = 0;
    $msgerreur = '';
    $reponse = '';
    // -------------------------------
    // TRAITEMENT si formulaire envoyé
    // -------------------------------
    if( isset($_POST['boutonEnvoiFormulaire']) ) 
    {
    	// -----------------------------------------
    	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
    	// -----------------------------------------
    	$mail2		= $_POST['mail'];
    	$pseudo2	= $_POST['pseudo'];
    	$mdp 		= $_POST['mdp'];
    	$verif_mdp 	= $_POST['verif_mdp'];
    	$nom 		= $_POST['nom'];
    	$prenom 	= $_POST['prenom'];
    	$ville 		= $_POST['ville'];
    	$jour_vue   = $_POST['jour2'];
    	$mois_vue   = $_POST['mois2'];
    	$annee_vue   = $_POST['annee2'];
     
    	// pour affichage du nom du mois déjà saisi
    	$mois_select = "SELECT mois FROM mois WHERE Nb='$mois_vue'";
    	$mois_quer = mysql_query($mois_select) or die ('Erreur : '.mysql_error() );
    	$mois_req = mysql_fetch_array($mois_quer);
    	$mois_affiche = $mois_req['mois'];
     
    	// on remet en minuscules et on enlève les accents dans l'adresse mail
    	$remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
    	,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    	,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    	,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    	,'X' => 'x','Y' => 'y','Z' => 'z' );
    	$mail = strtr($mail2, $remplacements);
     
    	// on remet en minuscules et on enlève les accents dans le pseudo
    	$remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
    	,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
    	,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
    	,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
    	,'X' => 'x','Y' => 'y','Z' => 'z' );
    	$pseudo_inscription = strtr($pseudo2, $remplacements);
     
    	// -----------------------------------------
    	// 2- GESTION des ERREURS
    	// -----------------------------------------
    	// On verifie les champs obligatoires
    	if ($mail2=='' || $pseudo2=='' || $mdp=='' || $verif_mdp=='' || $nom=='' || $prenom=='' || $ville=='') 
    	{
    		if ($mail2=='') {		$msgerreur .= 'Champ obligatoire : email<br />'; }
    		if ($pseudo2=='') {		$msgerreur .= 'Champ obligatoire : Pseudo<br />'; }
    		if ($mdp=='') {			$msgerreur .= 'Champ obligatoire : Mot de passe<br />'; }
    		if ($verif_mdp=='') {	$msgerreur .= 'Champ obligatoire : Confirmation du mot de passe<br />'; }
    		if ($nom=='') {			$msgerreur .= 'Champ obligatoire : Nom<br />'; }
    		if ($prenom=='') {		$msgerreur .= 'Champ obligatoire : Prenom<br />'; }
    		if ($ville=='') {		$msgerreur .= 'Champ obligatoire : Ville<br />'; }
    		$validform 	= 2;
    	}
    	// On verifie que les 2 mots de passe sont identiques
    	if ($mdp!=$verif_mdp) 
    	{
    		$msgerreur .= 'Les 2 mots de passe ne sont pas identiques<br />';
    		$validform 	= 2;
    	}
    	// On verifie la validite de l'email 
    	 if(preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $mail))
    	 // if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail))
    	 {
        	$msgerreur .= 'Adresse Email non valide : doit être de la forme <a href="mailto:xxxx@xxx.xx">xxxx@xxx.xx</a><br />'.' '.$mail.' ';
    		$msgerreur .= '<br></br>';
    		$validform 	= 2;
    	}
    	// On verifie que le mail et le pseudo ne sont pas deja pris
    	$verification = mysql_query("SELECT COUNT(*) AS NbreVerif FROM pdf_membre 
    					WHERE pseudo = '".($pseudo_inscription)."' 
    					OR mail = '".($mail)."';") or die (mysql_error());
    	$donnees = mysql_fetch_array($verification)or die (mysql_error());
    	if($donnees['NbreVerif'] > 0) // On verifie que le pseudo n'existe pas déjà
    	{ 
    		$msgerreur .= 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre.<br />';
    		$validform 	= 2;
    	}
     
    	// pas d'erreur ?
    	if($validform != 2) $validform = 1;
    	// -----------------------------------------
    	// 3- si pas d'erreur => TRAITEMENT
    	// -----------------------------------------
    	if($validform == 1) 
    	{
    		// requête pour récupérer la connexion ip du client
    		$IPClient2 = $_SERVER[REMOTE_ADDR];
    		$chaine 	= 'abcdefghijklmnopqrstuvwxyz0123456789'; 
    		$confirm_bd = str_shuffle($chaine); // On créé le code de confirmation
    		// création de la date au format date MySQL
    		$born		= $_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
    		$vote		= 0;
    		//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));
     
    		// --------------------
    		// ENREGISTREMENT EN BDD
    		// --------------------
    		// Protection des donnees contre injection SQL
    		$mail_bd	= mysql_real_escape_string($mail);
    		$pseudo_bd	= mysql_real_escape_string($pseudo_inscription);
    		$mdp_bd 	= mysql_real_escape_string($mdp);
    		$nom_bd 	= mysql_real_escape_string($nom);
    		$prenom_bd 	= mysql_real_escape_string($prenom);
    		$ville_bd 	= mysql_real_escape_string($ville);
    		$born_bd	= mysql_real_escape_string($born);
    		$vote_bd	= mysql_real_escape_string($vote);
    		// enregistrement	
    		mysql_query("SET NAMES 'utf8'");
    		mysql_query("INSERT INTO pdf_membre VALUES ('','".$pseudo_bd."', '".$mdp_bd."', '".$mail_bd."', '".$confirm_bd."', '".$nom_bd."', '".$prenom_bd."', '".$ville_bd."', '".$born_bd."', '".$vote_bd."');");
     
    		// --------------------
    		// MAIL DE CONFIRMATION
    		// --------------------
    		// On crée la variable (message du mail)
    		$message1 =  '<html><body>Bonjour <b>'.$pseudo_inscription.'</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_inscription) . '&confirm=' . $confirm_bd . '">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_inscription.'</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>';
     
    		$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>';
    		$reponse .= '<br></br>';
     
     
    		// entete du mail a envoyer
    		$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";
    		// ENVOI du mail
    		mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    		// on envoie également le mail à l'administrateur
    		$message2 =  '<html><body>Bonjour </br><b>'.$pseudo_inscription.'</b> vient de s inscrire sur '.$nom_site; 
    		$message2 .= '<br></br>';
    		$message2 .= 'Pseudo : <b>'.$pseudo_inscription.'</b></br>';
    		$message2 .= 'Mot de passe : <b>'.$mdp.'</b></br>';
    		$message2 .= 'Mail : <b>'.$mail.'</b></br>';
    		$message2 .= 'Nom : <b>'.$nom.'</b></br>';
    		$message2 .= 'Pr&eacute;nom : <b>'.$prenom.'</b></br>';
    		$message2 .= 'Ville : <b>'.$ville.'</b></br>';
    		$message2 .= 'Date de naissance : <b>'.$born_mail.'</b>';
    		$message2 .= '<br></br>';
    		$message2 .= 'IP de connexion : <b>'.$IPClient2.'</b>';
    		// entete du mail a envoyer
    		$entete2 = "MIME-Version: 1.0\r\n";
    		$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete2 .= "From: <".$email_admin.">\r\n";
    		$entete2 .= "Reply-To: ".$email_admin."\r\n";
    		mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    	} // FIN de if($validform == 1) 
    	unset($_POST);
    } // FIN traitement
    ?>
     
    <?php
    if($validform == 2) { // affichage message d'erreur eventuel
    	echo $msgerreur;
    } 
    elseif($validform == 1 && $reponse!='')		// On affiche la reponse de tout le code du dessus
    {
    echo $reponse;
    }
    ?>
     
    <?php
    // AFFICHAGE du formulaire
    if($validform != 1) {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
     
    <form method="post" action="<?$PHP_SELF;?>" />
    <fieldset><legend> &nbsp; Inscription</legend>
    	<p>
    		<label for="idpseudo">Pseudo :&nbsp;</label>
    		<input id="idpseudo" type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo_inscription; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmdp">Mot de Passe :&nbsp;</label>
    		<input id="idmdp" type="password" tabindex="2" name="mdp" value="<?php echo $mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idverif_mdp">Retapez votre mot de passe :&nbsp;</label>
    		<input id="idverif_mdp" type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmail">Votre E-Mail :&nbsp;</label>
    		<input id="idmail" type="text" tabindex="4" name="mail" value="<?php echo $mail2; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idnom">Nom :&nbsp;</label> 
    		<input id="idnom" type="text" tabindex="5" name="nom" value="<?php echo $nom; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idprenom">Pr&eacute;nom :&nbsp;</label> 
    		<input id="idprenom" type="text" tabindex="6" name="prenom" value="<?php echo $prenom; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idville">Ville :&nbsp;</label> 
    		<input id="idville" type="text" tabindex="8" name="ville" value="<?php echo $ville; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="naissance">Date de Naissance :&nbsp;</label>
    		<br />
    	</p>
    	<p>
    		<label for="idjour2">Jour :&nbsp; </label>
    		<select id="idjour2" name="jour2" class="jj" tabindex="9" value="<?php echo $jour_vue; ?>" onfocus="this.className='jj_focus';" onblur="this.className='jj';">
    		<option selected value="<?php echo $jour_vue; ?>"><?php echo $jour_vue; ?>	
    <?php 	// 1ère requête : jours
    		$affich_form3 = "SELECT * FROM jours ORDER BY jour ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    	while ( $list = mysql_fetch_array( $resultat3 ) )
    	{
    	?>
    	<option value="<?php echo $list['jour']; ?>"><?php echo $list['jour']; ?></option>
    	<?php
    	} // fin du while
    		} // fin du else
    		?>
    		</select>
    		</p>
    		<p>
    		<label for="idmois2">Mois :&nbsp;</label>
    		<select id="idmois2" name="mois2" class="mm" tabindex="10" value="<?php echo $mois_vue; ?>" onfocus="this.className='mm_focus';" onblur="this.className='mm';">
    		<option selected value="<?php echo $mois_vue; ?>"><?php echo $mois_affiche; ?>
    <?php 	// 2ème requête : mois
    		$affich_form4 = "SELECT * FROM mois ORDER BY Nb ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>';
    <?php	} else {
    				while ( $list = mysql_fetch_array($resultat4) )
    				{
    				?>			
    				<option value="<?php echo $list['Nb']; ?>"><?php echo $list['mois']; ?></option>
    				<?php
    				} // fin du while
    				} // fin du else
    				?>
    		</select>
    	</p>
    	<p>
    		<label for="idannee2">Ann&eacute;e :&nbsp;</label>
    		<select id="idannee2" name="annee2" class="mm" tabindex="10" value="<?php echo $annee_vue; ?>" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">
    		<option selected value="<?php echo $annee_vue; ?>"><?php echo $annee_vue; ?>
    <?php	// 3ème requête : années
    		$affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    		$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){ // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    				while ( $list = mysql_fetch_array( $resultat5 ) )
    				{
    				?>		
    				<option value="<?php echo $list['an']; ?>"><?php echo $list['an']; ?></option>
    				<?php		} // fin du while
    				} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<input type="submit" tabindex="10" name="boutonEnvoiFormulaire" value="Inscription" />
    	</p>
    </fieldset>
    </form>
    <?php
    } // fin formulaire
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    <?php mysql_close($sql); //On se deconnecte ?>
     
    </body>
    </html>

  13. #13
    Invité
    Invité(e)
    Par défaut
    Tu as gardé ton array $remplacements = ... ?
    Je t'avais pourtant fait une belle fonction ....

    ps : pour mettre en minuscule : strtolower()

  14. #14
    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
    @ jreaux62 : oui effectivement c'était une belle fonction mais elle ne récupérait pas de données dans le pseudo et le mail...ça m'embête ne pas pouvoir l'utiliser :

    il y a peut-être un truc que j'ai mal tapé mais comme je ne voyais pas
    j'ai repris l'ancien modèle...pas très beau mais qui fonctionne..
    je l'utiliserai peut-être un jour...

  15. #15
    Invité
    Invité(e)
    Par défaut
    "Tu parles, Charles ! Tu m'étonnes, Elton !" L'erreur vient de ... moi !
    J'avais oublié ... d'écrire une ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    function remplacements($chaine)
    {
    	// (supprime les accents) + (met en minuscule) + (remplace espace par -)
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    	return $chaine;
    }
    ?>
    "Mea Culpa. Cretino Ego" ...

  16. #16
    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
    @ jreaux62 :

    j'ai essayé de mettre ta fonction mais le pseudo et le mail ne sont pas bons :
    voici ce que je récupère : des caractères bizarres...

    $mail2 : Gérard@hebergefree.fr
    $pseudo_inscription : g�rard
    $pseudo2 : Gérard
    $mail_bd : grard@hebergefree.fr
    $pseudo_bd : grard

    et aussi une erreur :
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sdc/8/e/fazpedro/test/pdf_inscription.php:25) in /mnt/154/sdc/8/e/fazpedro/test/pdf_inscription.php on line 211


    est-ce que c'est dans la fonction ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    	return $chaine;
    j'avais essayé en indiquant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine2 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine2, $sans_accent, $avec_accent);
    	return $chaine;
    mais c'est pareil...

    désolé mais je ne comprends pas...

  17. #17
    Invité
    Invité(e)
    Par défaut
    Essaie ca :
    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
    <?php
    function remplacements($chaine)
    {
    	// (supprime les accents) + (met en minuscule) + (remplace espace par -)
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    	return $chaine;
    }
     
    $mail2 = 'Gérard@hebergefree.fr';
    $pseudo2 = 'Gérard';
     
    echo '$mail2 = '.$mail2.'<br />';
    echo '$pseudo2 = '.$pseudo2.'<br /><br />';
     
    $mail = remplacements($mail2);
    $pseudo = remplacements($pseudo2);
     
    echo '$mail = '.$mail.'<br />';
    echo '$pseudo = '.$pseudo.'<br /><br />';
    ?>
    Le résultat est bon.
    Où est ton problème ?
    Vérifie que tu utilises correctement la fonction, et là où il faut ...

  18. #18
    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 ce que j'obtiens :
    $mail2 = Gérard@hebergefree.fr
    $pseudo2 = Gérard
    $mail = go�rard@hebergefree.fr
    $pseudo = go�rard


    je remets mon code car là je ne vois pas ce qui coinçe... je suis un peu long à la détente...
    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
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
     
    <?php session_start();
    require ("configuration.php"); //accès à la base de données
    $sql = connect_sql();
    $pseudo_membre = $_SESSION['pseudo'];
    $requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
    $result = mysql_fetch_array ($requete);
    $id = $result['id'];
    $pseudo = $result['pseudo'];
    // si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
    if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
    {	// bandeau classique si pas connecté
    	$bandeau = 'bandeau.php';	}
    else
    {	// bandeau membre si connecté
    	$bandeau = 'bandeau_membres.php';	}
    ?>
     
    <!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); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
     
    <div id="mainContent">
     
    <?php
    function remplacements($chaine)
    {
    	// (supprime les accents) + (met en minuscule) + (remplace espace par -)
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    	return $chaine;
    }
    ?>
     
    <?php
    $validform = 0;
    $msgerreur = '';
    $reponse = '';
    // -------------------------------
    // TRAITEMENT si formulaire envoyé
    // -------------------------------
    if( isset($_POST['boutonEnvoiFormulaire']) ) 
    {
    	// -----------------------------------------
    	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
    	// -----------------------------------------
    	$mail2		= $_POST['mail'];
    	$pseudo2	= $_POST['pseudo'];
    	$mdp 		= $_POST['mdp'];
    	$verif_mdp 	= $_POST['verif_mdp'];
    	$nom 		= $_POST['nom'];
    	$prenom 	= $_POST['prenom'];
    	$ville 		= $_POST['ville'];
    	$jour_vue   = $_POST['jour2'];
    	$mois_vue   = $_POST['mois2'];
    	$annee_vue   = $_POST['annee2'];
     
    	// pour affichage du nom du mois déjà saisi
    	$mois_select = "SELECT mois FROM mois WHERE Nb='$mois_vue'";
    	$mois_quer = mysql_query($mois_select) or die ('Erreur : '.mysql_error() );
    	$mois_req = mysql_fetch_array($mois_quer);
    	$mois_affiche = $mois_req['mois'];
     
    	// on remet en minuscules et on enlève les accents dans l'adresse mail
    	$mail = remplacements($mail2);
     
    	// on remet en minuscules et on enlève les accents dans le pseudo
    	$pseudo_inscription = remplacements($pseudo2);
     
    	// -----------------------------------------
    	// 2- GESTION des ERREURS
    	// -----------------------------------------
    	// On verifie les champs obligatoires
    	if ($mail2=='' || $pseudo2=='' || $mdp=='' || $verif_mdp=='' || $nom=='' || $prenom=='' || $ville=='' || $jour_vue=='' || $mois_vue=='' || $annee_vue=='') 
    	{
    		if ($mail2=='') {		$msgerreur .= 'Champ obligatoire : '.'<b>'.' Email'.'</b>'.'<br />'; }
    		if ($pseudo2=='') {		$msgerreur .= 'Champ obligatoire : '.'<b>'.' Pseudo'.'</b>'.'<br />'; }
    		if ($mdp=='') {			$msgerreur .= 'Champ obligatoire : '.'<b>'.' Mot de passe'.'</b>'.'<br />'; }
    		if ($verif_mdp=='') {	$msgerreur .= 'Champ obligatoire : '.'<b>'.' Confirmation du mot de passe'.'</b>'.'<br />'; }
    		if ($nom=='') {			$msgerreur .= 'Champ obligatoire : '.'<b>'.' Nom'.'</b>'.'<br />'; }
    		if ($prenom=='') {		$msgerreur .= 'Champ obligatoire : '.'<b>'.' Pr&eacute;nom'.'</b>'.'<br />'; }
    		if ($ville=='') {		$msgerreur .= 'Champ obligatoire : '.'<b>'.' Ville'.'</b>'.'<br />'; }
    		if ($jour_vue=='') {	$msgerreur .= 'Champ obligatoire : '.'<b>'.' Jour de naissance'.'</b>'.'<br />'; }
    		if ($mois_vue=='') {	$msgerreur .= 'Champ obligatoire : '.'<b>'.' Mois de naissance'.'</b>'.'<br />'; }
    		if ($annee_vue=='') {	$msgerreur .= 'Champ obligatoire : '.'<b>'.' Ann&eacute;e de naissance'.'</b>'.'<br />'; }
    		$validform 	= 2;
    	}
    	// On verifie que les 2 mots de passe sont identiques
    	if ($mdp!=$verif_mdp) 
    	{
    		$msgerreur .= '<b>'.'Les 2 mots de passe ne sont pas identiques'.'</b>'.'<br />';
    		$validform 	= 2;
    	}
    	// On verifie la validite de l'email 
    	 if(preg_match("/^( [a-zA-Z0-9] )+( [a-zA-Z0-9\._-] )*@( [a-zA-Z0-9_-] )+( [a-zA-Z0-9\._-] +)+$/" , $mail))
    	{
        	$msgerreur .= 'Adresse Email non valide : doit être de la forme xxxx@xxx.xx<br />'.' '.'<b>'.$mail.'</b>';
    		$msgerreur .= '<br></br>';
    		$validform 	= 2;
    	}
    	// On verifie que le mail et le pseudo ne sont pas deja pris
    	$verification = mysql_query("SELECT COUNT(*) AS NbreVerif FROM pdf_membre 
    					WHERE pseudo = '".($pseudo_inscription)."' 
    					OR mail = '".($mail)."';") or die (mysql_error());
    	$donnees = mysql_fetch_array($verification)or die (mysql_error());
    	if($donnees['NbreVerif'] > 0) // On verifie que le pseudo n'existe pas déjà
    	{ 
    		$msgerreur .= 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre.<br />';
    		$validform 	= 2;
    	}
     
    	// pas d'erreur ?
    	if($validform != 2) $validform = 1;
    	// -----------------------------------------
    	// 3- si pas d'erreur => TRAITEMENT
    	// -----------------------------------------
    	if($validform == 1) 
    	{
    		// requête pour récupérer la connexion ip du client
    		$IPClient2 = $_SERVER[REMOTE_ADDR];
    		$chaine 	= 'abcdefghijklmnopqrstuvwxyz0123456789'; 
    		$confirm_bd = str_shuffle($chaine); // On créé le code de confirmation
    		// création de la date au format date MySQL
    		$born		= $_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
    		$vote		= 0;
    		//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));
     
    		// --------------------
    		// ENREGISTREMENT EN BDD
    		// --------------------
    		// Protection des donnees contre injection SQL
    		$mail_bd	= mysql_real_escape_string($mail);
    		$pseudo_bd	= mysql_real_escape_string($pseudo_inscription);
    		$mdp_bd 	= mysql_real_escape_string($mdp);
    		$nom_bd 	= mysql_real_escape_string($nom);
    		$prenom_bd 	= mysql_real_escape_string($prenom);
    		$ville_bd 	= mysql_real_escape_string($ville);
    		$born_bd	= mysql_real_escape_string($born);
    		$vote_bd	= mysql_real_escape_string($vote);
    		// enregistrement	
    		mysql_query("SET NAMES 'utf8'");
    		mysql_query("INSERT INTO pdf_membre VALUES ('','".$pseudo_bd."', '".$mdp_bd."', '".$mail_bd."', '".$confirm_bd."', '".$nom_bd."', '".$prenom_bd."', '".$ville_bd."', '".$born_bd."', '".$vote_bd."');");
     
    		// --------------------
    		// MAIL DE CONFIRMATION
    		// --------------------
    		// On crée la variable (message du mail)
    		$message1 =  '<html><body>Bonjour <b>'.$pseudo_inscription.'</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_inscription) . '&confirm=' . $confirm_bd . '">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_inscription.'</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>';
     
    		$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>';
    		$reponse .= '<br></br>';
    		$reponse .= '$mail2 : '.$mail2;
    		$reponse .= '<br></br>';
    		$reponse .= '$pseudo_inscription : '.$pseudo_inscription;
    		$reponse .= '<br></br>';
    		$reponse .= '$pseudo2 : '.$pseudo2;
    		$reponse .= '<br></br>';
    		$reponse .= '$mail_bd : '.$mail_bd;
    		$reponse .= '<br></br>';
    		$reponse .= '$pseudo_bd : '.$pseudo_bd;
    		$reponse .= '<br></br>';
     
    		// entete du mail a envoyer
    		header('Content-Type: text/html; charset=UTF-8');
    		$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";
    		// ENVOI du mail
    		mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
    		// on envoie également le mail à l'administrateur
    		$message2 =  '<html><body>Bonjour </br><b>'.$pseudo_inscription.'</b> vient de s inscrire sur '.$nom_site; 
    		$message2 .= '<br></br>';
    		$message2 .= 'Pseudo : <b>'.$pseudo_inscription.'</b></br>';
    		$message2 .= 'Mot de passe : <b>'.$mdp.'</b></br>';
    		$message2 .= 'Mail : <b>'.$mail.'</b></br>';
    		$message2 .= 'Nom : <b>'.$nom.'</b></br>';
    		$message2 .= 'Pr&eacute;nom : <b>'.$prenom.'</b></br>';
    		$message2 .= 'Ville : <b>'.$ville.'</b></br>';
    		$message2 .= 'Date de naissance : <b>'.$born_mail.'</b>';
    		$message2 .= '<br></br>';
    		$message2 .= 'IP de connexion : <b>'.$IPClient2.'</b>';
    		// entete du mail a envoyer
    		$entete2 = "MIME-Version: 1.0\r\n";
    		$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
    		$entete2 .= "From: <".$email_admin.">\r\n";
    		$entete2 .= "Reply-To: ".$email_admin."\r\n";
    		mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
    	} // FIN de if($validform == 1) 
    	unset($_POST);
    } // FIN traitement
    ?>
     
    <?php
    if($validform == 2) { // affichage message d'erreur eventuel
    	echo $msgerreur;
    } 
    elseif($validform == 1 && $reponse!='')		// On affiche la reponse de tout le code du dessus
    {
    echo $reponse;
    }
    ?>
     
    <?php
    // AFFICHAGE du formulaire
    if($validform != 1) {
    	// $validform = 0 -> c'est la 1ere fois qu'on arrive sur la page (tous les $data = '')
    	// $validform = 2 -> erreur, donc RE-AFFICHAGE du formulaire, avec les $data récupérés
    ?>
     
    <form method="post" action="<?$PHP_SELF;?>" />
    <fieldset><legend> &nbsp; Inscription</legend>
    	<p>
    		<label for="idpseudo">Pseudo :&nbsp;</label>
    		<input id="idpseudo" type="text" tabindex="1" name="pseudo" value="<?php echo $pseudo_inscription; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmdp">Mot de Passe :&nbsp;</label>
    		<input id="idmdp" type="password" tabindex="2" name="mdp" value="<?php echo $mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idverif_mdp">Retapez votre mot de passe :&nbsp;</label>
    		<input id="idverif_mdp" type="password" tabindex="3" name="verif_mdp" value="<?php echo $verif_mdp; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idmail">Votre E-Mail :&nbsp;</label>
    		<input id="idmail" type="text" tabindex="4" name="mail" value="<?php echo $mail2; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idnom">Nom :&nbsp;</label> 
    		<input id="idnom" type="text" tabindex="5" name="nom" value="<?php echo $nom; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idprenom">Pr&eacute;nom :&nbsp;</label> 
    		<input id="idprenom" type="text" tabindex="6" name="prenom" value="<?php echo $prenom; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="idville">Ville :&nbsp;</label> 
    		<input id="idville" type="text" tabindex="8" name="ville" value="<?php echo $ville; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
    	</p>
    	<p>
    		<label for="naissance">Date de Naissance :&nbsp;</label>
    		<br />
    	</p>
    	<p>
    		<label for="idjour2">Jour :&nbsp; </label>
    		<select id="idjour2" name="jour2" class="jj" tabindex="9" value="<?php echo $jour_vue; ?>" onfocus="this.className='jj_focus';" onblur="this.className='jj';">
    		<option selected value="<?php echo $jour_vue; ?>"><?php echo $jour_vue; ?>	
    <?php 	// 1ère requête : jours
    		$affich_form3 = "SELECT * FROM jours ORDER BY jour ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    	while ( $list = mysql_fetch_array( $resultat3 ) )
    	{
    	?>
    	<option value="<?php echo $list['jour']; ?>"><?php echo $list['jour']; ?></option>
    	<?php
    	} // fin du while
    		} // fin du else
    		?>
    		</select>
    		</p>
    		<p>
    		<label for="idmois2">Mois :&nbsp;</label>
    		<select id="idmois2" name="mois2" class="mm" tabindex="10" value="<?php echo $mois_vue; ?>" onfocus="this.className='mm_focus';" onblur="this.className='mm';">
    		<option selected value="<?php echo $mois_vue; ?>"><?php echo $mois_affiche; ?>
    <?php 	// 2ème requête : mois
    		$affich_form4 = "SELECT * FROM mois ORDER BY Nb ASC;";
    		$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) { // rien dans la liste
    ?>			<option>Aucun</option>';
    <?php	} else {
    				while ( $list = mysql_fetch_array($resultat4) )
    				{
    				?>			
    				<option value="<?php echo $list['Nb']; ?>"><?php echo $list['mois']; ?></option>
    				<?php
    				} // fin du while
    				} // fin du else
    				?>
    		</select>
    	</p>
    	<p>
    		<label for="idannee2">Ann&eacute;e :&nbsp;</label>
    		<select id="idannee2" name="annee2" class="mm" tabindex="10" value="<?php echo $annee_vue; ?>" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">
    		<option selected value="<?php echo $annee_vue; ?>"><?php echo $annee_vue; ?>
    <?php	// 3ème requête : années
    		$affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
    		$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){ // rien dans la liste
    ?>			<option>Aucun</option>
    <?php	} else {
    				while ( $list = mysql_fetch_array( $resultat5 ) )
    				{
    				?>		
    				<option value="<?php echo $list['an']; ?>"><?php echo $list['an']; ?></option>
    				<?php		} // fin du while
    				} // fin du else
    ?>
    		</select>
    	</p>
    	<p>
    		<input type="submit" tabindex="10" name="boutonEnvoiFormulaire" value="Inscription" />
    	</p>
    </fieldset>
    </form>
    <?php
    } // fin formulaire
    ?>
     
    <?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
     
    <?php mysql_close($sql); //On se deconnecte ?>
     
    </body>
    </html>

  19. #19
    Invité
    Invité(e)
    Par défaut
    Ahhhhh oui ... ca vient de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    1/ Une solution est de changer pour : (sans rien changer d'autre)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
    2/ L'autre solution est de garder utf-8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    Et de modifier le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php // (pour tous les POST)
    	$mail2		= htmlentities($_POST['mail'],ENT_QUOTES,'UTF-8');
    	$pseudo2	= htmlentities($_POST['pseudo'],ENT_QUOTES,'UTF-8');
    // [....]
    	$mail = remplacements(html_entity_decode($mail2));
    	$pseudo = remplacements(html_entity_decode($pseudo2));
    ?>
    Dernière modification par Invité ; 03/08/2011 à 15h16.

  20. #20
    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
    Désolé Jreaux62 mais je vois que c'est la fonction qui pose problème, non ?
    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
     
    <?php
    function remplacements($chaine)
    {
    	// (supprime les accents) + (met en minuscule) + (remplace espace par -)
    	$sans_accent 	= "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÒÓÔÕÖŒØÙÚÛÜÝàáâãäåæçèéêëìíîïðòóôõöùúûüýÿÑñŠšœ ";
    	$avec_accent 	= "AAAAAAACEEEEIIIIOOOOOOOUUUUYaaaaaaaceeeeiiiioooooouuuuyynnsso-";
    	$chaine 	= strtolower(trim($chaine)); // en minuscule
    	$chaine 	= strtr($chaine, $sans_accent, $avec_accent);
    	return $chaine;
    }
    ?>
     
    <?php
    $validform = 0;
    $msgerreur = '';
    $reponse = '';
    // -------------------------------
    // TRAITEMENT si formulaire envoyé
    // -------------------------------
    if( isset($_POST['boutonEnvoiFormulaire']) ) 
    {
    	// -----------------------------------------
    	// 1- RECUPERATION DES DONNEES DU FORMULAIRE
    	// -----------------------------------------
    	$mail2		= htmlentities($_POST['mail'],ENT_QUOTES,'UTF-8');
    	$pseudo2	= htmlentities($_POST['pseudo'],ENT_QUOTES,'UTF-8');
    	$mdp 		= $_POST['mdp'];
    	$verif_mdp 	= $_POST['verif_mdp'];
    	$nom 		= $_POST['nom'];
    	$prenom 	= $_POST['prenom'];
    	$ville 		= $_POST['ville'];
    	$jour_vue   = $_POST['jour2'];
    	$mois_vue   = $_POST['mois2'];
    	$annee_vue   = $_POST['annee2'];
     
    	// pour affichage du nom du mois déjà saisi
    	$mois_select = "SELECT mois FROM mois WHERE Nb='$mois_vue'";
    	$mois_quer = mysql_query($mois_select) or die ('Erreur : '.mysql_error() );
    	$mois_req = mysql_fetch_array($mois_quer);
    	$mois_affiche = $mois_req['mois'];
     
    	// on remet en minuscules et on enlève les accents dans l'adresse mail et aussi en caractères normaux
    	$mail_min = remplacements($mail2);
    	$mail = remplacements(html_entity_decode($mail_min));
    	// on remet en minuscules et on enlève les accents dans le pseudo et aussi en caractères normaux
    	$pseudo_min = remplacements($pseudo2);
    	$pseudo_inscription = remplacements(html_entity_decode($pseudo_min));
     
     
    	// pour voir les erreurs !!!
    	echo '$mail2 : '.$mail2.'<br />';
    	echo '$mail_min : '.$mail_min.'<br />';
    	echo '$mail : '.$mail.'<br />';
    	echo '$pseudo2 : '.$pseudo2.'<br />';
    	echo '$pseudo_min : '.$pseudo_min.'<br />';
    	echo '$pseudo_inscription'.$pseudo_inscription.'<br />';
    Voici le résultat : il n'a pas enlevé les accents...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $mail2 : Gérard@hebergefree.fr
    $mail_min : gérard@hebergefree.fr
    $mail : g�rard@hebergefree.fr
    $pseudo2 : Gérard
    $pseudo_min : gérard
    $pseudo_inscriptiong�rard
    je suis paumé..

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/06/2014, 15h53
  2. Conserver les données d'un tableau après fermeture d'un classeur
    Par steph6499 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/02/2011, 10h41
  3. Réponses: 12
    Dernier message: 15/07/2009, 12h51
  4. Réponses: 1
    Dernier message: 28/10/2005, 09h37
  5. Réponses: 8
    Dernier message: 19/05/2005, 16h03

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