我还是PHP的新手,但我在我的网站上取得了很好的进展。但是我似乎遇到了一些障碍。我有一个包含URL的页面,在该URL中有一个类别标识符。所以它看起来像;
www.website.com/createpage?cat=1
现在在前面的页面中,我已经将变量从一个页面传递到另一个页面,执行以下操作;
$cat = $_GET['cat'];
<a href="nextpage.php?cat=$cat">
但是我现在已经到了需要使用表单来处理信息的地步。我有一个特殊的脚本,使用action =属性在提交时运行。
如果我尝试修改上面的链接,它就会传递一个字符串'$ cat'。我在这里阅读了几个主题,我可以通过在表单中创建隐藏字段并在新页面上调用它来实现相同的功能,就像我对其他信息一样。但在这两种情况下它只传递一个字符串。如果我在提交之前回显表单上的变量,它会报告正确的数字,如果我将处理脚本放在与表单相同的页面上,它会比没有它更远(我在脚本的底部有错误但是我期待那个)
在我错过的表单上传递值是否有什么特别之处?我读过的所有帖子都让它听起来很简单,但我很难在自己的剧本中复制它。
我可以发布剧本,但这是一个很长的地狱。
echo '<form action="topic_process.php" method="POST">
<p>Topic Subject:<input name="topic_subject" type="text"></p><br>
<p>Post: <textarea name="post_content"></textarea></p><br>
<input type="hidden" name="cat" value="$cat">
<p><input type="submit" value="Create"></p>';
答案 0 :(得分:1)
您可以将其写入该表单的隐藏输入字段:
首先,在PHP中:
$cat = $_GET['cat'];
稍后,在HTML表单中:
<input type="hidden" value="<?php echo $cat; ?>" name="cat">
这会将该值作为POST变量传递给表单处理页面,可以将其作为$_POST['cat']
答案 1 :(得分:1)
由于您的表单字符串由单引号分隔,因此您需要将$cat
作为字符串发送,您必须将其连接起来:
echo '<form action="topic_process.php" method="POST">
<p>Topic Subject:<input name="topic_subject" type="text"></p><br>
<p>Post: <textarea name="post_content"></textarea></p><br>
<input type="hidden" name="cat" value="' . $cat . '">
<p><input type="submit" value="Create"></p>';
请阅读this thread以了解您的错误