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 --------------------------------------…
Name : Contact :
<?php if(isset($_POST["s1"])) { if($_POST["t1"] == "") { $err = "Enter Your name";
echo "" . "alert('Enter your name')" . ""; echo "" . "document.getElementById('t1').focus();" . ""; } else if($_POST["t2"] == "") { $err = "Enter Your Contact Number"; echo "" . "alert('Enter your contact number')" . ""; }
echo " $err"; }
?>
--------------------------------------…
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 .. 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 ..
This is a bit of a mess.
First thing to bear in mind, PHP isn't like JavaScript. You can't 'return false' because you're not calling a function when you submit the form, you're requesting a completely new page -- hence the fact that the form is blank when you submit, because it's reloading the page and redrawing the form. If you want to persist the values that were entered, you'd need to write them back into the form when you render it.
On top of that, the 'else if' means that it only checks for a missing contact number if the name is supplied -- really, you want to check for all errors, so just use 'if' here. Of course, this means that if both the name and the contact number are missing then it'll only tell you about the contact number because you'd overwrite the value of $err. So instead of a single string, you could push the errors into an array and then output whatever values are in the array when displaying the error message(s).