2

我正在创建一个允许潜在员工列出参考的小型应用程序。列出的参考文献会收到一封电子邮件,其中包含URL末尾带有唯一字符串的 a。

(例如:)www.the-address.com?url=503241c65b8fe4_07914393。然后,该引用遵循此唯一URL性以代表员工上传一封信。

但是每次提交任何表单时,URL的随机字符串部分都会消失

(例如:) www.the-address.com?url=

我不明白为什么会发生这种情况,因为我提交了这样的表格:

<form action="upload_letter.php?url="' . $url . '" id="form_id" method="POST">;

哪里$url = $_GET['url']

发生这种情况的任何一般原因?如果需要,我可以提供更多代码。

4

6 回答 6

2
<?php
$data = array('url' => $url);

?>
<form action="upload_letter.php?<?php echo http_build_query($data) ?>" id="form_id" method="POST">

或者您可以将 URL 添加为隐藏<input>

<form action="upload_letter.php" id="form_id" method="POST">
    <input type="hidden" name="url" value="<?php echo htmlentities($url); ?>">
    .
    .
    .
</form>

然后您可以通过 访问 URL $_POST['url']

于 2012-08-20T19:02:07.600 回答
2

如果你真的有你写的代码,你会action用第二个"字符过早地关闭属性。试试这个:

echo '<form action="upload_letter.php?url='.urlencode($url).'" id="form_id" method="POST">';

你拥有它的方式最终会像 HTML 一样:

<form action="upload_letter.php?url="google.de" id="form_id"...>

带有 google.de 之外的属性值。

于 2012-08-20T19:04:04.353 回答
0

如果您的代码是您在 PHP 文件中所写的:那就错了。不 ”;” 在 HTML 行的末尾,不能用“.”连接字符串 在 HTML 中。您必须打开 PHP 标记并在其中编写 PHP 代码。例如:

<form action="upload_letter.php?url=<?php echo $url; ?>" id="form_id" method="POST">

但是你也可以使用像 Wolfgang 这样的回声回答

于 2012-08-20T19:14:33.100 回答
0

更改method="POST"method="GET"

于 2012-08-20T18:57:36.083 回答
-1

可能 $url 为空或未定义。检查 HTML 代码以查看其是否已写入表单的操作中。

于 2012-08-20T18:58:53.217 回答
-2

为什么要加上单引号:

 . $url . 

?

编辑:另一种说法:你确定你在<?php ?>标签上吗?

于 2012-08-20T18:59:15.227 回答