通过表单传递Varible

时间:2017-03-31 13:54:43

标签: php

我还是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>';

2 个答案:

答案 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以了解您的错误