将参数添加到$ _POST?
我一直在尝试使用$_GET
来尝试管理标记帐户的日志文件,但这种新情况并不完全正常。
if (isset($_GET['marked'])) {
if ($_GET['marked'] == 'read') {
if (isset($_POST['mark'])) {
foreach ($_POST['mark'] as $mark) {
mysql_query("UPDATE logged SET status = '1' WHERE timeLogged = $mark");
echo "<meta http-equiv='refresh' content='0;url=/admincpanel/flagged.php'>";
}
}
}
else if ($_GET['marked'] == 'unread') {
if (isset($_POST['mark'])) {
foreach ($_POST['mark'] as $mark) {
mysql_query("UPDATE logged SET status = '0' WHERE timeLogged = $mark");
echo "<meta http-equiv='refresh' content='0;url=/admincpanel/flagged.php'>";
}
}
}
else if ($_GET['marked'] == 'save') {
if (isset($_POST['mark'])) {
foreach ($_POST['mark'] as $mark) {
mysql_query("UPDATE logged SET status = '2' WHERE timeLogged = $mark");
echo "<meta http-equiv='refresh' content='0;url=/admincpanel/flagged.php'>";
}
}
}
}
和我有按钮:Mark as <a href=\"?marked=read\" onclick=\"submitForm();\"><i>read</i></a><a href=\"?marked=unread\" onclick=\"submitForm();\">/unread</a>
我使用复选框选择我想要的行没有$ _GET默认submitForm前();工作得很好。
这工作:Mark as <a href=\"#\" onclick=\"submitForm();\"><i>read</i></a>
if (isset($_POST['mark'])) {
foreach ($_POST['mark'] as $mark) {
mysql_query("UPDATE logged SET status = '1' WHERE timeLogged = $mark");
echo "<meta http-equiv='refresh' content='0;url=/admincpanel/flagged.php'>";
}
}
我怎样才能让我的其他标志物(读,未读,保存)工作?提交表格和获得结果似乎是$_POST
唯一的工作,所以我必须添加更多参数到$_POST
对不对?
如果它可以帮助任何这是JavaScript:
function submitForm() {
document.logs.submit();
}
概括起来讲,我试图让读取更新状态为1,未读状态0,并保存状态2.与使用$_GET
ISN没有工作 - 或者我做错了。那么我能做些什么来完成这项工作?
谢谢。
海兰 尝试在表单中添加一个隐藏字段:
<input type="hidden" name="marked" id="marked" value="" />
然后,按钮:
'标记为
<a href=\"?marked=read\" onclick=\"submitForm('read');\"><i>read</i></a><a href=\"?marked=unread\" onclick=\"submitForm('unread');\">/unread</a>`
然后JavaScript函数:
function submitForm(mark) {
document.getElementById('marked').value = mark;
document.logs.submit();
}`
然后,在PHP脚本中使用$ _REQUEST [“标记”] insted的的$ _GET
的href="?marked=read"
因为你提交表单,而不是永远不会发送到服务器。
要解决该问题,您可以为您的submitForm()
函数添加一个参数,并将此参数存储为名为'marked'的隐藏表单输入的值。
像这样:
Mark as <a href="#" onclick="submitForm('read')">read</a>
和
function submitForm(marked) {
// TODO: Setup hidden input field with the marked argument
document.logs.submit();
}
尝试此PHP代码,有点清洁和简洁:
if (isset($_GET['marked'])) {
if ($_GET['marked') == 'read')
$status = 1;
elseif ($_GET['marked'] == 'unread')
$status = 0;
else
$status = 1;
}
if (isset($_POST['mark'])) {
foreach ($_POST['mark'] as $mark) {
mysql_query("UPDATE logged SET status = $status WHERE timeLogged = $mark");
echo "<meta http-equiv='refresh' content='0;url=/admincpane/flagged.php'>";
}
}