0

因此,如果我在函数本身中编写回显命令,则无法将变量从函数传递到调用该函数的页面,该变量会很好地回显,但是当我从调用该函数的文件中回显时它根本不会显示任何东西。这是我的代码示例:

//CHECK LOGIN CREDINTIALS
function checkLogin($conn,$myusername, $mypassword, $count) {

       $stmt = $conn->prepare('SELECT COUNT(*) FROM `CLL_users` WHERE `user_name`= :userName AND `password`= :userPass');
       $stmt->bindValue(':userName', $myusername);
       $stmt->bindValue(':userPass', $mypassword);
       $stmt->execute();
       $count = $stmt->fetchColumn();
       echo "$count<br>";
}

这是我试图将变量从函数传递到的文件

<?php
session_start();
$_SESSION['myusername'] = $myusername;
session_is_registered("myusername");
session_is_registered("mypassword");

require 'functions.php';
require 'DB.php';
ob_start();
// Define $myusername and $mypassword 
$myusername =$_POST['myusername']; 
$mypassword =md5($_POST['mypassword']);

checkLogin($conn, $myusername, $mypassword, $count);

echo $count;
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

// Register $myusername, $mypassword and redirect to file "login_success.php"

    $myusername1 = $_SESSION['myusername'];
    //UPDATE LAST LOGIN IN DATABASE
    date_default_timezone_set('America/Chicago');
    $last_login = date('m/d/Y h:i:s a', time());
    lastLogin($conn,$myusername1,$last_login);
    header("location:form.php");


}
else {
echo $count;
echo "$mypassword<br>";
echo "$myusername<br>";
echo "Wrong Username or Password";

}
ob_end_flush();
?>
4

1 回答 1

1

这样做

function checkLogin($conn,$myusername, $mypassword) {

       $stmt = $conn->prepare('SELECT COUNT(*) FROM `CLL_users` WHERE `user_name`= :userName AND `password`= :userPass');
       $stmt->bindValue(':userName', $myusername);
       $stmt->bindValue(':userPass', $mypassword);
       $stmt->execute();
       $count = $stmt->fetchColumn();
       return $count;
}

在你的代码中

$myusername =$_POST['myusername']; 
$mypassword =md5($_POST['mypassword']);
$count=checkLogin($conn,$myusername, $mypassword);
if($count==1){
  //your code
}
于 2012-11-04T06:42:34.453 回答