[PHP-DB] Redirect upon successful form submission
Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay.
Re: [PHP-DB] Redirect upon successful form submission
On Tue, Dec 15, 2009 at 12:48 PM, Vinay Kannan viny...@gmail.com wrote: Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay. What about holding the form in the buffer, and then dealing with the buffer before sending the form? -- Bastien Cat, the other other white meat -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Redirect upon successful form submission
Thanks Bastien, To be honest I have no clue as to how to hold the form in the buffer. I've copied the code below, that might help I guess. ?php include(header.php); include(lib/funcs.php); $url=$_SERVER['REQUEST_URI']; $member_no=$_POST['member_no']; $member_no=trim(htmlspecialchars($member_no)); $not_member=1; if(isset($_POST['submit']) $_POST['trigger']==6) { // echo $member_no; $conn=mysql_connect($host,$user,$pass) or die(Could not open the connection); $dbselect=mysql_select_db($dbname,$conn) or die(could not connect to the DB); $id_query=SELECT * FROM members WHERE member_id='$member_no'; $result = mysql_query($id_query) or trigger_error(SQL, E_USER_ERROR); $num_rows=mysql_num_rows($result); //echo $num_rows; if($num_rows0) { echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; } else { $not_member=0; } } ? td width=420 class=whitebg BR / h3 align=leftREFERENCE FOR MEMBERSHIP TO INFINITY LEARNERS CLUB/h3 p In order to be able to refer members to Infinity LMRC, you need to be a registered member with us, Please enter your membership number below and start referring./p table width=410 form action=?php echo $url ; ? method=post name=refer table tr tdlabel for=membernoMembership Number/label/td tdinput type=text name=member_no class=myinput //td/tr trtdnbsp;/td/tr trtdinput type=submit name=submit value= OK ! //td tdinput type=reset name=cancel value= Cancel //td/tr trtdinput type=hidden name=trigger value=6 //td/tr /table /form ?php if($not_member==0) { echo 'Our records indicate that you are not a member yet, a href=member.php Click here/a to become a member now'; }? /td ?php include(footer.php);? /body /html On Tue, Dec 15, 2009 at 10:09 AM, Bastien Koert phps...@gmail.com wrote: On Tue, Dec 15, 2009 at 12:48 PM, Vinay Kannan viny...@gmail.com wrote: Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay. What about holding the form in the buffer, and then dealing with the buffer before sending the form? -- Bastien Cat, the other other white meat
Re: [PHP-DB] Redirect upon successful form submission
you could also validate the form in a seperate php file with no output and then redirect to the error and the another page ? Bastien Koert schrieb: On Tue, Dec 15, 2009 at 12:48 PM, Vinay Kannan viny...@gmail.com wrote: Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay. What about holding the form in the buffer, and then dealing with the buffer before sending the form? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Redirect upon successful form submission
Yep, that would work, but then if the user is not a member, then the link to the membership should be printed on the form that has the validation and not the one that has the form? On Tue, Dec 15, 2009 at 10:21 AM, Christoph Rosse c...@okto.tv wrote: you could also validate the form in a seperate php file with no output and then redirect to the error and the another page ? Bastien Koert schrieb: On Tue, Dec 15, 2009 at 12:48 PM, Vinay Kannan viny...@gmail.com wrote: Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay. What about holding the form in the buffer, and then dealing with the buffer before sending the form? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] Redirect upon successful form submission
On Tue, Dec 15, 2009 at 1:25 PM, Vinay Kannan viny...@gmail.com wrote: Yep, that would work, but then if the user is not a member, then the link to the membership should be printed on the form that has the validation and not the one that has the form? On Tue, Dec 15, 2009 at 10:21 AM, Christoph Rosse c...@okto.tv wrote: you could also validate the form in a seperate php file with no output and then redirect to the error and the another page ? Bastien Koert schrieb: On Tue, Dec 15, 2009 at 12:48 PM, Vinay Kannan viny...@gmail.com wrote: Hi, I have 2 pages on php, the first page has a small form to accept a membership number from the user, which checks for membership number in the DB, if the membership no does not exist, gives an error saying 'you are not a member click here to become a member now', this bit works fine. The problem is the following bit 'if the user is a member, i want the user to be directed to another page. this is what i did to get the result since header(Location:) wont work, as already the form has been printed on the page. echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; but the problem is that this takes couple of seconds, till then the page is very much visible which doesnt look good. Any help on this is much appreciated. Thanks, Vinay. What about holding the form in the buffer, and then dealing with the buffer before sending the form? -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php When you look at it like that all together, I find its easier to functionalize the whole process ?php include(header.php); include(lib/funcs.php); if(isset($_POST['submit'])){ processForm(); }else{ showForm(); } function processForm(){ $url=$_SERVER['REQUEST_URI']; $member_no=$_POST['member_no']; $member_no=trim(htmlspecialchars($member_no)); $not_member=1; if(isset($_POST['submit']) $_POST['trigger']==6) { // echo $member_no; $conn = mysql_connect($host,$user,$pass) or die(Could not open the connection); $dbselect = mysql_select_db($dbname,$conn) or die(could not connect to the DB); $id_query = SELECT * FROM members WHERE member_id='$member_no'; $result = mysql_query($id_query) or trigger_error(SQL, E_USER_ERROR); $num_rows = mysql_num_rows($result); //echo $num_rows; if($num_rows0) { echo'META HTTP-EQUIV=refresh content=0;URL=member.php'; } else { if($not_member==0) { echo 'Our records indicate that you are not a member yet, a href=member.php Click here/a to become a member now'; } } }//end function processForm function showForm(){ ? td width=420 class=whitebg BR / h3 align=leftREFERENCE FOR MEMBERSHIP TO INFINITY LEARNERS CLUB/h3 p In order to be able to refer members to Infinity LMRC, you need to be a registered member with us, Please enter your membership number below and start referring./p table width=410 form action=?php echo $url ; ? method=post name=refer table tr tdlabel for=membernoMembership Number/label/td tdinput type=text name=member_no class=myinput //td/tr trtdnbsp;/td/tr trtdinput type=submit name=submit value= OK ! //td tdinput type=reset name=cancel value= Cancel //td/tr trtdinput type=hidden name=trigger value=6 //td/tr /td ?php include(footer.php);? /table /form /body /html ?php }//end showForm function ? This gives way more control over the whole flow -- Bastien Cat, the other other white meat -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php