Comment créer une auto inscription sur Mysql/

Maxime3510 -  
 coronier -
Bonjour,

J'aimerais savoir comment faire pour que sur mon site on puise s'inscrire dans la basse de donné Mysql sans passer par moi.Pouver vous m'aider en me disant le code.
Merci d'avance

1 réponse

coronier
 
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/914508-ecrivez-des-donnees

Tout est dit je crois.

Sinon, tu utilises un formulaire:

<form name="formulaire" method="post" action="Validation.php">
    <table>
        <tr>
            <td><label for="mail">Adresse Mail</label></td><td><input id="mail" name="mail" value="" type="text" /></td>
        </tr><br>
        <tr>
            <td><label for="pwd1">Mot de passe</label></td><td><input name="pwd1" value="" type="password" /></td></tr><br>
        <tr>
            <td><label for="pwd2">Confirmer le mot de passe</label></td><td><input name="pwd2" value="" type="password" /></td></tr>
    </table>
    <br>
    <center><button id="BoutonValid" type="submit">Valider</button></center>
</form>


Puis, il te faut une table de donnees dans ta base de données avec 4 colonnes:
mail, pwd, cle, actif et éventuellement la date.

Puis la page suivante:
Validation.php
<?php
// Connect DB
    mysql_connect("localhost", "root", "") or die (mysql_error());
    mysql_select_db("nom_de_ta_table_ID");

// Variables
$mail = mysql_real_escape($_POST['mail']);
$pwd1 =mysql_real_escape($_POST['pwd1']);
$pwd = mysql_real_escape($_POST['pwd2']);
$cle = md5(microtime(TRUE)*100000);
$date = date("Y m d");

$sql = 'SELECT * FROM Id WHERE mail="'.$mail.'"';
$req = mysql_query($sql) or die('Erreur dans la vérification de l\'adresse');
$nb = mysql_num_rows($req);


// Test Regex Mail: pour si l'adresse n'a pas des caractères erronnés
if(preg_match(''^[[:alnum:]]([-_.]?[[:alnum:]])+_?@[[:alnum:]]([-.]?[[:alnum:]])+\.[a-z]{2,4}$'',$mail)) {
    $mailok=1;
}
else {
    echo 'L\'adresse <strong>' . $_POST['mail'] . ' </strong>n\'est pas valide, veuillez indiquer une adresse sous la forme nom@domaine.fr !<br />';
}

// Vérif pwd
if ($pwd1 == "" OR $pwd2 == "") {
    echo "Veuillez indiquer un mot de passe valide";
    mysql_close();
}
else {
// Check Pwd équivalents
    if($pwd1!=$pwd2) {
        echo "Les mots de passe ne concordent pas.";
        mysql_close();
    }
    else {
    // Si mail Ok et pas de doublons
        if ($nb==0 AND $mailok==1) {
        // Enregistrer les donnïées si pas de doublon
            $sql = mysql_query("INSERT INTO Table_Utilisateurs(mail,pwd,cle,date) VALUES('$mail','$pwd1','$cle','$date')");
            echo 'Inscription validée<br>Un mail de confirmation vous a été;
envoyé à l\'adresse:  <strong>'.$mail.'</strong>.<br> Afin de garantir votre identité, veuillez poursuivre
l\'activation de votre compte XXX depuis ce mail. ';
            // Préparation du mail contenant le lien d'activation
            $destinataire = $mail;
            $sujet = "Tu mets le titre du mail que tu veux" ;
            $entete = "From: inscription@tonsite.fr" ;

            // Le lien d'activation est composé du login(log) et de la clé(cle)
            $message = 'Bienvenue sur XXXXX,

Vos identifiants sont:
Adresse mail: '.$mail.'
Mot de passe: '.$pwd1.'

Pour activer votre compte, veuillez cliquer sur le lien ci-dessous
ou copier/coller dans votre navigateur internet.

http://nom_de_ton_site/activation.php?log='.$mail.'&cle='.$cle.'

En cas d\'oubli de votre mot de passe, rendez-vous sur le site pour un nouvel envoi par mail.


---------------
Ceci est un mail automatique, Merci de ne pas y répondre.';
            mail($destinataire, $sujet, $message, $entete) ; // Envoi du mail
            mysql_close();
        }
        //Sinon doublon
        else {
            echo 'Désolé mais l\'adresse <strong>' . $mail . '</strong> est déjà enregistrée.<br>';
            echo 'Si vous avez oublié votre mot de passe, <a href="/page/Rappel.php">cliquez ici</a> pour le recevoir à nouveau par mail';
        }
    }
}
echo "<br /><br /><br /><br /><br /><br /><br />";
?>


et enfin, la page qui valide l'activation:

Activation.php

<? session_start();
// Récupération des variables nécessaires à l'activation
        $mail = $_GET['log'];
        $cle = $_GET['cle'];

// Récupération de la clé correspondant au $login dans la base de données
        $sql = 'SELECT * FROM 'Id' WHERE mail="'.$mail.'" AND cle="'.$cle.'"';
        $req = mysql_query($sql) or die("Aucun identifiant à activer");
        $nb = mysql_num_rows($req);
        if($nb==1) {
            echo 'Votre inscription est validée.<br>Merci de votre inscription sur notre site.';
            echo '<br><br><br><a href="../Index.php">Page principale</a>';
            $valid=mysql_query('UPDATE Id SET actif=1 WHERE mail="'.$mail.'"');
 
        }
        else {
            echo "Veuillez nous excuser, nous avons rencontré un problème lors de
votre inscription. Nous mettons tout en oeuvre pour corriger cet incident.<br>
Veuillez renouveler votre validation ultérieurement.";
}
?>
    </div>


</html>
0