PDA

View Full Version : PHP form validation problem?


hanliangchung420857
01-10-2011, 12:22 AM
I'm making one form using php, so validation is using PHP too,
I m posting the value in the same form and then trying to insert into mysql..look below.. I encountered the problem
--------------------------------------…
<form method="post" enctype="multipart/form-data" name="form1" id="form1">

Name : <input type="text" name="t1" id="t1" />
Contact : <input type="text" name="t2" id="t2" />

<span class="err" ></span>

<input type="submit" name="s1" id="s1" />
</form>

<?php
if(isset($_POST["s1"]))
{
if($_POST["t1"] == "")
{
$err = "Enter Your name";

echo "<script language=javascript>" . "alert('Enter your name')" . "</script>";
echo "<script language=javascript>" . "document.getElementById('t1').focus();" . "</script>";
}
else if($_POST["t2"] == "")
{
$err = "Enter Your Contact Number";
echo "<script language=javascript>" . "alert('Enter your contact number')" . "</script>";
}

echo "<span style=color:red> $err</span>";
}

?>

--------------------------------------…

now what problem m facing here when i click on the "Submit" button i m getting the Error messages but the page is redirecting the i have to write all values all over again ..

suppose i have already wrriten a "NAME(t1)" but didnt write a CONTACT NUMBER(t2) then after m clicking on the SUBMIT button when i do this my page redirecting, m getting the second error "write your contact number" but i have to write all the values like NAME etc all over again ..

so my page is returning to true PHP Validation (http://www.phpkode.com/scripts/category/php-validation/) .. not false .

do you know how to set "return false" through php just like we do using javascript .. i cant use javascript for this .. have to use php in this .. plz help me ..

thank you ..

Jason Byrnes
01-11-2011, 07:08 AM
it's not so much that the form is redirecting, you are just setting these events to happen on the form post.

unlike javascript, PHP validation must happen on the server, so the form must completely post before it can occur. The return false in javascript is used to prevent the form from posting entirely, this cannot be emulated in php since the form must be posted for the php processor to be able to inspect the form data.


you would need to set the initial value of the form elements to use the posted data:

For example:
Name : <input type="text" name="t1" id="t1" value="<?php echo(isset($_POST["t1"])?$_POST["t1"]:""); ?>" />