Controle des valeurs d'un formulaire php

Fermé
DJGuiGui'zz Messages postés 10 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 22 juin 2008 - 11 mai 2008 à 12:11
DJGuiGui'zz Messages postés 10 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 22 juin 2008 - 11 mai 2008 à 18:20
Bonjour,

Voila j'ai un problème je suis en train de réaliser un formulaire d'inscription client sur mon site web
mon formulaire reprend les valeurs écrites dans les champs du formulaire les envois dans ma base de donnée et envoi dans la même occasion un email au nouveau client avec son code d'utilisation (code qui est généré par ma BDD)
Donc, le problème c'est qui faut que je fasse un contrôle des valeurs écrite par le client mio je veux que si il n'a pas rempli le champs concernant l'email le programme ne s'effectuera pas c'est en parti opérationnelle mais le message d'erreur ne s'affiche pas

Voici le script :


<?
if ( isset($_POST['mailcl']) and ($_POST['mailcl'] != "") )
{
require "connexion.php";
$numcl = $_POST['numcl'];
$nomcl = $_POST['nomcl'];
$promcl = $_POST['promcl'];
$adrscl = $_POST['adrscl'];
$cpcl = $_POST['cpcl'];
$villecl = $_POST['villecl'];
$telcl = $_POST['telcl'];
$mailcl = $_POST['mailcl'];
$categcl = $_POST['categcl'];
$requete = "INSERT INTO CLIENT (numcl,nomcl,promcl,adrscl,cpcl,villecl,telcl,mailcl,categcl) VALUES ('','$nomcl','$promcl','$adrscl','$cpcl','$villecl','$telcl','$mailcl','$categcl');" ;
$result = mysql_query($requete, $lien) or die( mysql_error() ) ;
$requete ="select numcl from CLIENT where mailcl='$mailcl';";
$result = mysql_query($requete, $lien) or die( mysql_error() ) ;
$ligne = mysql_fetch_array($result);
$numcl = $ligne['numcl'];
$objet = "Nouveau Client FRINGUES";
$message = "Bonjour " . $nomcl . " vous êtes enregistré sur le site FRINGUES voici votre code d'utilisation : " . $numcl;
$result = mail($mailcl, $objet, $message, "From: administrateur@du_site_Fringues" );
header("Location: http://monsite/formulaire/suite.php?Nom=" . $nomcl . "&numcl=" . $numcl);
exit;
}
?>

<html>
<head>
<title>Fringues - Fabricant à paris de vetements mode super fashion
homme femme enfant</title>
</head>
<body background="fond.jpg" bgproperties="fixed" width="150%" height="150%">
</br><br>
<font size="6" face="Comic sans ms" color="#999900">
<center>Vous voulez devenir Membre ? </center>
</font><br><br>
<A HREF="index.html"retour à l'accueil>
<IMG ALIGN=top SRC="image/maison.gif"border=0 alt="Retour à l'accueil"></a>
</br> <font size="2" face="Comic sans ms" color="#CCFFFF">accueil</font>
<hr><hr><br><br>
<font size="4" face="Comic sans ms" color="#999900">Veuillez remplir le formulaire suivant :</font>
<center>
<FORM ACTION="index.php" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
<center><font color="#FFAABB" size="3"
<INPUT type="radio" name="civRX" value="Mr">Mr
<INPUT type="radio" name="civRX" value="Mme">Mme
<INPUT type="radio" name="civRX" value="Mlle">Mlle<BR>
Nom* : <INPUT type="text" name="nomcl" size="25"><BR>
Prénom* : <INPUT type="text" name="promcl" size="25"><BR>
Adresse* : <INPUT type="text" name="adrscl" size="25"><BR>
Ville* : <INPUT type="text" name="cpcl" size="25"><BR>
Code postal* : <INPUT type="text" name="villecl" size="6"><BR>
Téléphone* : <INPUT type="text" name="telcl" size="25"><BR>
E-mail* : <INPUT type="text" name="mailcl" size="25"><BR>
Catégorie client* : <SELECT name="categcl">
<OPTION selected>Choisissez votre catégorie </OPTION>
<OPTION value="col0">collectivite locale</OPTION>
<OPTION value="det">detaillant</OPTION>
<OPTION value="par">particulier</OPTION>
<OPTION value="rev">revendeur</OPTION>
</SELECT><BR>
<br>
(*) Champs obligatoires<br></font>
<br>
<INPUT TYPE="SUBMIT" NAME="validation" VALUE="     Je m'inscris     ">
</center>
</FORM>
</BODY>
</HTML>

3 réponses

sly-bzh Messages postés 415 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 5 décembre 2009 118
11 mai 2008 à 16:25
Bonjour,

Tu dis vouloir afficher un message d'erreur, mais personnellement je n'en vois aucun à afficher... Donc quel message veux-tu afficher, et dans quelle page (je suppose que tu veux retourner à la page du formulaire mais bon on ne sait jamais).

D'autre part, tu devrais protéger un peu tes données : $numcl = $_POST['numcl']; n'est absolument pas sûr. Mets plutôt $numcl = htmlspecialchars(stripslashes($_POST['numcl'])); ça t'éviteras des petits problèmes ;)
0
DJGuiGui'zz Messages postés 10 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 22 juin 2008
11 mai 2008 à 17:22
Bonjour sly-bzh,

Merci pour avoir répondu à mon message.
Le but du code c'est que le formulaire reste au même point si le client ne rentre pas la valeur correspondant au mail mais moi je voudrais informer le client de son erreur si lui n'a pas rempli le champs correspondant au mail.
j'ai fait plusieurs test "l'echo" qui prouverai ce que j'avance n'est pas présent dans mon script
Au fait merci pour l'astuce tu as raison se sera beaucoup plus sécurisant.
0
Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 95
11 mai 2008 à 17:45
Dans le <head></head> :
<script language="JavaScript">
<!-- 
function Verif()
	{
	var msg = "";
	// Champ mail saisi ?
	if (document.Form.adrscl.value.length <= 0)
		{
		msg += "\n  - Votre adresse e-mail";
		}

	// Si un problème => message d'erreur
	if (msg != "")
		{
		msg += alert("Vous devez renseigner : " + msg);
		return false;
		}
		
	else
		{
		// tout est bien rempli
		return true;
		}
	}
// -->
</script>
Dans le formulaire :
<FORM ACTION="index.php" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded" onSubmit="return Verif();" name="Form">
0
DJGuiGui'zz Messages postés 10 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 22 juin 2008
11 mai 2008 à 18:20
Bonjour Torkass,

Merci beaucoup pour ton code JavaScript Torkass, cela faisait plus de 3 jours, que je voulais faire fonctionner cette commande. Grâce à toi mon problème est résolu.
Merci encore

-
guesStyle
0