簡體   English   中英

$ _SERVER ['PHP_SELF']有問題

[英]problem with $_SERVER['PHP_SELF']

我在我的一個php頁面中有一個鏈接,其中顯示了已登錄用戶的朋友,並且在此頁面中,每個用戶的朋友都有如下所示的鏈接:

echo "<a href='profile.php?id=$row[friend_id]'>$friend_row[name]</a>";

您會看到朋友的ID傳遞到個人資料頁面,在個人資料頁面中,用戶可以看到他們的個人資料並為他們留下評論。 形式如下:

<form name="comment" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <input type="text" name="comment" class="comment" />
    <input type="submit" name="submit" value="submit" class="comment" />
</form>

和這個PHP代碼如下:

$insert="INSERT INTO comment (login_id,friend_id,msg)
                    VALUES ('$_SESSION[friend_id]','$_SESSION[id]','$_POST[comment]')";
$result = mysql_query($insert) or die(mysql_error());

現在我的問題是, $_SESSION[friend_id]這是equall到$_GET[id]此命令$_SESSION[friend_id]=$_GET[id]被中國率先頁面早前已經得到了沒有價值的,似乎是0上提交表單后我的SQL表。 我試圖在執行此php腳本之前回顯它,並且它具有正確的值,但是在執行此php代碼后,它消失了!!!

誰能告訴我為什么?

除非您發布實際初始化變量的代碼,否則沒有人能告訴您您的變量為何包含的值與預期不同,但是幾乎每個人都可以告訴您,將$ _GET超全局數組中提取的任何內容推入SQL查詢都是一種糟糕的主意。

除了SQL注入之外,似乎您的會話未啟動...

如果要在任何PHP文件中使用$ _SESSION變量,請始終確保您具有session_start();。 在該文件的開頭。

希望有幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM