【发布时间】:2013-05-25 23:12:20
【问题描述】:
你好,我对 pdo(php) 比较陌生,我创建了一个基本的登录系统,我知道它还不安全,但我只是在试验,我知道在旧 php 中你可以在 if 语句中回显和错误消息但它似乎不再起作用了,这是我的脚本是我做错了什么还是你不能再在 pdo 中这样做了。
if ($row == null){
header( "location: login.html");
echo "login failed";
} else{
header("location: homepage.php");
}
我意识到这可能没有足够的代码可用,所以这是脚本的其余部分
session_start();
//connection String
$connection = new PDO("sqlsrv:server=server;Database=database", "username", "password");
//Seelcting function
$smt = $connection->prepare("select user_id, username from account where username = :username and password =:password");
//setting values to textboxes
$username = $_POST["txt_username"];
$password = $_POST["txt_password"];
//binding values
$smt->bindValue(':username', $username);
$smt->bindValue(':password', $password);
//execution
$smt->execute();
//fetching data
$row = $smt->fetch( PDO::FETCH_ASSOC ) ;
echo "$row[user_id]\n\n";
echo "$row[username]\n\n";
$_SESSION{"user_id"} = $row["user_id"];
【问题讨论】:
-
我的猜测是 $row 不为空。
-
您需要发布更多代码
-
在
header之后删除echo并放入exit()。