Formulaire d'inscription PHP et BD PHPMYADMIN
Fermé
cyberpunk
Messages postés
3
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2008
-
15 sept. 2008 à 15:56
cyberkevin - 29 déc. 2008 à 01:11
cyberkevin - 29 déc. 2008 à 01:11
A voir également:
- Formulaire d'inscription php pdo
- Wetransfer gratuit sans inscription - Guide
- WeTransfer - Télécharger - Téléchargement & Transfert
- Twitter inscription - Guide
- Instagram inscription gratuite - Guide
- Paypal rdc inscription - Guide
6 réponses
Salut, Je suis entrain de créer une page de ce genre, J'ai réussi à faire incrire les données dans ma DB, je peut te passer une partie d emon code si tu veut :
Deja, je créer une page nommé "registration.php" (Je sais, c'est bizard, mais je m'y retrouve ^^)
Cette page sert à metre le formulaire pour entré le Pseudo, le Pass et le Mail pour les stocker dans des variables :
Partit du code :
********************************************************************************************
<?php
// Declaration des variables :
$pseudo = '';
$pass = '';
$mail = '';
$id_pseudo = 0;
?>
//Formulaire d'inscription :
<form action="registration_complete.php" method="post">
Nom d'utilisateur : <input type="text" size="30" name="pseudo" value="" /><br />
Mot de pass : <input type="text" size="30" name="pass" value="" /><br />
Mail : <input type="text" size="30" name="mail" value="" /><br />
<input type="hidden" name="id_pseudo" value="0" />
<input type="submit" value="S'inscrire" />
//Fin du Formulaire !
********************************************************************************************
J'usque la, c'est simple, les identifiants sont enregistrers dans les variables $pseudo, $pass et $mail et le id_pseudo sert à lister els comptes dans la DB.
Ensutie, les valeurs sont garder en mémoire pour la page resgistration_complete.php qui contient le cod epour envoyer nos identifiants dans la DB.
Partie du code de registration_complete.php
********************************************************************************************
<?php
if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset ($_POST['mail']))
{
$pseudo = addslashes($_POST['pseudo']);
$pass = addslashes($_POST['pass']);
$mail = addslashes($_POST['mail']);
if ($_POST['id_pseudo'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO ***NOMDETADB*** VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "')");
/* sachant que ma base de donnée donne ceci comme champ : ID en INT (auto-increment et Primary.), pseudo en VARCHAR, pass en VARCHAR et mail en VARCHAR */
}
}
?>
<div id="corps">
<h2>Votre compte <?php echo $pseudo; ?> à etait créer. </h2><br><br>
<h2>Nom d'utilisateur : <?php echo $pseudo; ?> <br>
Mot de pass : <?php echo $pass; ?> <br>
E-Mail : <?php echo $mail; ?> </h2>
********************************************************************************************
Simple aussi ^^, au debut, on enlève d'éventuel Antislash, puis on verifie que la variable id_pseudo est bien à 0.
Si elle est à 0, on insert l'id et les autres variables, donc les identifiants, dans la base de données.
Ensuite, c'est juse un message pour dire que tout c'est bien passer.
ATTENTION, j'ai quelque peut modifier le code, et je n'est pas tester, à toi de voir si sa amrche, et à te l'adapter.
Deja, je créer une page nommé "registration.php" (Je sais, c'est bizard, mais je m'y retrouve ^^)
Cette page sert à metre le formulaire pour entré le Pseudo, le Pass et le Mail pour les stocker dans des variables :
Partit du code :
********************************************************************************************
<?php
// Declaration des variables :
$pseudo = '';
$pass = '';
$mail = '';
$id_pseudo = 0;
?>
//Formulaire d'inscription :
<form action="registration_complete.php" method="post">
Nom d'utilisateur : <input type="text" size="30" name="pseudo" value="" /><br />
Mot de pass : <input type="text" size="30" name="pass" value="" /><br />
Mail : <input type="text" size="30" name="mail" value="" /><br />
<input type="hidden" name="id_pseudo" value="0" />
<input type="submit" value="S'inscrire" />
//Fin du Formulaire !
********************************************************************************************
J'usque la, c'est simple, les identifiants sont enregistrers dans les variables $pseudo, $pass et $mail et le id_pseudo sert à lister els comptes dans la DB.
Ensutie, les valeurs sont garder en mémoire pour la page resgistration_complete.php qui contient le cod epour envoyer nos identifiants dans la DB.
Partie du code de registration_complete.php
********************************************************************************************
<?php
if (isset($_POST['pseudo']) AND isset($_POST['pass']) AND isset ($_POST['mail']))
{
$pseudo = addslashes($_POST['pseudo']);
$pass = addslashes($_POST['pass']);
$mail = addslashes($_POST['mail']);
if ($_POST['id_pseudo'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO ***NOMDETADB*** VALUES('', '" . $pseudo . "', '" . $pass . "', '" . $mail . "')");
/* sachant que ma base de donnée donne ceci comme champ : ID en INT (auto-increment et Primary.), pseudo en VARCHAR, pass en VARCHAR et mail en VARCHAR */
}
}
?>
<div id="corps">
<h2>Votre compte <?php echo $pseudo; ?> à etait créer. </h2><br><br>
<h2>Nom d'utilisateur : <?php echo $pseudo; ?> <br>
Mot de pass : <?php echo $pass; ?> <br>
E-Mail : <?php echo $mail; ?> </h2>
********************************************************************************************
Simple aussi ^^, au debut, on enlève d'éventuel Antislash, puis on verifie que la variable id_pseudo est bien à 0.
Si elle est à 0, on insert l'id et les autres variables, donc les identifiants, dans la base de données.
Ensuite, c'est juse un message pour dire que tout c'est bien passer.
ATTENTION, j'ai quelque peut modifier le code, et je n'est pas tester, à toi de voir si sa amrche, et à te l'adapter.
Utilisateur anonyme
15 sept. 2008 à 18:41
15 sept. 2008 à 18:41
bonsoir,
à la place de $requete="INSERT member SET login='$login',pass='$pass',email='$email'";
essayez
INSERT into member values('$login','$pass','$email');
à la place de $requete="INSERT member SET login='$login',pass='$pass',email='$email'";
essayez
INSERT into member values('$login','$pass','$email');
Bonjour
ça ne s'enregistre pas, mais as-tu des messages d'erreur ? La requête est-elle exécutée, ou le programme part-il dans une autre branche ?
ça ne s'enregistre pas, mais as-tu des messages d'erreur ? La requête est-elle exécutée, ou le programme part-il dans une autre branche ?
Bas déja je vois un truc zarbi : Quand tu crées ta string de requete mysql, ta syntaxe pour concaténer les commandes sql et les variables php et strange : tu oublie les points de concaténation.
exemple :
ce qui est faut : mysql_query("SELECT * FROM `machin` WHERE `bidule`='$truc'");
ce qui est ok : mysql_query("SELECT * FROM `machin` WHERE `bidule`='".$truc."'");
En php une string se met entre des "" pour concatener une string avec des variable il faut fermer la premiere partie de la string avec un " puit le point pour concatener: "babalababa".$unevariable."balalala"
Si tu veux cherche le contenu de $machin dans ta base et que tu ecrit "debut requete '$machin'" mysql ne va pas cherche le contenu de ta variable mais les terme $machin donc ecrit "debut requete '".$machin."'"
Par ailleur ecrit tes requete en mettant les noms de champs et de table entre des `` du genre
"SELECT `user`,`nom` FROM `ta_table` WHERE `id`='".$unevariable."'" sinon porte grande aux injections de code sql et hacking dans le genre. Y'a pas que ça mais c'est un début.
Enfin quand tu recupère les variable venant d'un formulaire tu utilise $_POST ok c'est bien. Mais quand tu recupere des variable passée directement dans l'url, par exemple http://www.tonsite.com/index.php?var=toto
ne recupere pas seulement ta variable en ecrivant $var mais prefere $_GET['var']. Cela garantie que c'est bien celle de l'url que tu urilises. Sinon porte ouverte au cross-scripting et autre. Encore une fois ce n'est pas tout mais c'est déjà une base.
essaye déjà pour tont script de concatener correctement tes variable et tes string.
Voilou :)
exemple :
ce qui est faut : mysql_query("SELECT * FROM `machin` WHERE `bidule`='$truc'");
ce qui est ok : mysql_query("SELECT * FROM `machin` WHERE `bidule`='".$truc."'");
En php une string se met entre des "" pour concatener une string avec des variable il faut fermer la premiere partie de la string avec un " puit le point pour concatener: "babalababa".$unevariable."balalala"
Si tu veux cherche le contenu de $machin dans ta base et que tu ecrit "debut requete '$machin'" mysql ne va pas cherche le contenu de ta variable mais les terme $machin donc ecrit "debut requete '".$machin."'"
Par ailleur ecrit tes requete en mettant les noms de champs et de table entre des `` du genre
"SELECT `user`,`nom` FROM `ta_table` WHERE `id`='".$unevariable."'" sinon porte grande aux injections de code sql et hacking dans le genre. Y'a pas que ça mais c'est un début.
Enfin quand tu recupère les variable venant d'un formulaire tu utilise $_POST ok c'est bien. Mais quand tu recupere des variable passée directement dans l'url, par exemple http://www.tonsite.com/index.php?var=toto
ne recupere pas seulement ta variable en ecrivant $var mais prefere $_GET['var']. Cela garantie que c'est bien celle de l'url que tu urilises. Sinon porte ouverte au cross-scripting et autre. Encore une fois ce n'est pas tout mais c'est déjà une base.
essaye déjà pour tont script de concatener correctement tes variable et tes string.
Voilou :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cyberpunk
Messages postés
3
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
16 sept. 2008 à 12:09
16 sept. 2008 à 12:09
le plus drôle c'est que je n'ai pas d'erreur j'ai bien le message qui me dit que c'est bon mais rien ds la bd Oo
cyberpunk
Messages postés
3
Date d'inscription
lundi 15 septembre 2008
Statut
Membre
Dernière intervention
16 septembre 2008
1
15 sept. 2008 à 19:44
15 sept. 2008 à 19:44
j'ai effectué le changement mais sa ne fonctionne pas sa ne s'enregistre tj pas dans la bd sql !
j'ai surement plein d'erreur mais ou ? ^^ deja reste a voir si j'utilise bien les fichiers qu'il faut
j'ai surement plein d'erreur mais ou ? ^^ deja reste a voir si j'utilise bien les fichiers qu'il faut