我正在使用登錄系統。當我在沒有登錄的情況下導航到comments/index.php時,一些變量會很好地使用GET方法傳遞。然後,如果我在本頁面上登錄,則這些變量消失。消失的變量是$ submission,$ submissionid和$ url。登錄後使用GET方法維護變量
我以爲我可以使用GET方法讓它們在登錄之後通過將?submission='.$submission.'&submissionid='.$submissionid.'&url='.$url.'
添加到登錄表單操作的URL中來讓它們保持活動狀態,如下所示。但是我做了這個加法之後,變量仍然消失了。
我正在嘗試使用的相關代碼如下。
任何想法我能做些什麼來使它做我想要的?
由於提前,
約翰
在評論/ index.php文件:
require_once "header.php";
include "login.php";
include "comments.php";
在login.php中:
if (!isLoggedIn())
{
if (isset($_POST['cmdlogin']))
{
if (checkLogin($_POST['username'], $_POST['password']))
{
show_userbox();
} else
{
echo "Incorrect Login information !";
show_loginform();
}
} else
{
show_loginform();
}
} else
{
show_userbox();
}
在的comments.php:
$url = mysql_real_escape_string($_GET['url']);
echo '<div class="subcommenttitle"><a href="http://www.'.$url.'">'.$submission.'</a></div>';
$submission = mysql_real_escape_string($_GET['submission']);
$submissionid = mysql_real_escape_string($_GET['submissionid']);
登錄功能:
function show_loginform($disabled = false)
{
echo '<form name="login-form" id="login-form" method="post" action="./index.php?submission='.$submission.'&submissionid='.$submissionid.'&url='.$url.'">
<div class="usernameformtext"><label title="Username">Username: </label></div>
<div class="usernameformfield"><input tabindex="1" accesskey="u" name="username" type="text" maxlength="30" id="username" /></div>
<div class="passwordformtext"><label title="Password">Password: </label></div>
<div class="passwordformfield"><input tabindex="2" accesskey="p" name="password" type="password" maxlength="15" id="password" /></div>
<div class="registertext"><a href="http://www...com/sandbox/register.php" title="Register">Register</a></div>
<div class="lostpasswordtext"><a href="http://www...com/sandbox/lostpassword.php" title="Lost Password">Lost password?</a></div>
<p class="loginbutton"><input tabindex="3" accesskey="l" type="submit" name="cmdlogin" value="Login" ';
if ($disabled == true)
{
echo 'disabled="disabled"';
}
echo ' /></p></form>';
}
對於插入到SQL查詢中的數據,您應該只使用'mysql_real_escape_string'。 '$ url'被內插到一個HTML元素中,所以你應該用HTML注入來清理它。另外,查看預準備語句(和PDO)作爲轉義SQL值的更簡單的替代方法。 – outis 2010-04-16 03:02:03
當我充實示例時,查詢字符串在Safari 4.0中傳播得很好。你有什麼要離開的。你測試了什麼瀏覽器?你使用任何重定向? – outis 2010-04-16 03:31:25