Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在登录php中获取用户值?_Php_Validation_Pdo_Login - Fatal编程技术网

如何在登录php中获取用户值?

如何在登录php中获取用户值?,php,validation,pdo,login,Php,Validation,Pdo,Login,我想用php和mysql验证用户名和密码 Im使用rowCount来了解用户是否存在,但如果存在(rowCount>0),我希望从用户处获取值 public static function validateUser($user) { $dto = NULL; $exist = false; $strUsername = $user->getUsername(); $strPassword = $user->getPassword(); tr

我想用php和mysql验证用户名和密码

Im使用rowCount来了解用户是否存在,但如果存在(rowCount>0),我希望从用户处获取值

public static function validateUser($user)
{
    $dto = NULL;
    $exist = false;

    $strUsername = $user->getUsername();
    $strPassword = $user->getPassword();

    try
    {
        $pdo = new PDOClass();
        $stmt = $pdo->prepare("select username, password, name, age, ocupation, id from user where username = ? AND password = ?");
        $stmt->bindParam(1, $strUsername);
        $stmt->bindParam(2, $strPassword);
        $stmt->execute();
        $resultado = $stmt->fetchAll();
       if($stmt->rowCount()>0) {
           exist true;
           //get user values
           $user->setName(??);
           $user->setAge(??);
       }

    } catch (Exception $ex) {
        echo"Error SQL ".$ex->getMessage();
    }

    return $exist;
}
与此相反:

$resultado = $stmt->fetchAll();
if($stmt->rowCount()>0) {
    exist true;
    //get user values
    $user->setName(??);
    $user->setAge(??);
}
你会做:

// Fetch only one row
$resultado = $stmt->fetch(\PDO::FETCH_ASSOC);
if($resultado !== false) {
    // If the user exists you can get its name and age and perform any  
    // kind of validation you want
    $user->setName($resultado['name']);
    $user->setAge($resultado['age']);
}

要从用户处获取值,您必须使用带有文本字段和密码字段的HTML表单。用户按下提交按钮后,使用PHP$\u REQUEST[]或$\u GET[]或$\u POST[]全局变量从这些字段中检索值

 <form method="" action="">
 Username
<input type="text" name="user">
PasSword
<input type="password" name="pass">
<input type="submit">
</form>

什么是
PDOClass
?你正在使用某种类型的框架吗?嗨,这是连接到mysql的类,我没有使用框架。没问题。如果你对此感到满意,请接受答案。
$user=$_REQUEST["user"];
$pass=$_REQUEST["pass"]