我正在尝试创建一个将发送给多个人的网页。该网页包含一封信。
因此,如果URL字符串如下所示:
Website.com/letter?name=Jim
然后页面上显示的字母应显示为:
Hello Jim,
<br>
<br>Blah blah blah...
在某些情况下,名称可能包含两个名称,在这种情况下,它应显示两者,例如:
Website.com/letter?name=Jim Patrick
它将显示为:
Hello Jim Patrick,
<br>
<br>Blah blah blah...
我将如何实现这一目标?
答案 0 :(得分:0)
<?php
$name = $_REQUEST['name'];
?>
这将为你保留名称。
您想要显示名称的位置。刚刚放好。
<p>Hello, <?php echo $name; ?></p>
并且正如tadman指出的那样,不要在get字段中公开字段来生成它。如果有必要,您可以使用加密/解密步骤,以防止操作变得容易。
修改强>
如果你这样做,很难修改名称
链接中的加密名称
然后在php中解密它
<?php
$name = someDecryption($_REQUEST['name']);
?>
答案 1 :(得分:0)
要改进查询字符串中$_GET
参数的解析/处理,您可以将语法更改为:
Website.com/letter?name[]=Jim&name[]=Patrick
然后$_GET['name']
将会保留:array('Jim','Patrick')
。
现在$_GET
是多维的,您可以通过运行:
foreach($_GET['name'] as $name){
// echo $name // do whatever
}
或者您可以致电implode('&', $_GET['name'])
或类似。
请参阅this post,其中讨论了tadman警告您的主题。
最后,如果您只想将名称空间分隔并从单个表单字段(或硬编码网址)提交,那么您的接收代码只需要explode(' ',$_GET['name'])
然后重新拼接名称与您选择的任何字符/子字符串一起。
你的问题有点含糊不清,所以为了Jim Patrick
实际上只有一个人,你不需要改变任何东西。 name
值将是name=
之后的所有文字,直到网址字符串结尾或遇到#
或&
为止(假设您正在处理有效内容) URL)。