Formulaire d'inscription PHP/MySQL [Résolu/Fermé]

Signaler
Messages postés
59
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
21 février 2012
-
Messages postés
3
Date d'inscription
mardi 21 mai 2013
Statut
Membre
Dernière intervention
21 mai 2013
-
Bonjour,

J'ai suivi le cours du site du zéro sur PHP/MySQL et je suis en train de créer un site. Mais je suis bloqué à la page d'inscription. J'ai créé un formulaire avec 6 input : un pour le pseudo, deux pour le mot de passe et sa confirmation, deux pour l'adresse mail et sa confirmation et un bouton de validation.

Le formulaire envoie les données à la page inscription_post.php. Dans cette page, j'ai mis des conditions pour afficher un message si aucun champ n'est rempli ou si les deux mots de passe ne sont pas identiques, etc. On est ensuite redirigé vers la page inscription.php (la page du formulaire) mais je ne sais pas comment faire pour que les messages d'erreur s'affichent sur cette page et avec du CSS pour les placer là où il faut.

Comment peut-on faire ça ? Est-ce possible en php ou faut il utiliser du javascript ?

Dites moi si avez besoin du code source...

Merci d'avance

3 réponses

Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
264
C'est tout à fait possible en php.

Avec 2 pages pour le formulaire ( 1 pour le formulaire + 1 pour vérification ), je ne sais pas trop.

Mais si tout ton formulaire est en 1 page ( formulaire + vérification ), c'est très simple :

Dans ta condition :

if champs rempli
{
}
else
{
$messageerror = 'attention, vous n\'avez pas rempli tout les champs';
}

Ensuite, au dessus ou en dessous de ton formulaire, tu affiches la variable $messageerror uniquement si le visiteur à cliquer sur valider.

Si tu veux j'ai le code d'un formulaire avec affichage du message.
Messages postés
59
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
21 février 2012
16
Le faire sur une seule page c'est facile, mais j'aimerais le faire sur deux pages pour plus de clarté dans le code...

Voilà le code :

Inscription.php :

<form method="post" action="inscription_post.php" class="inscription">
    <p>
        <label for="pseudo">Pseudo</label><br />
	<input type="text" name="pseudo" id="pseudo" size="30" />
        <br />
						
	<br />
					
	<label for="mdp">Mot de passe</label><br />
	<input type="password" name="mdp" id="mdp" size="30" /><br />
						
	<label for="mdp_confirm">Confirmez votre mot de passe</label><br />
	<input type="password" name="mdp_confirm" id="mdp_confirm" size="30" />
        <br />
						
	<br />
						
	<label for="mail">Adresse email</label><br />
	<input type="email" name="mail" id="mail" size="30" /><br />
						
	<label for="mail_confirm">Confirmez votre adresse email</label><br />
	<input type="email" name="mail_confirm" id="mail_confirm" size="30" />
        <br />
						
	<br />
						
	<input type="submit" value="Valider" class="valider" />
    </p>
</form>


Inscription_post.php :

<?php
    if($_POST['pseudo'] != NULL AND $_POST['mdp'] != NULL AND $_POST['mdp_confirm'] != NULL AND $_POST['mail'] != NULL AND $_POST['mail_confirm'] != NULL AND $_POST['mdp'] == $_POST['mdp_confirm'] AND $_POST['mail'] == $_POST['mail_confirm'])
    {
        try
        {
            $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
            $bdd = new PDO('mysql:host=localhost;dbname=team_alez', 'root', '',   $pdo_options);
    
            $req = $bdd->prepare('INSERT INTO infos_principales_utilisateur(pseudo, mdp, mail) VALUES(:pseudo, :mdp, :mail)');
            $req->execute(array(
            'pseudo' => $_POST['pseudo'],
            'mdp' => $_POST['mdp'],
            'mail' => $_POST['mail']
            ));
			
            header('Location: inscription.php');
        }
        catch(Exception $e)
        {
            die('Erreur : '.$e->getMessage());
        }
    }
	
    if($_POST['pseudo'] == NULL)
    {
        echo 'Vous devez entrer un pseudo';
    }
    if($_POST['mdp'] == NULL)
    {
        echo 'Vous devez entrer un mot de passe';
    }
    if($_POST['mdp_confirm'] == NULL)
    {
        echo 'Vous devez confirmer votre mot de passe';
    }
    if($_POST['mail'] == NULL)
    {
        echo 'Vous devez entrer une adresse email';
    }
    if($_POST['mail_confirm'] == NULL)
    {
        echo 'Vous devez confirmer votre adresse email';
    }
    if($_POST['mdp'] != $_POST['mdp_confirm'])
    {
        echo 'Les deux mots de passe doivent être identiques';
    }
    if($_POST['mail'] != $_POST['mail_confirm'])
    {
        echo 'Les deux adresses email doivent être identiques';
    }
    header('Location: inscription.php');
?>
Messages postés
1180
Date d'inscription
dimanche 3 janvier 2010
Statut
Membre
Dernière intervention
4 août 2018
264
Dans ce cas, essaye avec une variable session pour que la valeur soit retenue au moment de changer de page.

Donc attribue le message à une variable session que tu affiches sur ta page formulaire.
Messages postés
59
Date d'inscription
dimanche 1 mai 2011
Statut
Membre
Dernière intervention
21 février 2012
16
Utiliser une variable de session, comment j'ai pu ne pas penser à ça ^^ Merci ;)
Messages postés
3
Date d'inscription
mardi 21 mai 2013
Statut
Membre
Dernière intervention
21 mai 2013

moi j'ai créé mon formulaire il ressemble à ça mais le problème c que les infos ne rentrent pas dans la base de données
vous pourriez m'aider ?





<?php
$server="localhost"; //Le nom du serveur
$user="root"; //Nom d'utilisateur du serveur
$password=""; //Mot de passe du serveur
$data_base="tcll"; //Le nom de la base de donn?es

mysql_connect($server,$user,$password) or die("<h1>Impossible de se connecter au serveur de la base de données!</h1> <br>");

mysql_select_db($data_base) or die("<h1>Impossible d'accéder à la base de données!</h1><br>");

?>





<html>

<head> <title> register</title></head>
<body background="fond_ecran.jpg" style="background-repeat:no-repeat;">

<?php
if(isset($_POST['submit']))
{
$username = htmlentities(trim( $_POST['username']));
$password = htmlentities(trim($_POST['password']));
$repeatpassword = htmlentities(trim( $_POST['repeatpassword']));
$nom_cli=$_POST['nom'] ;
$prenom_cli=$_POST['prenom'] ;
$adresse_cli=$_POST['adresse'] ;
$ville_cli=$_POST['ville_cli'] ;
$cp_cli=$_POST['cp_cli'] ;
$mail=$_POST['mail'] ;


if($username&&$password&&$repeatpassword&&$nom_cli&&$prenom_cli&&$adresse_cli &&$ville_cli &&$cp_cli &&$mail)
{
if($password==$repeatpassword)
{
require_once("connexion.php"); // se référer à ...
$req ="SELECT * FROM client WHERE username='$username'";

$reg = mysql_query($req);
$rows = mysql_num_rows($reg);
if($rows==0)
{
$req="INSERT INTO client VALUES ('','$username','$nom_cli','$prenom_cli','$adresse_cli','$ville_cli','$cp_cli', '$mail', 'sword')";
echo $req;
$query = mysql_query($req)or die (mysql_error()) ;
}else echo " Ce pseudo n'est pas disponible " ;
}else echo "les deux password doivent être identiques";
}else echo "Veuillez saisir tous les champs" ;
}
?>


<br></br><br></br><br></br>

<form method= "POST " action= "register.php">
<center><table>
<tr> <td>Votre pseudo :</td> <td><input type="text " name="username"> </td> </tr>
<tr><td>Password :</td><td> <input type= "password" name="password"> </td></tr>
<tr><td>Répétez votre password :</td><td><input type= "password" name= " repeatpassword "></td></tr>
<tr><td>Nom :</td><td> <input type="nom" name="nom"></td></tr>
<tr><td>Prénom :</td><td><input type="prenom" name="prenom"></td> </tr>
<tr><td>Adresse :</td><td><input type="adresse" name="adresse"></td> </tr>
<tr><td>Ville :</td><td><input type="ville" name= "ville "> </td> </tr>
<tr><td>Code Postale : </td><td><input type= "cp" name="cp"></td> </tr>
<tr><td>Mail : </td><td><input type= "mail" name= "mail"> </td> </tr>

</tr></table></center>
<p align= "left"><input type="submit" value="S'inscrire"></p></td> </tr>


</form>
</body>
</html>
Messages postés
3
Date d'inscription
mardi 21 mai 2013
Statut
Membre
Dernière intervention
21 mai 2013

j'ai demandé à une amie Elle m'a dit que c'était faut et Ne veut pas m'aider
Je suis perdu de plus que toute mon année va être jugée la dessus :/
Messages postés
3
Date d'inscription
mardi 21 mai 2013
Statut
Membre
Dernière intervention
21 mai 2013

unminecraftien
tu pourrais m'envoyer ton code celui sur une page N
Messages postés
5
Date d'inscription
mercredi 10 avril 2013
Statut
Membre
Dernière intervention
10 avril 2013
1
j ' aimerai avoir le code source d' une verification et création de formulaire en une seule page ceux que je cree ne marche pas