【问题标题】:After post request display message is not working发布请求后显示消息不起作用
【发布时间】:2013-06-19 12:53:12
【问题描述】:

我在 php 上发送发布请求,发布后我想显示感谢信息 我的邮政编码是:

<?php
    $error = '';
    $FullName = $_POST['FullName'];
    $Email = $_POST['Email'];
    $Password = $_POST['Password'];
    $Content = $FullName." ".$Email." ".$Password;
    $server= '192.168.1.13:3033';
    $path = '/user/registration';

    $headers= "POST $path HTTP/1.0\r\nContent-type: text/html\r\nHost: $server\r\nContent-length: $Content\r\n\r\n";
    $fp = fsockopen($server, $port);

    if (!$fp) return false;

    fputs($fp, $headers);
    fputs($fp, $Content);

    $ret = "";

    while (!feof($fp)) {
        $ret.= fgets($fp, 1024);
    }

    fclose($fp);
    print $ret;
?>

我的帖子请求正在运行,但我不知道如何在同一页面上显示消息 任何帮助将不胜感激

【问题讨论】:

  • 您希望在表单页面上显示错误?将表单设置为提交到同一个文件,检查它是否已提交并运行上面的代码并回显您想要的文本。
  • 不是错误消息.. 表单成功注册,感谢信息在同一个表单上
  • 在print $ret; 或fputs($fp, $Content); 之后尝试echo "Thank you etc....";
  • 是的,我的意思是成功消息,对不起,但原理还是一样。
  • 或者你可以试试 var_dump($ret) 看看它的值是多少。

标签: php javascript


【解决方案1】:

我不确定您在这里要做什么,但您可以尝试以下方法并告诉我

<?php

$port = 3033;
$error = '';
$FullName = $_POST['FullName'];
$Email = $_POST['Email'];
$Password = $_POST['Password'];
$Content = $FullName." ".$Email." ".$Password;
$server= '192.168.1.13';
$path = '/user/registration';

$headers = "POST $path HTTP/1.0\r\nContent-type: text/html\r\nHost: $server\r\nContent-length: $Content\r\n\r\n";
$data = $headers . $Content;
$fp = fsockopen($server, $port);

if (!$fp)
{ 
    return false;
}
else
{

    fputs($fp, $data);

    $ret = "";

    while (!feof($fp)) {
        $ret.= fgets($fp, 1024);
    }

    fclose($fp);

    print("Thank you for using our service.\r\n\r\n".$ret);        
}


?>

【讨论】:

  • 这也代表失败,因为您还没有定义或传递$port 的值。
  • 我假设 $port 已定义,没有 $port 它肯定会失败 ofc
  • OP 没有发布它($port 值),并希望您和我以及其他人神奇地假设它已被定义。
  • @ana 就像您已经分配的其他变量一样 $port = 333 如果 333 是您在 $error = '' 之前需要的端口;
  • +1 for that 'ASS out of U and ME' @ana 我更新了代码,但 Fred 是对的
【解决方案2】:

echo 函数可能在这里很有趣。

【讨论】:

  • @ana 如果将echo 与headers 混合使用,则会出现错误。所以你必须把它放在外面。
  • “通过某种警报” .. 你是什么意思?这个页面是为了向 Ajax 调用返回信息,还是用户在提交表单时被带到这个页面?
  • 是的,在发布所有值之后..我想显示成功注册消息..
  • 理论上,你的回答很好,我不知道为什么会这样(-1)。谁亏待了你,就应该收回。 你不知道,掉进了陷阱,很遗憾。 值得深思:下次,将其作为评论。 ;-)
  • 谢谢@Fred - 在发帖方面我对 SO 还是有点陌生​​。吸取的教训,无论如何。
猜你喜欢
  • 2017-12-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
相关资源
最近更新 更多