Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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/68.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会话的表单(我想从表单中获取用户名并传递给$\u session[user]_Php_Mysql_Session - Fatal编程技术网

使用带有php会话的表单(我想从表单中获取用户名并传递给$\u session[user]

使用带有php会话的表单(我想从表单中获取用户名并传递给$\u session[user],php,mysql,session,Php,Mysql,Session,我想知道如何从表单中获取信息并将其输入会话。我可以检查会话,关闭会话,但看不到如何从表单中获取信息(他们每个人都使用$username变量,这不是我想要的,我希望有$_session[user]=username(来自表单).很抱歉问,我花了很长时间试图找到一个例子 HTML表单很简单: <?php session_start(); ?> <form method="POST" action="authorise.php"> Username: <input typ

我想知道如何从表单中获取信息并将其输入会话。我可以检查会话,关闭会话,但看不到如何从表单中获取信息(他们每个人都使用$username变量,这不是我想要的,我希望有$_session[user]=username(来自表单).很抱歉问,我花了很长时间试图找到一个例子

HTML表单很简单:

<?php
session_start();
?>
<form method="POST" action="authorise.php">
Username: <input type ="text" name="username"/><br/>
Password: <input type ="password" name="password"/><br/>
<input type="submit"/>
</form>


如果您想使用表单中的所有信息……但我不建议这样做。

关键是将表单中的
元素的
name=
属性与
$\u POST['varname']匹配
接收PHP文件中的值。
name
属性在发布到PHP端后成为变量的名称。字段的内容是变量的值

然后,根据发布的值创建会话变量

例如:

HTML:


用户名:
密码:
PHP:


为什么要在会话中使用它?表单是一个帖子,因此您必须取出发送的$\u帖子?您是否试图将帖子放入会话中?我很困惑。
$\u会话['user']=$\u帖子['user']
?我正在尝试从表单中获取用户名并将其放入会话中。我只想使用它,这样我就可以阻止没有登录名的用户访问任何网页。使用$\u会话['user']=$\u POST['username']时,我遇到以下错误;注意:未定义的索引:username.你的会话在哪里?你把那一行放在哪里?注意:未定义的索引:username
session_start();
try
{
    $dbh = new PDO("mysql:host=localhost;dbname=login_site","root","black$23");
}
catch (PDOException $e){
    echo $e->getMessage();
}

$query = "SELECT  * FROM users WHERE LOWER(username)=:username";
$stmt=$dbh->prepare($query);
$stmt->bindValue(':username',strtolower ($_POST['username']));
$stmt->execute();

if ($stmt->rowCount() == 1)
{

    $row=$stmt->fetch(PDO::FETCH_ASSOC);
    require('blowfish.php');
    require('bcrypt.class.php');
    //require('bcrypt.class2.php');
    $bcrypt = new Bcrypt(4);
    if($bcrypt->verify($_POST['password'],$row['password']))
    {

        echo"logged in!!";
        header("Location: .");
    }
}
?>
$_SESSION['username'] = $_POST['username'];
$_SESSION = $_POST;
<form method="POST" action="authorise.php">
    Username: <input type ="text" name="username"/><br/>
    Password: <input type ="password" name="password"/><br/>
    <input type="submit" value="Submit" />
</form>
<?php

    $un = $_POST['username'];
    $pw = $_POST['password'];

    if ($pw == 'admin'){
        $_SESSION['user'] = $un;
    }