2013-10-08 35 views
0

我有一段代码并想对其进行编辑。现在我试着改变一些东西,但是我没有明白它为什么会起作用,现在它已经不复存在了。首先,我有这样的:会话用户名仅在使用按钮后才起作用

<?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']; 

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

编辑:

我想不显示我的表格时,会话不存在。所以我明白了,但我想让错误消失。

+1

你在哪里将值赋给$ _SESSION ['username'] ...? –

+0

@Sudhir在不同的PHP页面。 $ _SESSION ['用户名']确实存在,相信我。它在其他页面上正常工作。 – Loko

回答

1

使用此

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

这就是它!谢谢!有效。 – Loko

0

可以请您检查值是否在$ _SESSION ['username']中分配?

+0

好吧没有任何价值,因为我想在会话为空时不能显示页面 – Loko

0

原因是你没有赋值给$ _SESSION ['username'],我想你可以在session_start()后面用print_r($ _ SESSION);在这两个页面上看到SESSION变量。

0

看来, 当isset($ _ POST [ '标题'])是假的 isset($ _ SESSION [ '名'])也是假

相关问题