Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话从数据库获取数据_Php_Mysql_Database_Session - Fatal编程技术网

PHP会话从数据库获取数据

PHP会话从数据库获取数据,php,mysql,database,session,Php,Mysql,Database,Session,我有以下代码: <?php session_start(); ?> <!DOCTYPE html> <html> <body> <form name="form1" method="POST"> <table> <tr> <td>Username</td> <td> <inpu

我有以下代码:

   <?php
    session_start();
    ?>

<!DOCTYPE html>
<html>
<body>
<form name="form1" method="POST">
    <table>
        <tr>
            <td>Username</td>
            <td> <input type="text" name="text1"></td>

        </tr>
        <tr>
            <td>Password</td>
            <td><input type="password" name="pwd"></td>


        </tr>
        <tr>
            <td><input type="submit" name="submit1"></td>           

        </tr>
    </table>
</form>


</body>
</html>



<?php
include 'config.php';
mysql_select_db("sess_db",$con);

?>

<?php
if(isset($_POST['submit1'])) {
      $result=mysql_query("SELECT username,password FROM siteinfo ");
      $result2=mysql_fetch_row($result);
      $count=mysql_num_rows($result);
    $nm = $_POST['text1'];
    $pwd = $_POST['pwd'];
    if ($result == $nm && $result == $pwd) {
        $_SESSION['luser'] = $name;
        $_SESSION['start'] = time();
        //the expire u put it
        $_SESSION['expire'] = $_SESSION['start'] + (30 * 60);
        header('Location: homepage.php');
    }
    else {
        echo "Please Enter a Correct Username & Password ! ";
    }
}
?>

用户名
密码
在登录页面中,我必须输入用户名:joseph和密码:moon

但我想删除这两个变量
$name
&
$password
,并将其链接到包含用户名和密码的数据库,如果我输入其中一个,则将我重定向到

homepage.php


试试这个。但这太简单了

     <?php
            if(isset($_POST['submit1'])) {

                $name = "Joseph";
                $password = "moon";
                $nm = $_POST['text1'];
                $con=myssql_connect('localhost','root','');// mysql_connect('your host name','database username','database password')
                mysql_select_db('your database name',$con) or die("Can't select DB");
                $pwd = $_POST['pwd'];
                $qry="SELECT * FROM login_labe WHERE username='$name' AND 
password='$password'";
                $result=mysql_query($qry);
                $res=mysql_fetch_array($result);
                 $nm=$res['username'];
                 $pwd=$res['password'];
                if ($name == $nm && $password == $pwd) {
                    session_start();  ///////////////You need to add session_start()
                    $_SESSION['luser'] = $res['your name form DB'];
                    $_SESSION['start'] = time();
                    //the expire u put it
                    $_SESSION['expire'] = $_SESSION['start'] + (30 * 60);
                    header('Location: homepage.php');
                }
                else {
                    echo "Please Enter a Correct Username & Password ! ";
                }
            }
            ?>

首先,您应该在
$\u POST['text1']
$\u POST['pwd']
上添加一些过滤器,以避免SQL查询中的注入或意外行为

$name = $_POST['text1'];
$pw = $_POST['pwd'];
然后,只需构建如下查询:

从user_表中选择count(*),其中name=$name和pwd=$pw

如果<代码>计数!=0
则关联名称/密码正确,您可以将用户重定向到主页


这是非常基本的,您可以做得更安全。

首先添加
session_start()
在您的
之后,您的问题表明您不知道如何在PHP中与数据库交互。您应该先阅读一些文档或教程。我添加了@ShankarDamodarani,知道如何连接它,但问题是我不知道在使用outputi之前必须将它放在哪里@tounu。我在页面顶部添加了一个session_start()!我想要的是如何连接我的数据库你是说mysql php连接吗?我只想要形成我的数据库的用户名和密码登录如果不显示我>请输入正确的用户名和密码!如果您在我的代码中看到,我删除了$name=“Joseph”&$密码=“月亮”。。。也许这对你有帮助