Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.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
为pdo php创建会话_Php_Mysql_Session_Pdo - Fatal编程技术网

为pdo php创建会话

为pdo php创建会话,php,mysql,session,pdo,Php,Mysql,Session,Pdo,根据我的问题,我可以做一个会议,但我没有得到的是,我不直接到欢迎页面,无论我做什么这里是代码 lock.php <?php include('config.php'); session_start(); $user_check=$_SESSION['login_user']; $stmt = $dbh->prepare("SELECT * FROM member WHERE username = ? ") ; $stmt->bindValue(1

根据我的问题,我可以做一个会议,但我没有得到的是,我不直接到欢迎页面,无论我做什么这里是代码

lock.php

<?php
include('config.php');
session_start();
$user_check=$_SESSION['login_user'];
        $stmt = $dbh->prepare("SELECT * FROM member WHERE username = ? ") ;
        $stmt->bindValue(1,$user_check);
        $stmt->execute();
        $selected_row = $stmt->fetch(PDO::FETCH_ASSOC);

$login_session=$selected_row['username'];

if(!isset($login_session))
{
header("Location: login.php");
}
?>

crud.php

<?php 
include_once('config.php');

$error="";

function LoginUser() {
    echo "login";
    global $dbh;
if(!empty($_POST['un'])){
        $username = trim($_POST['un']);
        $password = trim($_POST['pw']);
        $stmt = $dbh->prepare("SELECT * FROM member WHERE username = ? ") ;
        $stmt->bindValue(1,$_POST['un']);
        $stmt->execute();
        $selected_row = $stmt->fetch(PDO::FETCH_ASSOC);
        if($selected_row['username']===$_POST['un']){
            if($selected_row['password']===$_POST['pw']){
                $_SESSION['username'] = $_POST['un'];
                echo $_SESSION['username'];
                header("location: welcome.php");
                die();
            }else{
                echo "incorrect password";
                header("location: login.php");
                die();
            }

        }else{
            echo "user does not exist";
            header("location: login.php");
            die();
        }
}else{
     echo "empty";
     header("location: login.php");
     die();
}
}
function SignUp(){
global $dbh;

if(!empty($_POST['un'])){
        $username = trim($_POST['un']);
        $password = trim($_POST['pw']);
        $stmt = $dbh->prepare("SELECT * FROM member WHERE username = ?") ;
         $stmt->bindValue(1,$_POST['un']);
        $stmt->execute();
        $selected_row = $stmt->fetch(PDO::FETCH_ASSOC);
        //if(!empty($stmt->rowCount())){
        if($selected_row['username']===$_POST['un']){
            //echo "SORRY...YOU ARE ALREADY REGISTERED USER...";
            trigger_error("SORRY...YOU ARE ALREADY REGISTERED USER...");
        }else{
            NewUser();
        }
}else{
    header("location: signup.php");
    die();
}
}

function NewUser(){
    global $dbh;
        $firstname = trim($_POST['fn']); //at a minimus clear whitespace.
        $lastname = trim($_POST['ln']);
        $username = trim($_POST['un']);
        $password =  trim($_POST['pw']);
        $address =  trim($_POST['cp']);
        $stmt = $dbh->prepare("INSERT INTO member (fname,lname,username,password) VALUES (?,?,?,?)");

        $stmt->bindValue(1,$firstname,PDO::PARAM_STR);
        $stmt->bindValue(2,$lastname,PDO::PARAM_STR);
        $stmt->bindValue(3,$username,PDO::PARAM_STR);
        $stmt->bindValue(4,$password,PDO::PARAM_STR);
        if($stmt->execute()){
        echo "YOUR REGISTRATION IS COMPLETED...";
        }
}

if (isset($_POST['signup'])) {
    //action for update here
    SignUp();
}  
if (isset($_POST['login'])) {
    //action for delete
    LoginUser();
} 
if (isset($_POST['register'])) {
    //action for delete
    header("Location: signup.php");
} 
if (isset($_POST['back'])) {
    //action for delete
    header("Location: login.php");
}
?>

login.php

<?php
include_once('crud.php');
include("config.php");
// Inialize session
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login Page</title>

<style type="text/css">
body
{
font-family:Arial, Helvetica, sans-serif;
font-size:14px;

}
label
{
font-weight:bold;

width:100px;
font-size:14px;

}
.box
{
border:#666666 solid 1px;

}
</style>
</head>
<body bgcolor="#FFFFFF">

<div align="center">
<div style="width:300px; border: solid 1px #333333; " align="left">
<div style="background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>


<div style="margin:30px">

<form action="crud.php" method="post">
<form method="POST" action="crud.php">
    <table border="0">
        <form method="POST" action="crud.php">  
            <tr>
                <td>UserName  :</td>
                <td>
                    <input type="text" name="un" class="box"/>
                </td>
            </tr>
            <tr>
                <td>Password  :</td>
                <td>
                    <input type="password" name="pw" class="box" />
                </td>
            </tr>
            <tr>
                <td>
                    <input type="submit" value="Login " name="login"/><br />
                </td>
                <td>
                    <input type="submit" value="Register " name="register"/><br />
                </td>
            </tr>
            <tr><td><div style="font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div></td></tr>
        </form>
    </table>
</div>
</div>
</div>

</body>
</html>

登录页面
身体
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:14px;
}
标签
{
字体大小:粗体;
宽度:100px;
字体大小:14px;
}
盒
{
边框:#666666实心1px;
}
登录
用户名:
密码:


welcome.php

<?php include("config.php");?>
<?php include("lock.php");?>
<?php include_once('crud.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Welcome </title>
</head>

<body>
<h1>Welcome <?php echo $login_session; ?></h1> 

<h2><a href="logout.php">Sign Out</a></h2>
</body>
</html>

欢迎
欢迎
从上面的代码中,我想到了几个问题

  • 事实上,当我正确登录时,为什么我不直接表示欢迎
  • 有没有可能lock.php什么都没有得到?我的意思是用户名没有值
  • 我在本地使用这个,我无法访问chrome中的调试,所以我不知道哪里会出错
  • 仅供参考,这是一个教程
  • 简单回答:

    include_once('crud.php');
    

    lock.php
    中,因为它是数据的来源。

    Mate,您在设置标题之前进行了回音。即使向输出发送了一个字符,也不能更改标题。这就是为什么你的welcome.php不起作用的原因。mate请在代码中指出我犯了错误的确切位置,以便我可以修改它。我应该放在哪里,在
    标题(“location:welcome.php”)之前放置回显@TiborB。我真的不明白我应该怎么做,我的错误是…欢迎中的echo是用户的名字假设我得到了一个正确的登录…我确实得到了一个正确的登录,但我不去欢迎页面不echo在这行前面mate:
    标题(“location:welcome.php”)