Je suis en train de concevoir un formulaire d'inscription en php. Je veux ajouter une validation dans mon formulaire. Les validations sont liées à la nécessité de valider le champ. c'est mon code.Comment ajouter une validation en php au bon endroit?
<?php
include('connect.php');
if(isset($_REQUEST['Register']))
{
$error='';//initialize $error to blank
if(trim($_POST[userid])==''){
$error.="Please enter a username!<br />"; //concatenate the $error Message with a line break
}
if(trim($_POST[password])==''){
$error.="Please Enter password! <br />";//concatenate more to $error
}
if(trim($_POST[email])=='')
{
$error.="Please Enter email address !<br />";
}
else
{
if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $_POST[email])) {
$error="The e-mail you entered was not in the proper format!";
}
}
if(trim($_POST[regAs])=='NULL')
{
$error.="Please select Register As !<br />";
}
if($error!='')
{
echo "<span style=color:red>$error</span>";
//Hmmmm no text is in $error so do something else, the page has verified and the email was valid
// so uncomment the line below to send the user to your own success page or wherever (swap
//yourpage.php with your files location).
//echo "script type=\"text/javascript\">window.location=\yourpage.php\"<script>";
}
else
{
$userid=$_REQUEST['userid'];
$name=$_REQUEST['name'];
$password=$_REQUEST['password'];
$repassword=$_REQUEST['repassword'];
$email=$_REQUEST['email'];
$regAs=$_REQUEST['regAs'];
if($password!=$repassword)
{
echo "<script>alert('both are diferent password')</script>";
}
else
{
mysql_query("insert into login(userid,name,password,email,regAs) values('$userid','$name','$password','$email','$regAs')");
}
}
}
?>
<html>
<head></head>
<body>
<form action="" method="post" name="f">
<table align="center">
<tr>
<td>User ID :</td><td>
<input type="text" name="userid" value=""></td>
</tr>
<tr>
<td>Name :</td><td>
<input type="text" name="name" value=""></td>
</tr>
<tr>
<td>Password : </td>
<td><input type="password" name="password" value=""></td>
</tr>
<tr>
<td>Re-Enter Password : </td>
<td><input type="password" name="repassword" value=""></td>
</tr>
<tr>
<td>Email id :</td><td>
<input type="text" name="email" value=""></td>
</tr>
<tr>
<td>Register As :</td><td>
<select id="regAs" name="regAs">
<option value="NULL">SELECT</option>
<option value="Artist">Artist</option>
<option value="Buyer">Buyer</option>
</select></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="Register" value="Register"</td></tr>
</table>
</form>
</body>
</html>
et ceci est l'écran de sortie pour vérifier la validation. ces messages d'erreur arrivent en première ligne. Mais je veux que cette erreur doit venir en face de chaque ligne. Par exemple, si l'utilisateur n'entre pas de courrier électronique, l'erreur doit apparaître devant la zone de texte de l'e-mail. S'il vous plaît me suggérer que dois-je faire ..?
Vous pouvez créer une variable de message d'erreur pour chaque champ de formulaire et renvoyer la valeur de la variable en regard du champ de saisie. –
Votre code a différents problèmes: Ne pas citer certaines clés de tableau, en utilisant des méthodes obsolètes ('eregi' au lieu de' preg_match'), ** INJECTION SQL ** car vous n'échappez pas aux données SQL passwd aux requêtes. Veuillez activer 'error_reporting (E_ALL);' et lisez quelque chose à propos de la programmation PHP sécurisée! – ThiefMaster