将请求发送到另一个URL以获取PHP脚本?

时间:2012-08-24 04:41:22

标签: php web

所以我在一个网站上有一个联系表格,但我想在另一个网站上使用邮件功能。 我可以制作表格并获取文本并将其发送到PHP邮件功能中,我只是不确定如何在不打开其他标签的情况下为其他网站执行此操作。

另外,我甚至不确定该怎么称呼它。

例如: 我在一个网站上有文本字段和提交按钮,我想将这些数据发送到另一个网址,如下所示:

http://myurl.com?act=phptools&email=example@test.com&subject=Hello&message=How你呢?

如果不在浏览器中打开另一个标签,我该怎么做?

3 个答案:

答案 0 :(得分:1)

只需将表单的action属性设置为其他域上的处理脚本的URL即可。

但请确保这是安全的,我的意思是,如果您控制第二个域,那么它没关系。否则,您可能不得不担心与其他域共享数据。但是,我不知道你的要求是什么:)

答案 1 :(得分:0)

将表单的action属性设置为其他网站网址。提交的用户将被带到那里,并且在成功/失败时,您可以将用户重定向到旧的网站URL或任何您想要的地方。

更好地使用XHR / Ajax,以便在幕后提出请求,您需要做的就是根据您从其他网站网址发送的json响应显示错误消息/成功消息。但是,由于浏览器不允许跨源请求,因此使用此方法存在限制。所以检查一下你是否可以启用COR!

你可以做的另一件事是只向当前网站发送请求,并且会与其他网站的网址服务器大小进行交互,希望它有意义。

答案 2 :(得分:0)

据我了解你的问题你可以使用CURL php函数来实现这个

<?php
    $urltopost = "http://somewebsite.com/script.php";
    $datatopost = array (
                            "firstname" => "ex_name",
                            "lastname" => "ex_lastname",
                            "email" => "my@email.com",
                        );`enter code here`
    <span id="more-40"></span>`enter code here

    $ch = curl_init ($urltopost);
    curl_setopt ($ch, CURLOPT_POST, true);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $datatopost);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);

    $returndata = curl_exec ($ch);
?>