首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDO连接字符串错误

PDO连接字符串错误
EN

Stack Overflow用户
提问于 2013-11-19 15:19:07
回答 2查看 87关注 0票数 0

这是一个登录系统的一个项目,我正在做,所以我知道它是不安全的,并将在稍后的日期添加安全细节。

我想让这个部分首先发挥作用,但我遇到的问题是,当我提交表单时,它总是带我到用户重定向到的页面,如果他们的凭据是错误的。

我已经做了研究,并得出这个结论的代码,我将不会存储密码为纯文本,这个系统只是开始我开始使用PDO。

代码语言:javascript
复制
<?php
    session_start();
    //connection String
    $connection = new PDO("mysql:host=hostname;Database=databasename", "username", "0password"); 
    //Selecting function
    $smt = $connection->prepare("select user_id, email, password from account where email =         :email and password =:password");

    //setting values to textboxes
    $username = $_POST["txt_email"];
    $password = $_POST["txt_password"];

    //binding values
    $smt->bindParam(':email', $email);
    $smt->bindParam(':password', $password);

    //execution
    $smt->execute();

    //fetching data
    $row = $smt->fetch( PDO::FETCH_ASSOC ) ;  
    echo "$row[email]\n\n";
    echo "$row[password]\n\n";
    $_SESSION{"user_id"} = $row["user_id"];

    //If Statement
        if ($smt->rowCount() == 0){
            header( "location: log.html");


        } else{

            header("location: home.html");
        }
?>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-19 15:21:41

代码语言:javascript
复制
$username = $_POST["txt_email"];
$smt->bindParam(':email', $email);

我想第一个语句中的$username应该是$email

票数 2
EN

Stack Overflow用户

发布于 2013-11-19 15:25:19

也许我错了,但"mysql:host=hostname;Database=databasename"不应该是"mysql:host=hostname;dbname=databasename"?所以dbname而不是Database..。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20075320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档