Nodral Posted July 5, 2011 Share Posted July 5, 2011 Hi I have a form that returns 5 variables from user submitted fields when the submit button is pressed. I need my script to react in different ways depending on how many of the fields are completed. The form is made up of 20 rows with each line having a unique id number which prefixes each variable, for example $1forename, $1surname, $1address, $1phone, $1email $2forename, $2surname, $2address, $2phone, $2email . . . . . . . . $20forename, $20surname, $20address, $20phone, $20email The user can complete as many or as few lines as they require If no fields on a line are completed, i need it to ignore the script, if all fields on a line are completed write to a DB, and if the line on the form is partially completed return an error message. I can't use isset, as even if the user just clicks on submit then a null/blank value is returned and the variable is set for every field on every line Anyone any ideas how I can acheive this without using a seperate if(strlen($variable)>0){ declaration for every variable. Hope this makes sense and I look forward to some of you wonderful guys giving me a nice concise solution. Cheers Quote Link to comment https://forums.phpfreaks.com/topic/241134-validating-a-form/ Share on other sites More sharing options...
AbraCadaver Posted July 5, 2011 Share Posted July 5, 2011 You'd be better off using arrays in your form: <input type="text" name="data[1][forename]"> <input type="text" name="data[1][address]"> <input type="text" name="data[1][phone]"> <input type="text" name="data[1][email]"> <input type="text" name="data[2][forename]"> <input type="text" name="data[2][address]"> <input type="text" name="data[2][phone]"> <input type="text" name="data[2][email]"> Then loop through and check: foreach($_POST['data'] as $data) { //check vars $data['forename'], $data['address'] etc... } Quote Link to comment https://forums.phpfreaks.com/topic/241134-validating-a-form/#findComment-1238586 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.