Sorry, I understand now! Thanks for your help and your patience !
It works!
Matt
----- Original Message -----
From: "Tom Rogers" <[EMAIL PROTECTED]>
To: "matthew oatham" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Thursday, March 04, 2004 11:27 AM
Subject: Re[4]: [PHP] setting request variables
> Hi,
>
> Thursday, March 4, 2004, 8:11:16 PM, you wrote:
> mo> Thanks for your reply,
>
> mo> I am still a bit confused though as the var error is never set! i.e.
in your
> mo> code example below $error is never going to be set! Basically I have 2
pages
> mo> as follows:
>
> mo> page1.php - login form page
> mo> page2.php - validation page
>
> mo> page2.php checks the usernae and password against database and if all
is
> mo> well it sends to the members area. If there was an error then it sends
back
> mo> to the login page. When there is an error on page2.php I want to set a
> mo> request variabel called "$someError" with a value representing the
error
> mo> that occured i.e. "Please enter a username" or "Please enter a
password" or
> mo> "Invalid username" or "invalid password" etc.. Then on page1.php just
before
> mo> the login form I would do:
>
> mo> if (!empty($_POST('someError'))) {
> mo> echo $_POST('someError');
> mo> }
> mo> //display login form.
>
> mo> So my question is how do I add the variable $someError to the request
with
> mo> the value "invalid usernam" and disaply this on page1.php
>
> mo> $error = ''; //assume no errors
> mo> if(isset($_PHP['password'] && !empty($_POST['username']){
> mo> $sql = "SELECT id FROM members WHERE
> mo> username = '".$_POST['username']."'
> mo> AND password = '".$_POST['password']."'";
> mo> $result = mysql_query($sql);
> mo> if(!$mysql_num_rows($result) > 0){
> mo> $error = '<font color="red"><b>Error:</b> Invalid
password</font>';
> mo> include('login.php');
> mo> exit;
> mo> }
> mo> //password ok
> mo> echo 'Welcome '.$_POST['username'].'<br>';
> mo> }else{
> mo> //first pass and $error is still empty
> mo> include('login.php');
> mo> }
> mo> ----- Original Message -----
> mo> From: "Tom Rogers" <[EMAIL PROTECTED]>
> mo> To: "matthew oatham" <[EMAIL PROTECTED]>
> mo> Cc: <[EMAIL PROTECTED]>
> mo> Sent: Thursday, March 04, 2004 2:02 AM
> mo> Subject: Re[2]: [PHP] setting request variables
>
> But you are not posting to the login page ...you are including it so
> all the variables are available. $error only gets filled if there is
> an error, thats why in login.php we do a check to see if it is
> !empty() which would indicate something has gone wrong.
>
> Try this simplified code to demonstrate the flow:
> (validate.php)
> <?php
> if(isset($_POST['submit'])){
> $error = '';
> if($_POST['username'] != 'Fred'){
> $error = '<font color="red"><b>Error: </b>You did not
enter Fred</font>';
> include('./login.php');
> exit;
> }else{
> ?>
> <html>
> <head>
> <title>Success</title>
> </head>
> <body>
> <h1> Welcome Fred</h1>
> </body>
> </html>
> <?php
> }
> }else{
> include('./login.php');
> }
> ?>
>
> (login.php)
>
> <html>
> <head>
> <title>Login</title>
> </head>
> <body>
> <form action="validate.php" method="post">
> <table border="1">
> <tr>
> <td>Login</td>
> </tr>
> <?php if(isset($error) && !empty($error)):?>
> <tr>
> <td><?php echo $error?></td>
> </tr>
> <?php endif?>
> <tr>
> <td><input type="text" name="username" value=""></td>
> </tr>
> <tr>
> <td><input type="submit" name="submit"
value="submit"></td>
> </tr>
> </table>
> </form>
> </body>
> </html>
>
> Then go to validate.php or login.php it won't matter :)
>
> --
> regards,
> Tom
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php