jimfog Posted March 5, 2013 Share Posted March 5, 2013 I have made a function which loops through a form and if these are left empty then return false.Here is the function: function filled_out_biz_user($post){ global $services,$pricelist,$wwwaddress; $services=array(); $pricelist=array(); $required=array(); $required['name']=$_POST['name']; $required['lastname']=$_POST['lastname']; $required['password']=$_POST['password']; $required['phone']=$_POST['phone']; $required['e-mail']=$_POST['e-mail']; $required['address']=$_POST['address']; $required['city']=$_POST['city']; $required['municipality']=$_POST['municipality']; $services['service1']=$_POST['service1']; $pricelist['price1']=$_POST['price1']; $wwwaddress==$_POST['wwwaddress']; $wasFilledOutCompletely = true; foreach ($required as $value) { if ($value == '') { $wasFilledOutCompletely = false; } } return $wasFilledOutCompletely;} Just concentrate on the required fields(for now) The problem with the above logic though is that it does not return false if empty for each individually-which is my goal in this case.I mean if half the fields are non-empty it will say "You have not entered all the fields". What I want to achieve is...:"You have not entered the following fields"...I mean being more specific about it.I do not know if this can be done by modifying more or less the above function or change drastically. Link to comment Share on other sites More sharing options...
dsonesuk Posted March 5, 2013 Share Posted March 5, 2013 Have an array of messages related to each field input, if not filled, take the related message from message array, and do what you want with it. Link to comment Share on other sites More sharing options...
birbal Posted March 5, 2013 Share Posted March 5, 2013 foreach will traverse the index which is already exists. So it will never return false. You can though maintain an list of array of fields which are required and check against the $_POST or $_GET if it has been set or not. there is also option for required flag in filter_var() http://php.net/filter_var Link to comment Share on other sites More sharing options...
jimfog Posted March 5, 2013 Author Share Posted March 5, 2013 Have an array of messages related to each field input, if not filled, take the related message from message array, and do what you want with it.probably this is the way to go, which means also that I have to throw away filled_out(). Here is an example where first is checked if a form field is empty and if not proceed with filtering operations-more or less, I think this is what you are suggesting: if(trim($_POST['name'])=='') {$empty.= 'you have to enter a name'; $emptyclass['name']=true; } elseif (checkname($_POST['name']) == false) { $errors.= 'You have to enter a name'; $errorclass['name'] = true; } if($empty || $errors){echo .....} checkname() is just a filtering function where sanitization and validation takes place. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now