2013-10-08 30 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 [ '名'])也是假

相關問題