你好,我正在尝试使用PHP创建登录和会话脚本,并将其用于SQL Server,但无论我在登录表单中输入什么,只要它验证通过,它就可以正常工作。然而,我无法找出代码的问题所在。我最近才开始使用PHP和SQL Server,并没有足够的知识来自己解决问题。如果有人能帮忙,那就太好了。同时,如果您知道一些使用SQL Server和PHP的好的教程网站,是否可以分享一下呢?很遗憾,似乎并没有太多好的教程网站。在这个阶段,任何帮助都非常受欢迎。我的主要问题是它没有检查在HTML表单中发布的信息是否存在于数据库中。(我已经删除了JS验证,因为它似乎不是必要的,但它确实有效)。
感谢你们可能提供的任何帮助。
Login.html
<form name="log" action="log_action.php" method="post">
Username: <input class="form" type="text" name="uNm"><br />
Password: <input class="form" type="password" name="uPw"><br />
<input name="submit" type="submit" value="Submit">
</form>
log_action.php
session_start();
$serverName = "(local)";
$connectionInfo = array("Database"=>"mydatabase","UID"=>"myusername", "PWD"=>"mypassword");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn === false){
echo "Error in connection.\n";
die( print_r( sqlsrv_errors(), true));
}
$username = $_REQUEST['uNm'];
$password = $_REQUEST['uPw'];
$tsql = "SELECT * FROM li WHERE uNm='$username' AND uPw='$password'";
$stmt = sqlsrv_query( $conn, $tsql, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ));
if($stmt == true){
$_SESSION['valid_user'] = true;
$_SESSION['uNm'] = $username;
header('Location: index.php');
die();
}else{
header('Location: error.html');
die();
}
index.php
<?php
session_start();
if($_SESSION['valid_user']!=true){
header('Location: error.html');
die();
}
?>
感谢你们可能提供的任何帮助。