登录表单
<!DOCTYPE HTML>
<html>
<body>
<title>Track安全社区</title>
<form action='a.php'methon='GET'><br>
用户名:<input type='text' name='username'><br>
密码:<input type='text' name='password'><br>
<input type='submit' value='登录'>
</form>
</body>
</html>
登录验证
<!DOCTYPE html>
<html>
<body>
<?php
// 创建连接
header('content-text:text/html;charset=utf-8');
$conn = mysqli_connect("localhost","root","root","mysql");
// 检查链接
if (!$conn) {
die("连接失败: " . mysql_error);
}
$username=$_GET['username'];//获取用户名和密码
$password=$_GET['password'];
$newpers=mysqli_real_escape_string($conn,$username);
$sql = "select username,password from admin where username='$username'and password='$password'";
$result = mysqli_query($conn,$sql);
if(mysqli_num_rows($result) > 0) {
echo "登录成功";
} else {
echo "查询失败";
}
mysqli_close($conn);
?>
</body>
</html>
sql防注入,百度了好久,什么
htmlentities()都没用,过滤不了'
pdo函数又看不懂
还有,课程让下的jspstudy2016全量包,我用了根本连接不了数据库,所以一直检查不了错误,现在换了phpstudy2018使用正常,希望可以指点一下PDO扩展的 prepare 方法,最好带完整代码,谢谢
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
Track-方丈
发表于 2018-7-10
某些内容不能依赖程序本身,得靠自己写代码,要不然就不会有这么多问题了。
PDO使用方式如下:
$dsn"mysql:host=localhost;dbname=dnbname;charset=utf8";
//连接数据库
//array(PDO::ATTR_PERSISTENT => true)表示使用持久化连接。
$pdo = new PDO($dsn, dbusername, rdpassword, array(PDO::ATTR_PERSISTENT => true));
//SQL预处理,查询的变量使用?占位。
$sql = 'SELECT * FROM user WHERE username=? and password=?';
$st = $conn->prepare($sql);
//传入变量,执行SQL。
$data = array("username","password");
$st->execute($data);
//获取查询结果行数。
$rowCount = $st->rowCount();
//获取查询结果数组。
$rows = $st->fetchAll();
评论列表
加载数据中...