使用PHP和SQLite创建简单的登录功能

时间:2014-04-11 11:52:57

标签: php login sqlite cmd

我正在尝试创建简单的登录功能,我使用PHP和SQLite使其工作,但每次我点击登录时,我得到"致命错误:未捕获的异常' PDOException'有消息'无法找到驱动程序'在G:\ wwwroot \ login.php:3堆栈跟踪:#0 G:\ wwwroot \ login.php(3):PDO-> __ construct(' sqlite:G:/ wwwro ...&#39 ;)#3 {main}在第3行和第34行的G:\ wwwroot \ login.php中抛出; 我做错了什么建议会很棒:)。

我有登录代码并将其保存为index.php

<html>
    <body>
        <form action="login.php" method="POST">
        <p>Username</p><input type ="text" name="user"/>
        <p>password</p><input type="password" name="pass"/>
        <br />
        <input type="submit" value="login"/>
        </form>
    </body>
</html>

我有另一个叫做login.php的php,当用户点击登录按钮

时会激活它
<?php
    $dir = 'sqlite:G:/wwwroot/SQLite/user_information.db';
    $dbh = new PDO($dir) or die ("cannot open");

    $myusername = $_POST['user'];
    $mypassword = $_POST['pass'];

    $myusername = stripslashes($myusername);
    $mypassword = stripslashes ($mypassword);

    $query = "SELECT * FROM user_information WHERE username='$myusername' AND password='$mypassword'";
    $result = mysql_query($query);
    $count = mysql_num_rows($result);

    if($count==1){
    echo'worked';
    }

?>

最后我有user_information.db,在那里我下载了sqlite3并使用cmd程序创建数据库。

G:\wwwroot\SQLite>sqlite3 user_information.db
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
sqlite> create table user_info(username varchar(20), password varchar(20));
sqlite> insert into user_info values('WESTKINz','password');
sqlite> insert into user_info values('LAME','123456');

1 个答案:

答案 0 :(得分:0)

如错误所示,您的服务器似乎没有安装/加载驱动程序。

检查您的phpinfo,看看您是否已注册该驱动程序。确保在php.ini中取消注释sqlite扩展。在Windows上,php.ini文件可能位于C:\Windows\System32\PHP\php.ini。 Phpinfo()应该告诉你配置的位置。请参阅this帖子。

此外,还有MySQL

的类似帖子