I am designing a registration form in php. i want to add some validation in my form. validations are related to require field validation. this is my code.
<?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>
and this is the out put screen to check validation. these error messages are coming at first line. But i want that error must come infrontof each line. for example if user does not enter email then error must show in front of email text box. please suggest me what should i do..?
Well if you want the errors to be in front of the correct form field, you will somehow have to get the errors at the right place in your HTML. The simplest solution would be to create a variable or an array node for each possible form field and insert an error message into it if necessary. I’ll give a short example:
and then in your HTML:
Furthermore don’t user eregi, it is deprecatad. Use preg_match instead.