Re: Sometimes I wonder why I even started programming...

From: Date: Wed, 27 Feb 2008 22:33:10 +0000
Subject: Re: Sometimes I wonder why I even started programming...
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-270467@lists.php.net to get a copy of this message
On 27 Feb 2008, at 22:16, Jason Pruim wrote:
On Feb 27, 2008, at 5:12 PM, Daniel Brown wrote:
On Wed, Feb 27, 2008 at 4:55 PM, Jason Pruim <japruim@raoset.com> wrote:
      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;
      }       \
As soon as a function reaches a return statement, it returns that data and exits, so the second return is never processed.
so the "return $table;" line doesn't ever get processed?
Nope, only return $table will get processed since that ends execution of the function.
Is there anyway to make it get processed? :) I'm attempting to rewrite code so I don't HAVE to use session variables... Hoping I can make it work :)
To return multiple values from a function it's usually best to return an array. There are other ways to do it such as out parameters but returning an array should be sufficient in this case. Replace your two return statements with the following... return array($table, $authenticated); Then call the function like this... list($table, $authenticated) = authentication(blah, blah, blah); -Stut -- http://stut.net/

« previous php.general (#270467) next »