php
  • session
  • post
  • 2012-01-14 93 views 1 likes 
    1

    我有這個問題。當我使用$ _POST時會話不起作用。如果我添加63手動,它將跨頁面。我可以看到輸出63會話在頁面間不起作用

    $_SESSION['name'] = 63; 
    echo $_SESSION['name'] ; 
    


    但是這時候我的頁面之間切換下面將無法正常工作。在$行[「身份證」]輸出也是63

    $cari = "SELECT id FROM dns_soa WHERE `origin` = '".$_POST['origin']."'"; 
    $keputusan = mysql_query($cari); 
    
    $row = mysql_fetch_array($keputusan); 
    
    $_SESSION['name'] = $row['id']; 
    echo $_SESSION['name'] ; 
    


    當我去第2頁我可以看到輸出,但是當我回到第1頁輸出已經一去不復返了。任何想法?

    +0

    之前,你有沒有在session_start,您可以使用您要使用的會話的每個頁面上的會話之前? – 2012-01-14 04:49:44

    +0

    是的。這兩個頁面都顯示了我手動初始化63輸出時的奇怪現象。 – sg552 2012-01-14 04:55:06

    +0

    你不檢查查詢actully作品。它容易受到sql注入攻擊。 – 2012-01-14 04:58:25

    回答

    1

    因爲當你回來時它會再次設置會話變量,因爲這次你沒有導致$ row ['id'] =「」的$ _POST [origin]變量和會話變量也NULL ...

    你應該做的是..

    $cari = "SELECT id FROM dns_soa WHERE `origin` = '".$_POST['origin']."'"; 
    $keputusan = mysql_query($cari); 
    
    $row = mysql_fetch_array($keputusan); 
    
    if(!isset($_SESSION['name'])) 
        $_SESSION['name'] = $row['id']; 
    
    echo $_SESSION['name'] ; 
    
    +0

    在iPad中輸入很糟糕。我變慢了。 – 2012-01-14 05:05:34

    +0

    這是個竅門。謝謝Rajat和Shiplu :) – sg552 2012-01-14 05:15:56

    1

    當你回去到已使用$_POST頁面,$_POST變空,除非您的瀏覽器的帖子再次。所以SQL查詢不會返回任何結果。因此,$_SESSION['name']變空。

    另外,還要確保你已經調用每個頁面上session_start使用$_SESSION

    +0

    其實我也是這麼想的。感謝您試圖幫助我的隊友:) – sg552 2012-01-14 05:17:45

    相關問題