Projet php

Fermé
wuka - 2 mars 2014 à 18:51
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 - 8 avril 2014 à 23:52
Salut! je veux que quand l'une des champs (Prénom, Nom, Email est Mots de Passe) est vide sa affiche un message d'erreur a côté et aussi si il y a pas de @ dans l'email c'est aussi une erreur. Quelqu'un pour m'aider SVP!
A voir également:

6 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 mars 2014 à 19:53
Bonjour,

Ton message est aussi lisible s'il n'est pas mis en gras.

Il suffit de tester les champs et d'envoyer un message à l'utilisateur si un champ n'est pas correct.

Elle est où la difficulté ?

3
merci! mais je suis débutant alors si tu as mieux ça me ferai du bien.... en php comment vérifié les champs
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 mars 2014 à 20:03
CCM n'est pas un distributeur automatique de code.

Débutant ou pas, un minimum de recherche et d'effort est néanmoins requis.
0
A ton avis je fais quoi là si t'as pas mieux stp bouge!!!!
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
2 mars 2014 à 20:32
ben tu attends qu'on te donne la solution sans trop te compliquer la vie.

Un conseil : abandonne le dev ...
0
le projet je l'ai depuis decembre si je demande de l'aide c'est justement parce que j'ai essayé mais tous ce que je mets ça ne marche pas..
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
4 mars 2014 à 09:25
Le qualificatif est un peu faible et concerne plus celui qui pose la question que la question elle même.

Tu ne prends même pas la peine de lire les réponses qui te sont faites.
Tu attends simplement un code tout fait, clés en main. Tu n'as pas compris que l'on veut bien t'aider à condition que tu fasses d'abord des efforts. Visiblement, depuis décembre, tu n'en as pas fait beaucoup ....

Je confirme, il faut absolument que tu arrêtes le développement.
1
Sisi j ai des progrés j'arrive a afficher les messages d'erreurs mais il manque des trucs!!!
0
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
3 mars 2014 à 10:12
Hello,

Sachant qu'on peut trouver la solution sur Google en environ 10 secondes. On se demande si tu as vraiment chercher...

Comme le dis Polux31, je te conseil aussi d'arrêter le développement Web. Il ne faut pas oublier que c'est un métier ! Si tu ne sais même pas valider un formulaire, j'ai peur pour le reste et surtout la sécurité de ton application...


@+
0
Alors je vous dis chapô merci de l'encouragement je vous r'appelle que suis débutant!!!!! premier année et c'est pas ma faute si suis trés en retard!!! Dsl de mes question un peu IDIOT
0
SlyK Messages postés 854 Date d'inscription vendredi 11 mars 2011 Statut Contributeur sécurité Dernière intervention 6 octobre 2014 147
Modifié par SlyK le 4/03/2014 à 14:38
Re !

On ne peut pas savoir que tu étudies dans ce sujet. Tu sais, il y a un bon nombre de personne qui se lance dans le développement Web grâce à différents tutoriels trouvés sur Internet. Quand tu peux voir le nombre de code source qui ne sont pas optimisé ou pas sécurisé ça fait peur.

C'est pour cela que j'ai réagit ainsi. Alors si maintenant tu nous dis que tu es étudiant, ça change. Mais pourquoi ne pas poser la question à ton professeur ou à tes camarades ?

Sinon, comme dis précédemment : https://lmgtfy.app/?q=php+validation+formulaire


@+
0
Oki j'avoue que j'avais pas bien fais travailler mon cerveau mais ça va maintenant avec les vérifications de champs mais je veux qu'une vois le formulaire valide ça me redirige vers la page index qui est la page connexion avec le champs login (email) auto-rempli sachant que la page du formulaire= inscription....
Voici mon code: mais ca marche pas
N.B: ils sont inclu.....

formulaire

<div id="contenu" align="center" width="900px">

<?php


/**

* On commence par vérifier si le bouton soumettant le formulaire a été

* cliqué, "envoi" étant l'attribut "name" du bouton "submit"

* Sinon, on saute à la ligne 58 de ce code.

*/

if(isset($_POST['envoi']))

{

/* Récupération des données du formulaire */

$prenom = isset($_POST['prenom']) ? trim($_POST['prenom']) : "";

$nom = isset($_POST['nom']) ? trim($_POST['nom']) : "";

$login = isset($_POST['login']) ? trim($_POST['login']) : "";

$pass = isset($_POST['pass']) ? trim($_POST['pass']) : "";

/**

* Définition des variables servant au traitement de l'adresse électronique

*/

$valid = "#^[^-_\.][a-z0-9-_\.]+[^-_\.]@[^-_\.][a-z0-9-_\.]+[^-_\.]\.[a-z]{2,4}$#";

/**

* Traitement de vérification des champs vides ou invalides (prénom et/ou nom et/ou email et/ou mots de passe)

* Conditions de mauvaises réponses (champ vide par exemple)

*/

if ($prenom == '' || $nom == '' || $login == '' || !(preg_match($valid, $login)) || $pass == '' )

{

/* Action à adopter */

?>

<h3>Informations incomplètes</h3>

<?php

if ($prenom == '')

{

/* Si le champ "Prénom" est vide, */

print "<p>Vous avez omis de mentionner un Prénom !</p>\n";

}

if ($nom == '')

{

/* Si le champ "Nom" est vide, */

print "<p>Vous avez omis de mentionner un Nom !</p>\n";

}

if(!$login)

{

/* Si le champ "E-mail" est vide, */

print "<p>Vous avez omis de mentionner un E-mail !</p>\n";

}

if(($login) && !(preg_match($valid, $login))) /* Si il y a un E-mail inscrite mais invalide */

{

/* On vérifie LES DEUX conditions réunies (avec le signe "&&"): si on ne vérifie que la validité, en ne

mettant pas d'E-mail dans le formulaire, on obtient l'affichage des deux messages, or l'adresse à

ce moment là n'est pas invalide, elle est absente: le message d'invalidité ne s'applique donc pas. */

print "<p>L'adresse electronique saisie est invalide.</p>\n";

}

if(!$pass)

{

/* Si le champ "mots de passe" est vide,*/
print"<p>Vous avez omis de mentionner un Mots de Passe !</p>\n";

}




/**

* Si les vérifications ont généré des erreurs, affichage du formulaire

* contenant les données déjà saisies.

*/

?>

<form id="form1" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<fieldset >
<legend> INSCRIPTION</legend>
<table color="#c70909">
<tr>
<td><label>Prénom : </label></td>
<td><input type="text" id="prenom" name="prenom" value="<?php echo $prenom ?>" /></td>
<td><label>Nom : </label></td>
<td><input type="text" id="nom" name="nom" value="<?php echo $nom ?>" /></td>
</tr>
<tr>
<td><label>Email : </label></td>
<td><input type="text" id="login" name="login" value="<?php echo $login ?>" /></td>

<td><label>Mots de passe : </label></td>
<td><input type="password" id="pass" name="pass" value="" /></td>
</tr>
<td class="center"><input type="submit" value="VALIDER" name="envoi" /></td>
</table>
</fieldset>
</form>

<?php

}

else

{

/**

* Si aucun des champs obligatoire n'est vide et les données sont valides:

*/

$href_email = str_replace("@", "%40", $email);

// Affichage de la page connexion

{
header("Location: index.php");
die();
}

}

}

/**

* Si cette page s'ouvre pour la première fois sans que le bouton soumettant le formulaire n'ait

* été cliqué, alors on affiche le formulaire normalement

*/

else

{

?>

<h3>Remplisez correctement le formulaire pour devenir membre</h3>

<form id="form1" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<fieldset >
<legend> INSCRIPTION</legend>
<table color="#c70909">
<tr>
<td><label>Prénom : </label></td>
<td><input type="text" id="prenom" name="prenom" /></td>
<td><label>Nom : </label></td>
<td><input type="text" id="nom" name="nom" /></td>
</tr>
<tr>
<td><label>Email : </label></td>
<td><input type="text" id="login" name="login" /></td>

<td><label>Mots de passe : </label></td>
<td><input type="password" id="pass" name="pass" /></td>
</tr>
<td class="center"><input type="submit" value="VALIDER" name="envoi" /></td>
</table>
</fieldset>
</form>

<?php

}

?>

</div>

& index (page connexion)

<div id="contenu" align="center" width="900px">

<form id="form1" method="post" action="">
<fieldset >
<legend> AUTHENTHIFICATION</legend>
<table color="#c70909">
<tr>
<td><label>Login : </label></td>
<td><?php
$login = $_POST['login'];
echo '<input type="text" value="' . $login . '" name="login" />';
?></td>
</tr>
<tr>
<td><label>Mots de passe : </label></td>
<td><input type="password" id="pass" name="pass" /></td>
</tr>
<tr>
<td><input type="submit" id="entrer" value="ENTRER" /></td>
</tr>
</table>
</fieldset>
</form>
</div>
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
4 mars 2014 à 22:27
les redirections en PHP se font généralement avant que le serveur envoie des données au client.
donc faut faire le header avant la toute première balise HTML c'est à dire avant le doctype.
tu peux utiliser exit() à la place de die(). ceci dit les 2 font pareil
0
si je change l'emplacement du header je pense que ça risque de complètement changé le structure de ma code et comme suis pas expert je risque de me perdre encore une fois si tu as une autre solution..... et puis est possible de comparaître le login & mots de passe de la page connexion a celui rentrer par l'utilisateur sans bdd....
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
Modifié par totodunet le 5/03/2014 à 19:48
et puis est possible de comparaître le login & mots de passe de la page connexion a celui rentrer par l'utilisateur sans bdd....

bah si le login et le mot de passe sont unique pour chaque utilisateur ça va être compliqué. il faut bien les stocker quelque part.

sinon il y a des trucs sur tes scripts que je ne comprend pas très bien notamment au niveau syntaxe

ça ne te mets pas de message d'erreur quand tu fais afficher ta page sur un serveur PHP ?

pour la redirection, tu n'as pas trop le choix. la règle est comme ça. pareil pour ton die(), à placer avant le doctype. car si la redirection ne fonctionne pas, la fonction die() va s'exécuter et du coup te donnera une page HTML incomplète comme ça pu être le cas avec seulement le formulaire et des absences plus ou moins importantes de balises fermantes.

sinon je ne vois pas trop en quoi ça va beaucoup modifier ton code. tu fais simplement ta vérification de ton formulaire avant le doctype au début de ton fichier.

Qui ne tente rien n'a rien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
openpat Messages postés 1 Date d'inscription mardi 8 avril 2014 Statut Membre Dernière intervention 8 avril 2014
8 avril 2014 à 19:37
Sinon, comme dis précédemment : https://lmgtfy.app/?q=php+validation+formulaire

lol, comme un con j'ai essayé :)

Blague à part, j'ai le même souci :


<form name="inscription" method="post" action="new 2.php">
<p>
<br />
<input type="text" name="prenom" id="prenom" placeholder="Prenom" value="<?php echo $prenom; ?>" size="45" maxlength="50" required autofocus/>
<br />
<br />

le résultat est....

<?php echo $prenom; ?>

dans le champ de saisie et pas le contenu de $prenom... pffff !

je dois avoir manqué quelquechose mais quoi ?

une idée ?


Patrick
0
totodunet Messages postés 1377 Date d'inscription mercredi 18 mars 2009 Statut Membre Dernière intervention 5 mars 2020 199
8 avril 2014 à 23:52
salut, tu n'utilises probablement pas un serveur PHP ce qui fait que tes scripts ne sont pas interprétés.
0