2014-02-09 3 views
-1

Это скрипт, который использует функцию «login», и возвращает две переменные, как это происходит, когда я пытаюсь передать их из функции sanitize в функцию «login», «т работатьКак получить доступ к возвращаемым переменным из функции

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. –

Смежные вопросы