我正在创建一个小型应用程序,它允许潜在员工列出引用。列出的推荐人收到一封电子邮件,其中包含一个URL
,末尾有一个唯一的字符串。
(示例: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']
。
发生这种情况的一般原因是什么?如果需要,我可以提供更多的代码。
如果你真的有你写的代码,那么你会过早地用第二个"
字符关闭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。
<?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>
然后您可以通过$_POST['url']
访问URL。
将method="POST"
更改为method="GET"
如果你的代码是你在PHP文件上写的:那就错了。HTML行末尾没有";",并且不能在HTML中将字符串与"."连接起来。您必须打开PHP标记并在里面编写PHP代码。例如:
<form action="upload_letter.php?url=<?php echo $url; ?>" id="form_id" method="POST">
但您也可以使用类似Wolfgang的回声应答
$url可能为空或未定义。检查HTML代码,看看它是否已写入表单的操作中。
为什么在周围加单引号
. $url .
编辑:另一种说法是:你确定你在<?php ?>
标签上吗?