Soyez le premier à donner votre avis sur cette source.
Snippet vu 10 485 fois - Téléchargée 31 fois
//------------------------------ // PAGE D INSCRIPTION //------------------------------ //creation d une variable qui genere une clé a 10 chiffres $numero = "0123456789"; $clef = str_shuffle($numero); //envoi des données dans la table compte_provisoir avec la clé if (sizeof($_POST)) { if (isset($_POST['pseudo']) and isset($_POST['password']) and isset ($_POST['mail'])) { $pseudo = $_POST['pseudo']; $password = $_POST['password']; $mail = $_POST['mail']; mysql_connect("localhost", "root", ""); mysql_select_db("test"); mysql_query("INSERT INTO compte_provisoir VALUES('', '$clef', '$pseudo', '$password', '$mail')")or die(mysql_error()); $reponse_id = mysql_query("SELECT id FROM compte_provisoir WHERE pseudo = '$pseudo'")or die(mysql_error()); mysql_close(); echo "tu vas recevoir un mail"; //le mail est envoyé, l'url contient la clé et l'id pour la comparaison (page verification) while ($donnees = mysql_fetch_array($reponse_id)) { $id = $donnees['id'] ; $mail_destinataire = $_POST['mail']; $sujet = " validation de l'inscription"; $message = "Ton mot de passe est: $password \n Ton pseudo est: $pseudo \n \n Pour valider ton inscription clique sur le lien suivant: \n http://127.0.0.1:81/Php/zone_membre_validation.php?id=$id&clef=$clef"; $head = "Salut $pseudo "; mail($mail_destinataire, $sujet, $message, $head); } } //----------------------------- // PAGE VERIFICATION (http://127.0.0.1:81/Php/zone_membre_validation.php?id=$id&clef=$clef) //----------------------------- //ici on recupere la clé et l id de l'url if (isset($_GET['id']) and isset($_GET['clef'])) { $recherche_id= $_GET['id']; $recherche_clef = $_GET['clef']; //on recupere les données de la table compte_provisoir mysql_connect("localhost", "root", ""); mysql_select_db("test"); $reponse_comparaison = mysql_query("SELECT id, clef FROM compte_provisoir WHERE id = '$recherche_id'")or die(mysql_error()); $reponse_provisoir = mysql_query("SELECT clef, pseudo, password, mail FROM compte_provisoir WHERE id = '$recherche_id'")or die(mysql_error()); mysql_close(); while ($donnees_provisoir = mysql_fetch_array($reponse_provisoir)) { $clef = $donnees_provisoir['clef']; $pseudo = $donnees_provisoir['pseudo']; $password = $donnees_provisoir['password']; $mail = $donnees_provisoir['mail']; } while ($donnees_comparaison = mysql_fetch_array($reponse_comparaison)) { //ici le plus important on compare la clé de la table compte_provisoir a celle de l'url, idem pour l'id, si elles sont identiques alors on en fait une requette pour balancer les données dans le compte_definitif et on supprime celles du compte provisoir if ($donnees_comparaison['clef'] == $recherche_clef and $donnees_comparaison['id'] == $recherche_id) { echo "compte validé"}; mysql_connect("localhost", "root", ""); mysql_select_db("test"); mysql_query("INSERT INTO compte_definitif VALUES('', '$clef', '$pseudo', '$password', '$mail')")or die(mysql_error()); mysql_query("DELETE FROM compte_provisoir WHERE clef = '$clef '")or die(mysql_error()); mysql_close(); } else {echo "echec validation";} //si la variable clé (de la table compte_provisoir) if (empty($clef)) { echo "votre compte est deja validé";} }
Commentaires
ouais j'ai laisse tombé le $_GET pour une autre méthode, mais bon à mon avis ca vient de multimania, un pote a testé sous free et il n'a pas de problème.
merci quand meme pour ta reponse ;)
Donc les $_GET ne fonctionneront pas...
# if (isset($_GET['id']) and isset($_GET['clef']))
# {
# $recherche_id= $_GET['id'];
# $recherche_clef = $_GET['clef'];
.................
simpa le code , mais j'ai un ptit problème (plutot chi***)
voilà pour le moment la base de donnée et le site sont hébergés chez multimania , je sais pas si le problème vient de là , mais les GET marchent pas, jusqu'à l'inscription ca marche nikel , j'ai verifié ds la table compte_provisoir c'est bien rentré , mais dès que la page verification est ouverte , j'ai fait un test d'affichage des valeur de $recherche_id et $recherche_clef et ca m'affiche rien...
donc si quelqu'un peut m'éclairer sur le problème ca serait simpa ;)
merci d'avance
J'ai completement oublié comment, dans un requête mysql, envoyer un "timer" => genre effacement d'une table client au bout de 24 heures :p
Merci de votre réponse :-)
Giustino, Admin VegaGames
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.