会话用户名仅在使用按钮后有效

时间:2013-10-08 07:10:19

标签: php session

我有一个代码,想要编辑它。现在我尝试改变一些东西,但我不知道为什么它之前有效,现在它不再存在了。首先,我有这个:

    <?php
session_start();
$mysqli = new mysqli("localhost", "root", "usbw", "accounts");
$mysqli2 = new mysqli("localhost", "root", "usbw", "forum");
$alles_goed=false;

if (isset($_POST['title'])) {
    $alles_goed=true;
    $description=$_POST['description'];
    $title=$_POST['title'];
    $username=$_SESSION['username'];
    $usernamecheck = $mysqli->query("SELECT * from account_information where username ='". $username ."'");
//etc

这是我的编辑:

    <?php
session_start();
$mysqli = new mysqli("localhost", "root", "usbw", "accounts");
$mysqli2 = new mysqli("localhost", "root", "usbw", "forum");
$alles_goed=false;
$username=$_SESSION['username'];
$usernamecheck = $mysqli->query("SELECT * from account_information where username ='". $username ."'");


if (isset($_POST['title'])) {
    $alles_goed=true;
    $description=$_POST['description'];
    $title=$_POST['title'];
    //etc

这应该可以正常工作吗?仍然出于某种原因我得到了这个错误:

Undefined index: username

在:

$username=$_SESSION['username'];

我做错了什么,为什么第二个不可能?

修改

当SESSION不存在时,我想不显示我的表单。所以我得到了,但我希望错误消失。

4 个答案:

答案 0 :(得分:1)

使用此

if(isset($_SESSION['username'])){
    $username = $_SESSION['username'];
}

答案 1 :(得分:0)

请您检查价值是否在$ _SESSION ['用户名']中分配?

答案 2 :(得分:0)

原因是你没有为$ _SESSION ['username']分配值,我想你在session_start()之后可以print_r($ _ SESSION);在两个页面上查看SESSION变量。

答案 3 :(得分:0)

好像 当isset($ _ POST ['title'])为false时 isset($ _ SESSION ['username'])也是假的