Php 登录脚本不工作
以下是完整的脚本: connection.phpPhp 登录脚本不工作,php,pdo,Php,Pdo,以下是完整的脚本: connection.php class Connection{ public function dbConnect(){ return new PDO("mysql:host=localhost; dbname=test", "root", ""); } } user.php 包括_once('connection.php') index.php include_once('User.php'); if(isset($_PO
class Connection{
public function dbConnect(){
return new PDO("mysql:host=localhost; dbname=test", "root", "");
}
}
user.php
包括_once('connection.php')
index.php
include_once('User.php');
if(isset($_POST['submit'])){
$name = $_POST['user'];
$pass = $_POST['pass'];
$object = new User();
$object->Login($name, $pass);
}
但当我尝试时,会出现以下错误:
致命错误:对C:\wamp\www\testes\User.php第16行的非对象调用成员函数prepare()
第16行:$st=$this->db->prepare(“从name=?和pass=?”的用户中选择*” 你的魔法破灭了
public function\uuuu构造函数(){
应该是
public function\uuuu construct(){
非常感谢!已修复。只有另一个问题:我是如何引入加密密码的?您可以使用哈希函数对密码进行哈希运算,请参阅我使用md5对密码进行加密。由于这是我第一次使用PDO,我想知道md5+PDO是否是避免sql注入的解决方案。PDO+预处理语句应该可以。md5对防止sql注入没有任何作用QL注入,它只确保明文密码不能被盗。然而,MD5不再是非常安全的;已经收集了流行密码的MD5散列。至少使用每个密码的“盐”,并考虑使用“SHA”或更好的BCRIPT/BooFISH()。
include_once('User.php');
if(isset($_POST['submit'])){
$name = $_POST['user'];
$pass = $_POST['pass'];
$object = new User();
$object->Login($name, $pass);
}