在 PHP 中如何使用两个标头位置
Posted
技术标签:
【中文标题】在 PHP 中如何使用两个标头位置【英文标题】:In PHP how to use two headers Location 【发布时间】:2017-04-04 10:57:42 【问题描述】:<?php
header("Location:http://www.perfectbulksms.in/Sendsmsapi.aspx
USERID=namePASSWORD=pass&SENDERID=id&TO=$phn&MESSAGE=$sms");
header("Location:password.php?msg=new");
?>
我想通过 php 代码发送短信。它工作正常,但问题是我必须使用两个标题,一个用于短信,另一个用于将我的页面重定向到我想要的位置。但只有第二个在工作。而且我还想在标签中的 url 时隐藏我的短信代码的详细信息。并想同时使用短信和重定向。请帮忙??????
【问题讨论】:
检查if条件的使用 - php.net/manual/en/control-structures.if.php 更好用cURL 同意上面的R andom,如果你想做对的话。 【参考方案1】:header("Location: ...");
用于将用户重定向到另一个页面。从逻辑上思考如何同时在 2 个页面上重定向用户。
正如我所见,您想对 perfectbulksms.in 进行 API 调用以发送短信 我强烈建议使用 CURL 这样做,然后使用 header
$ch = curl_init("http://www.perfectbulksms.in/Sendsmsapi.aspxUSERID=namePASSWORD=pass&SENDERID=id&TO=$phn&MESSAGE=$sms");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
$result = curl_exec($ch);
curl_close($ch);
header("Location:password.php?msg=new");
这是一个基本示例,阅读更多关于 CURL http://php.net/manual/en/book.curl.php
【讨论】:
不,它不工作..它转到下一个标题,但短信不去..如何处理这个 $result 变量 @YogeshArya 你纠正了 URL 中的错误吗? $result 变量包含来自 perfectbulksms.in 的响应(如果有),尝试评论 //header("Location:password.php?msg=new");
并回显结果以调试问题所在。
@dass 你在谈论用户名密码和 id 吗?是的,我更正了。如果有其他错误请告诉我
错误请求 HTTP 错误 400。请求格式错误。当我使用 echo 选项时会出现这种情况......是否需要关闭 curl?它给了我 echo 的密码【参考方案2】:
如果您只是想发送一些东西,您可以这样做:
<?php
file_get_contents("http://www.perfectbulksms.in/Sendsmsapi.aspx?USERID=name&PASSWORD=pass&SENDERID=id&TO=$phn&MESSAGE=$sms");
header("Location:password.php?msg=new");
?>
不漂亮,但它会在紧要关头。
当然应该使用 curl() 来完成这项工作。
【讨论】:
您需要修复 URL,它缺少参数分隔符。我在上面的示例中修复了它。【参考方案3】:<?php
$pre = 'Dear%20Parents,YourPasswordis%20';
header("Location:http://www.perfectbulksms.in/Sendsmsapi.aspx
USERID=namePASSWORD=pass&SENDERID=id&TO=$phn&MESSAGE=$sms");
header("Location:password.php?msg=new");
?>
非常感谢我使用空间而不是 %20 这就是为什么它不起作用感谢@arun @chris @dass 告诉 curl 选项
【讨论】:
以上是关于在 PHP 中如何使用两个标头位置的主要内容,如果未能解决你的问题,请参考以下文章