因此,我将我的PHP脚本配置为从我的联系表单发送消息到我与机器人的电报聊天。
这是PHP脚本代码:
<?php
if(trim($_POST["gotcha"]) !== "") {
header("Location: https://example.com/");
} else {
if(isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["subject"]) && isset($_POST["content"])) {
$wholeMessage = "Name:"." ".$_POST["name"]." "."|"." "."Email:"." ".$_POST["email"]." "."|"." "."Subject:"." ".$_POST["subject"]." "."|"." "."Message:"." ".$_POST["content"];
$data = "https://api.telegram.org/bot<BOTID>/sendmessage?chat_id=<CHATID>&text=".$wholeMessage;
$response = file_get_contents($data);
header("Location: https://example.com/thanks/");
} else {
header("Location: https://example.com/");
}
}
?>
我的电报聊天的结果:
Name:firstname|Email:mail@mail.com|Subject:test|Message:testhttps://google.commouseappletest
仅使用%nbsp;
输出:
Name:
没有其他输出。
如你所见,所有的空白都消失了。 我的代码有问题吗?
由于
答案 0 :(得分:0)
您需要URL Encode
。
%20
作为空格。urlencode()
函数对您的网址进行编码。这也可以使您的代码摆脱奇怪错误的危险,尤其是当您使用包含中文或其他特殊字符且没有网址编码的网址时。