On Tue, Dec 15, 2009 at 1:25 PM, Vinay Kannan <[email protected]> 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 <[email protected]> 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 <[email protected]> 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_rows>0)
{
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="left">REFERENCE 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>
<td><label for="memberno">Membership Number</label></td>
<td><input type="text" name="member_no" class="myinput"
/></td></tr>
<tr><td> </td></tr>
<tr><td><input type="submit" name="submit" value=" OK !" /></td>
<td><input type="reset" name="cancel" value=" Cancel "
/></td></tr>
<tr><td><input 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