20-12-2010, 03:16 PM
Bonjour,
le titre ne vous dit peut être pas quelques choses, ce que je souhaite réaliser c'est une page php ou je liste toute les erreurs possible qui peuvent être afficher a un joueur/visiteurs (etc...) sur mon site.
lorsqu'une erreur survient (par exemple formulaire non rempli), je désigne $erreur[16].
je redirige le visiteur vers ce formulaire avec l'id 16 dans l'url (ou alors en post si possible).
et j'affiche l'erreur.
Vous me dirais : AJAX !
Oui, certe, mais je ne veut pas l'utiliser, car je n'utilise pas forcement ces erreur que pour des formulaire, ca devient compliqué après, surtout que moi et l'ajax.. :heuuu:
En gros voici avec plus de details :
L'utilisateur est sur la page inscription.php, il fait une erreur (ici on va prendre comme exemple, de valider la page sans avoir rentrée de données).
donc dans check_inscription.php cela correspond à l'erreur $erreur[16].
Toujours dans check_inscription.php, si une erreur existe, je redirige vers inscription.php avec l'id de l'erreur 16 en url (inscription.php?erreur=16) ou en post.
Si il n'y a pas d'erreur, je fait mes requête (ici, insertion du membre dans la BDD).
Ce que je n'arrive pas a faire :
C'est de lister les erreurs que le visiteur fait, de mettre ces id dans l'url (ou en post) et de rediriger avec ces id dans l'url (inscription.php?erreur=2,5,9 etc...)
et de récupérer ces id qui sont dans l'url pour afficher leur erreurs.
Ce pseudo n'est pas disponible
Vous devez indiquer un mot de passe
Cette adresse Email est invalide
Ce que j'avais fait avant, m'afficher toute la liste des erreur (la page idErreurs.php) or je ne veut que les erreurs voulu via leur id.
j'espère que vous avez compris ou je veut en arriver, je vous montre maintenant mon code
Ici, la page ou je liste les erreurs :
idErreurs.php
Ensuite, mon formulaire d'inscription :
inscription.php
et mon traitement du formulaire :
check_inscription.php
Merci beaucoup à ceux qui pourrons m'aider pour ce nouveau problème qui me creuse la tête.
Quel torchons mon post sorry pour la déformation du fofo en largeur:$
le titre ne vous dit peut être pas quelques choses, ce que je souhaite réaliser c'est une page php ou je liste toute les erreurs possible qui peuvent être afficher a un joueur/visiteurs (etc...) sur mon site.
lorsqu'une erreur survient (par exemple formulaire non rempli), je désigne $erreur[16].
je redirige le visiteur vers ce formulaire avec l'id 16 dans l'url (ou alors en post si possible).
et j'affiche l'erreur.
Vous me dirais : AJAX !
Oui, certe, mais je ne veut pas l'utiliser, car je n'utilise pas forcement ces erreur que pour des formulaire, ca devient compliqué après, surtout que moi et l'ajax.. :heuuu:
En gros voici avec plus de details :
L'utilisateur est sur la page inscription.php, il fait une erreur (ici on va prendre comme exemple, de valider la page sans avoir rentrée de données).
donc dans check_inscription.php cela correspond à l'erreur $erreur[16].
Toujours dans check_inscription.php, si une erreur existe, je redirige vers inscription.php avec l'id de l'erreur 16 en url (inscription.php?erreur=16) ou en post.
Si il n'y a pas d'erreur, je fait mes requête (ici, insertion du membre dans la BDD).
Ce que je n'arrive pas a faire :
C'est de lister les erreurs que le visiteur fait, de mettre ces id dans l'url (ou en post) et de rediriger avec ces id dans l'url (inscription.php?erreur=2,5,9 etc...)
et de récupérer ces id qui sont dans l'url pour afficher leur erreurs.
Ce pseudo n'est pas disponible
Vous devez indiquer un mot de passe
Cette adresse Email est invalide
Ce que j'avais fait avant, m'afficher toute la liste des erreur (la page idErreurs.php) or je ne veut que les erreurs voulu via leur id.
j'espère que vous avez compris ou je veut en arriver, je vous montre maintenant mon code
Ici, la page ou je liste les erreurs :
idErreurs.php
<?php
// Toute les id, et leurs descriptions de toutes les erreurs qui peuvent être affichées.
$erreur = array();
$erreur[00] = "";
# inscription.php
# check_inscription.php
$erreur[01] = "Vous devez indiquer un pseudo";
$erreur[02] = "Ce pseudo n'est pas disponible";
$erreur[03] = "Votre pseudo est trop court, la taille minimale est de 3 caractères";
$erreur[04] = "Votre pseudo est trop long la taille maximale est de 15 caractères";
$erreur[05] = "Vous devez indiquer un mot de passe";
$erreur[06] = "Vous n'avez pas saisie la confirmation du mot de passe";
$erreur[07] = "Le mot de passe et sa vérification ne sont pas identique";
$erreur[08] = "Vous n'avez pas saisie votre adresse e-mail";
$erreur[09] = "Cette adresse Email est invalide";
$erreur[10] = "Un compte existe déjà sous cette adresse mail";
$erreur[11] = "Vous avez oublier de donner un nom a votre commissariat";
$erreur[12] = "Ce nom de commissariatt n'est pas disponible";
$erreur[13] = "Le nom de votre commissariat est trop court, la taille minimale est de 3 caractères.";
$erreur[14] = "Le nom de votre commissariat est trop long la taille maximale est de 15 caractères.";
$erreur[15] = "Le pseudo de votre parrain n'existe pas.";
$erreur[16] = "Le formulaire d'inscription n'a pas été rempli. <a href='./inscription.php'>Inscrivez vous !</a>";
?>
Jusque la, ca va.Ensuite, mon formulaire d'inscription :
inscription.php
<form method="post" action="./check_inscription.php" accept-charset="UTF-8">
<p>
<label for="pseudo">Pseudo :</label> <input type="text" name="pseudo" id="pseudo" /><br />
<label for="mot_passe">Mot de passe :</label> <input type="password" name="mot_passe" id="mot_passe" /><br />
<label for="mot_passe_verif">Retapez le mot de passe :</label> <input type="password" name="mot_passe_verif" id="mot_passe_verif" /><br />
<label for="mail">Adresse mail :</label> <input type="text" name="mail" id="mail" /><br />
<label for="nom_commissariat">Nom de votre commissariat :</label> <input type="text" name="nom_commissariat" id="nom_commissariat" /><br />
<label for="parrain">Parrain :</label> <input type="text" name="parrain" id="parrain" value="<?php echo $parrain; ?>" /><br />
</p>
<p>
<?php
// require_once('./recaptcha/recaptchalib.php');
// $publickey = "clée publique";
// echo recaptcha_get_html($publickey);
?>
</p>
<p>
<input type="submit" name="inscription" id="inscription" value="S'inscrire" />
</p>
</form>
et mon traitement du formulaire :
check_inscription.php
<?php
include'./global/connexion.php';
include'./global/divers.fonction.php';
include'./global/exist.fonction.php';
include'./global/idErreurs.php';
$erreur = array();
if (!empty($_POST['inscription'])) {
if (empty($_POST['pseudo'])) {
$erreur[01];
}
else {
if (existPseudo($_POST['pseudo']) == 1) {
$erreur[02];
}
if (strlen($_POST['pseudo']) < 3) {
$erreur[03];
}
if (strlen($_POST['pseudo']) > 20) {
$erreur[04];
}
}
if (empty($_POST['mot_passe'])) {
$erreur[05];
}
if (empty($_POST['mot_passe_verif'])) {
$erreur[06];
}
if ($_POST['mot_passe'] != $_POST['mot_passe_verif']) {
$erreur[07];
}
if (empty($_POST['mail'])) {
$erreur[08];
}
elseif (!verifMail($_POST['mail'])) {
$erreur[09];
}
if (existMail($_POST['mail']) == 1) {
$erreur[10];
}
if (empty($_POST['nom_commissariat'])) {
$erreur[11];
}
else {
if (existCommissariat($_POST['nom_commissariat']) == 1) {
$erreur[12];
}
if (strlen($_POST['nom_commissariat']) < 3) {
$erreur[13];
}
if (strlen($_POST['nom_commissariat']) > 15) {
$erreur[14];
}
}
if(!empty($_POST['parrain'])) {
$exist_parrain = $bdd->prepare("SELECT COUNT(pseudo) FROM Membres WHERE pseudo = :pseudo_parrain");
$exist_parrain->bindValue(':pseudo_parrain', htmlspecialchars($_POST['parrain'], ENT_NOQUOTES, "UTF-8"), PDO:ARAM_STR);
$exist_parrain->execute();
if($exist_parrain->fetchColumn() == 0) {
$erreur[15];
}
else {
$select_parrain = $bdd->prepare("SELECT id FROM Membres WHERE pseudo = :pseudo_parrain");
$select_parrain->bindValue(':pseudo_parrain', htmlspecialchars($_POST['parrain'], ENT_NOQUOTES, "UTF-8"), PDO:ARAM_STR);
$select_parrain->execute();
$donnees_parrain = $select_parrain->fetch();
$parrain = $donnees_parrain['id'];
$select_parrain->closeCursor();
}
$exist_parrain->closeCursor();
}
else {
$parrain = NULL;
}
// reCaptcha
// require_once('./recaptcha/recaptchalib.php');
// $privatekey = "clée privée";
// $resp = recaptcha_check_answer ($privatekey,
// $_SERVER["REMOTE_ADDR"],
// $_POST["recaptcha_challenge_field"],
// $_POST["recaptcha_response_field"]);
// if (!$resp->is_valid) {
// faire $erreur (je l'ai oublier celui la)
// }
// end reCaptcha
if (empty($erreur)) {
$hash_inscription = md5(GRAIN_INSCRIPTION.$_POST['pseudo'].$_POST['nom_commissariat']);
$hash_pass = md5(GRAIN_PASS.$_POST['mot_passe']);
$nouveau_membre = $bdd->prepare("INSERT INTO Membres(
pseudo,
mot_passe,
date_inscription,
hash_inscription,
mail,
nom_commissariat,
parrain)
VALUES(
:pseudo,
:mot_passe,
NOW(),
:hash_inscription,
:mail,
:nom_commissariat,
:parrain)");
$nouveau_membre->bindValue(':pseudo', htmlspecialchars($_POST['pseudo'], ENT_NOQUOTES, "UTF-8"), PDO:ARAM_STR);
$nouveau_membre->bindValue(':mot_passe', $hash_pass, PDO:ARAM_STR);
$nouveau_membre->bindValue(':hash_inscription', $hash_inscription, PDO:ARAM_STR);
$nouveau_membre->bindValue(':mail', $_POST['mail'], PDO:ARAM_STR);
$nouveau_membre->bindValue(':nom_commissariat', htmlspecialchars($_POST['nom_commissariat'], ENT_NOQUOTES, "UTF-8"), PDO:ARAM_STR);
if(!is_null($parrain)) {
$nouveau_membre->bindParam(':parrain', htmlspecialchars($parrain, ENT_NOQUOTES, "UTF-8"), PDO:ARAM_INT);
$nouveau_membre->execute();
}
else {
$parrain = NULL;
$nouveau_membre->bindParam(':parrain', $parrain, PDO:ARAM_NULL);
$nouveau_membre->execute();
}
// envoie du mail :
}
}
else {
$erreur[16];
}
?>
Merci beaucoup à ceux qui pourrons m'aider pour ce nouveau problème qui me creuse la tête.
Quel torchons mon post sorry pour la déformation du fofo en largeur:$