Espace membre - Besoin d'aide
Fermé
zartas
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
6 février 2015
-
5 févr. 2015 à 20:52
zartas Messages postés 6 Date d'inscription jeudi 5 février 2015 Statut Membre Dernière intervention 6 février 2015 - 6 févr. 2015 à 14:37
zartas Messages postés 6 Date d'inscription jeudi 5 février 2015 Statut Membre Dernière intervention 6 février 2015 - 6 févr. 2015 à 14:37
A voir également:
- Espace membre - Besoin d'aide
- Espace insécable word - Guide
- Libérer espace gmail - Guide
- Membre indisponible vinted - Guide
- Espace stockage google - Guide
- Code ascii espace - Guide
5 réponses
Lilly_SF
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
5 février 2015
6
5 févr. 2015 à 21:07
5 févr. 2015 à 21:07
Salut,
tu dois tout faire sur la page inscription.php
tu dois tout faire sur la page inscription.php
<?php
// page inscription.php
if(isset($_POST['inscrire']))
{
// processus de vérification de mot de passe, etc...
// si c'est bon : on redirige vers la page de connexion
header("location:connexion.php");
exit;
}
// si c'est pas bon, on reste sur cette même page, et on va remplir le formulaire avec les données issus du POST
?>
<form action="inscription.php" method="post">
.../...
Nom : <input type="text" name="nom" value="<?php echo $_POST['nom']; ?>">
.../...
<input type="submit" value="S'inscrire" name="inscrire" />
</form>
zartas
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
6 février 2015
5 févr. 2015 à 21:40
5 févr. 2015 à 21:40
Merci pour cette réponse :)
J'avais déjà essayer et je viens de réessayer avec
mais ça ne fonctionne pas. Je reste sur ma page "inscription.php".
Voici mon code PHP de ma page "inscription.php". Je penses avoir des erreurs de placement ou autres. Je suis preneur pour toutes aides et organisations de mon code ^^ mais ma priorité reste mon problème ci dessus, pour le moment :)
PS : La lisibilité du code n'est pas super. J'ai dû mettre tous mon code au même niveau pour pouvoir le faire rentrer. Normalement il n'y a aucune erreur de "{".
J'avais déjà essayer et je viens de réessayer avec
header("location:connexion.php");
exit;
mais ça ne fonctionne pas. Je reste sur ma page "inscription.php".
Voici mon code PHP de ma page "inscription.php". Je penses avoir des erreurs de placement ou autres. Je suis preneur pour toutes aides et organisations de mon code ^^ mais ma priorité reste mon problème ci dessus, pour le moment :)
<?php if(isset($_POST['inscrire'])) { if(!empty($_POST['pseudo']) && !empty($_POST['mot_de_passe']) && !empty($_POST['mot_de_passe_confirme']) && !empty($_POST['adresse_email']) != "") { include("includes/identifiants.php"); $req_email = $connexion->prepare('SELECT * FROM membres WHERE adresse_email = :adresse_email'); $req_email->execute(array('adresse_email' => $_POST['adresse_email'])); $resultat_email=$req_email->fetch(); if(!$resultat_email) { include("includes/identifiants.php"); $req_pseudo = $connexion->prepare('SELECT * FROM membres WHERE pseudo = :pseudo'); $req_pseudo->execute(array('pseudo' => $_POST['pseudo'])); $resultat_pseudo=$req_pseudo->fetch(); if(!$resultat_pseudo) { if(!preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0- 9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z] {2,}$#i',$_POST['adresse_email'])) { echo "L'e-mail n'est pas valide."; } else { echo ""; } if(strlen($_POST['mot_de_passe']) >= 8) { $pass_hache = sha1( $_POST['mot_de_passe'] ); include("includes/identifiants.php"); $requete = $connexion->prepare('INSERT INTO membres( pseudo, mot_de_passe, adresse_email) VALUES ( :pseudo, :mot_de_passe, :adresse_email)'); $requete->execute(array( 'pseudo' => $_POST ['pseudo'], 'mot_de_passe' => $pass_hache, 'adresse_email' => $_POST ['adresse_email'])); header("location:Login.php"); exit; } elseif($_POST['mot_de_passe'] != $_POST['mot_de_passe_confirme']) { echo "Le mot de passe n'est pas identique à sa confirmation."; } else { echo "Le mot de passe doit contenir au moins 8 caractères."; } } else { echo "Ce pseudo est déjà utilisé."; } } else { echo "Cette adresse-email est déjà utilisé."; } } else { echo "Tous les champs doivent être remplis."; } } else { echo "Remplissez le formulaire pour vous inscrire."; } ?>
PS : La lisibilité du code n'est pas super. J'ai dû mettre tous mon code au même niveau pour pouvoir le faire rentrer. Normalement il n'y a aucune erreur de "{".
Lilly_SF
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
5 février 2015
6
5 févr. 2015 à 21:47
5 févr. 2015 à 21:47
la fonctions header("location...") ne peux pas être utilisée si des caractères ont déjà été affichés (vu que c'est une fonction qui modifie l'entete de la réponse).
Or tu as un echo ""; et je pense que le problème vient de là, ou alors dans les fichiers que tu inclues, vérifie qu'il n'y ai pas d'affichages et qu'ils ne sont pas fermés en php (ne mets jamais je ?> à la fin d'un fichier php)
Or tu as un echo ""; et je pense que le problème vient de là, ou alors dans les fichiers que tu inclues, vérifie qu'il n'y ai pas d'affichages et qu'ils ne sont pas fermés en php (ne mets jamais je ?> à la fin d'un fichier php)
zartas
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
6 février 2015
Modifié par zartas le 5/02/2015 à 22:28
Modifié par zartas le 5/02/2015 à 22:28
J'ai essayer comme ça :
ça fonctionne toujours pas.
Pour la suite de ce que tu me conseil, j'avais mis mon code PHP dans le <div> du formulaire pour que les "echo" s'affiche là où je le voulait. Du coup maintenant j'ai mis mon code PHP tout en bas et sans le fermer. Comment je peux faire pour afficher mes "echo" là où je le désir ?
J'ai également corriger l'emplacement mes codes PHP sans les fermer dans mes includes concerné et dans mon fichier connexion. Ça ne fonctionne toujours pas.
if(!preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['adresse_email'])) { echo "L'e-mail n'est pas valide."; } else { if(strlen($_POST['mot_de_passe']) >= 8) { $pass_hache = sha1('' . $_POST['mot_de_passe'] . ''); include("includes/identifiants.php"); $requete = $connexion->prepare('INSERT INTO membres( pseudo, mot_de_passe, adresse_email) VALUES ( :pseudo, :mot_de_passe, :adresse_email)'); $requete->execute(array( 'pseudo' => $_POST ['pseudo'], 'mot_de_passe' => $pass_hache, 'adresse_email' => $_POST ['adresse_email'])); header("location:Login.php"); exit; } elseif($_POST['mot_de_passe'] != $_POST['mot_de_passe_confirme']) { echo "Le mot de passe n'est pas identique à sa confirmation."; } else { echo "Le mot de passe doit contenir au moins 8 caractères."; } }
ça fonctionne toujours pas.
Pour la suite de ce que tu me conseil, j'avais mis mon code PHP dans le <div> du formulaire pour que les "echo" s'affiche là où je le voulait. Du coup maintenant j'ai mis mon code PHP tout en bas et sans le fermer. Comment je peux faire pour afficher mes "echo" là où je le désir ?
J'ai également corriger l'emplacement mes codes PHP sans les fermer dans mes includes concerné et dans mon fichier connexion. Ça ne fonctionne toujours pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
zartas
Messages postés
6
Date d'inscription
jeudi 5 février 2015
Statut
Membre
Dernière intervention
6 février 2015
Modifié par zartas le 6/02/2015 à 15:13
Modifié par zartas le 6/02/2015 à 15:13
Bonjour,
Je viens d'essayer en réduisant au maximum mon code PHP pour voir si le problème venait du code en lui même.
Maintenant mon code PHP fait juste ça :
ça ne fonctionne toujours pas. Lorsque je clique sur le bouton "inscrire", je reste sur la page "inscription.php".
Voici mon formulaire en entier, peut être que le problème viens de là :
Merci :)
édit 1 : Je viens de mettre mon code PHP tout en haut de ma page en supprimant le <?php session_start(); ?> que j'avais oublié et qui servait à rien. Et maintenant, ça fonctionne. Je vais tester en remettant tout le reste du code et je vous redis ça.
édit 2 : Avec tout le reste du code, ça fonctionne bien. Maintenant le problème est que mes echo ne s'affichent plus sur ma page.
Je viens d'essayer en réduisant au maximum mon code PHP pour voir si le problème venait du code en lui même.
Maintenant mon code PHP fait juste ça :
<?php if(isset($_POST['inscrire'])) { header("location:Login.php"); exit; } else { echo "Remplissez le formulaire pour vous inscrire."; }
ça ne fonctionne toujours pas. Lorsque je clique sur le bouton "inscrire", je reste sur la page "inscription.php".
Voici mon formulaire en entier, peut être que le problème viens de là :
<div id="inscription"><h1>S'inscrire</h1> <form method="post" action="inscription.php"> <p> <label for="pseudo">Choisissez un pseudo</label> : <input type="text" name="pseudo" id="pseudo" size="10" /> </p> <p> <label for="mot_de_passe">Choisissez un mot de passe</label> : <input type="password" name="mot_de_passe" id="mot_de_passe" /> </p> <p> <label for="mot_de_passe_confirme">Confirmer votre mot de passe</label> : <input type="password" name="mot_de_passe_confirme" id="mot_de_passe_confirme" /> </p> <p> <label for="adresse_email">Saisissez vôtre adresse e-mail</label> : <input type="email" name="adresse_email" id="adresse_email" /> </p> <p> <input type="submit" value="S'inscrire" name="inscrire" /> </p> </div>
Merci :)
édit 1 : Je viens de mettre mon code PHP tout en haut de ma page en supprimant le <?php session_start(); ?> que j'avais oublié et qui servait à rien. Et maintenant, ça fonctionne. Je vais tester en remettant tout le reste du code et je vous redis ça.
édit 2 : Avec tout le reste du code, ça fonctionne bien. Maintenant le problème est que mes echo ne s'affichent plus sur ma page.