On Wed, Feb 27, 2008 at 4:55 PM, Jason Pruim <[EMAIL PROTECTED]> wrote:
> So I was supposed to go home a half hour ago but that didn't happen...
>  I hate deadlines! :P
>
>  Can someone tell me why this code works for setting the table name:
>
>  function authentication($user, $pass, $authenticated, $table){
>
>                         // Keep in mind, PASSWORD has meaning in MySQL
>                         // Do your string sanitizing here
>                         // (e.g. - $user = 
> mysql_real_escape_string($_POST['user']);)
>                         $salt = "salt";
>                         $salt1 = $salt;
>                         $salt1 .= $pass;
>
>                         $password = md5("$salt1");
>                         $loginQuery = "SELECT * FROM current WHERE 
> loginName='".$user."'
>  AND loginPassword='".$password."' LIMIT 0,1;";
>                         $loginResult = mysql_query($loginQuery) or die("Wrong 
> data supplied
>  or database error"  .mysql_error());
>                         while($row1 = mysql_fetch_array($loginResult)) {
>                                 $_SESSION['user'] = $row1['loginName'];
>                                 $_SESSION['loggedin'] = "YES";
>                                 $authenticated = "true";
>                                 $_SESSION['table'] = $row1['tableName'];
>
>                         }
>                 return $table;
>                 return $authenticated;
>         }
>
>  But this code doesn't:
>
>         function authentication($user, $pass, $authenticated, $table){
>
>                         // Keep in mind, PASSWORD has meaning in MySQL
>                         // Do your string sanitizing here
>                         // (e.g. - $user = 
> mysql_real_escape_string($_POST['user']);)
>                         $salt = "salt";
>                         $salt1 = $salt;
>                         $salt1 .= $pass;
>
>                         $password = md5("$salt1");
>                         $loginQuery = "SELECT * FROM current WHERE 
> loginName='".$user."'
>  AND loginPassword='".$password."' LIMIT 0,1;";
>                         $loginResult = mysql_query($loginQuery) or die("Wrong 
> data supplied
>  or database error"  .mysql_error());
>                         while($row1 = mysql_fetch_array($loginResult)) {
>                                 $_SESSION['user'] = $row1['loginName'];
>                                 $_SESSION['loggedin'] = "YES";
>                                 $authenticated = "true";
>                                 $table = $row1['tableName'];
>
>                         }
>                 return $table;
>                 return $authenticated;
>         }       \
>
>
>  the query that I'm using is simply this: $query = "SELECT * FROM ".
>  $_SESSION['table']." order by ".$sortOrder."";
>
>  Or this: $query = "SELECT * FROM ".$table." order by ".$sortOrder."";
>
>  Depending on if you use the working or the non-working code :)
>
>  Any ideas?
>
>  --
>
>  Jason Pruim
>  Raoset Inc.
>  Technology Manager
>  MQC Specialist
>  3251 132nd ave
>  Holland, MI, 49424-9337
>  www.raoset.com
>  [EMAIL PROTECTED]
>
>

Why do your functions have two returns? Only the first one will be
executed. In your first function, $table is unaltered and returned as
the result of the function, while $_SESSION['table'] gets the value of
$row1['tableName']. In the second one, $table gets the value of
$row1['tableName'] and then gets returned.

In both, you are setting $authenticated to a string "true" when you
should probably use a boolean TRUE; however, neither function actually
returns the value since both functions exit on the previous return
statement.

Andrew

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to