簡體   English   中英

PHP的新功能…需要幫助…關於嵌套函數

[英]NEW to PHP… Need Help… Regarding nested functions

我在玩耍,試圖將嵌套函數合並到我的登錄腳本中。 功能如下。 另外,在我的功能下面是嘗試將其合並到登錄腳本中的部分。但是,每次我嘗試登錄時,它都顯示無效的用戶名。 但是,如果我在登錄腳本中使用功能a和b而不是功能d,則一切正常。 有人可以告訴我我錯了嗎? 謝謝。

//a -username

function username_check($username){

$usercheck = "SELECT user_id FROM users WHERE username ='$username'";
$userqry = mysql_query($usercheck) or die ("Could not match data because ".mysql_error());
$num_rows = mysql_num_rows($userqry);
return ($num_rows == 1) ? true : false;
}

//b - password

function password_check($password, $username){

$passwordcheck = "SELECT password FROM users WHERE username ='$username'"; 
$passwordqry = mysql_query($passwordcheck) or die ("Could not match data because ".mysql_error());

while($retrievepassword = mysql_fetch_array($passwordqry))  

{

 $password = md5($password);

 return ($password != $retrievepassword['password']) ? true : false;

 }
 }
 //c    -email

 function email_check($email){

 $emailcheck = "SELECT user_id FROM users WHERE email = '$email'"; 
 $emailqry = mysql_query($emailcheck) or die ("Could not match data because ".mysql_error());
 $num_rows = mysql_num_rows($emailqry); 

 return ($num_rows == 1) ? true : false;
 }

 //d -username + password + email check? all in one? DOESNT WORK

 function user_check($username = NULL, $password = NULL, $email = NULL) {

 if(($email !=NULL)) {
 email_check($email);
 }

 elseif(($username !=NULL) && ($password!=NULL)){
 password_check($password,$username);   
 }

 elseif(($username !=NULL) ) {
 username_check($username);
 }

 }


 //LOGIN SCRIPT

 if (user_check($username1) ==false) { 
    $logerrors[] = 'Invalid username';

 }
 elseif (user_check($password1, $username1)) { 
    $logerrors[] = 'Incorrect password';`

很好,函數d不返回任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM