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
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
A voir également:
- Projet php
- Easy php - Télécharger - Divers Web & Internet
- Gantt projet - Télécharger - Gestion de projets
- Musique projet x ✓ - Forum Musique / Radio / Clip
- Php?id=1 - Forum PHP
- Musique du film Projet X - Forum Musique / Radio / Clip
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
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é ?
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é ?
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
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.
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.
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
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...
@+
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...
@+
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
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
@+
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
@+
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>
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>
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
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
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
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....
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
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
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
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
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 :
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
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
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
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.
2 mars 2014 à 19:58
2 mars 2014 à 20:03
Débutant ou pas, un minimum de recherche et d'effort est néanmoins requis.
2 mars 2014 à 20:05
2 mars 2014 à 20:32
Un conseil : abandonne le dev ...
2 mars 2014 à 20:35