2014-02-09 52 views
-1

訪問返回變量,這是一個使用「登錄」功能的腳本,它返回兩個變量,怎麼會在這裏的時候,我試圖把他們從的sanitize函數「登錄」功能,它不「科技工作如何從功能

的index.php

<?php 
if(!empty($_POST['submit'])) 
{ 
include("check.php"); 
$class = new check; 
$user = $_POST['username']; 
$pass = $_POST['password']; 
$results = $class->sanitize($user, $pass); 
$class->login($results[0], $results[1]); 
//$class->login($user, $pass); 
} 
?> 

check.php

function sanitize($string, $string2) 
{ 
    $stringh = htmlentities($string); 
    $string1h = htmlentities($string2); 
    $stringht = trim($stringh); 
    $string1ht = trim($string1h); 
    return $stringht; 
    return $string1ht; 
} 

function login($user, $pass) 
{ 
    $result = $this->link->query("SELECT * FROM `login` WHERE `username` = '".$user."'"); 
    $numbers = mysqli_num_rows($result); 
    if($numbers != 0) 
    { 
     while($row = mysqli_fetch_assoc($result)) 
     { 
      $dbuser = $row['username']; 
      $dbpass = $row['password']; 
     } 

     if($dbuser == $user && $dbpass == $pass) 
     { 
      echo "You have a match."; 
     } 
    } 
} 

回答

6

只能從一個函數返回1個變量。如果你需要兩個,把它們包裝在一個數組中,給你一個返回的對象。

return array($stringht, $string1ht); 

然而,更好的解決辦法可能是讓你的sanitize接受一個輸入和一個有輸出,並調用它兩次,一次爲每個字符串。

+2

或者,接受輸入的陣列和輸出返回一個數組。 –

+0

謝謝。 @collin從來不知道這一點。 – Cesarg219

+0

他們已經在這樣做,lascort。 –