【问题标题】:Post Form and redirect response发布表单和重定向响应
【发布时间】:2023-03-06 10:14:01
【问题描述】:

您好,我有 PHP 代码,我想将此代码转换为 symfony 控制器

代码 PHP

header("Pragma: no-cache");
header("Cache-Control: private");
header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0", false);
header("Expires: 0");

echo "<html>";
echo "<body>";

echo "<form action=\"" . $url . "\" method=\"post\" name=\"form\" id=\"form\">";


echo "<input type=\"hidden\" name=\"key1\" value=\"" . $code . "\">";


echo "<input type=\"hidden\" name=\"key2\" value=\"$value\">";


echo ("</form>");

echo "<script language=\"JavaScript\">";
echo "document.form.submit();";
echo "</script>";

echo "</body>";
echo "</html>";

此代码必须重定向到另一个网站,发布的参数用于身份验证

这是我的控制器

class RedirectController extends Controller
{
/**
 * @Route("/redirect", name="redirect_root")
 */
public function redirectAction(Request $request)
{
     $data = array(
       'key1' => $code,
       'key2' => $value,
    );
    $url = 'http://login.php';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_POST, true);


    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    $output = curl_exec($ch);

    curl_close($ch);

    return $output;
}

我使用 HttpFoundation 的响应,但总是参数不传递给登录

【问题讨论】:

  • 请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。

标签: php symfony symfony-forms symfony-2.3


【解决方案1】:

你应该使用 HttpFoundation/RedirectResponse:

return new RedirectResponse('your_url');

或具体方法(redirectToRoute('_route_name')):

return $this->redirectToRoute('your_route_name');

【讨论】:

  • 但是要提交的 url 在另一台服务器上,它不是 root symfony。
  • 好的,那么 redirectToRoute 不是你的情况。使用 RedirectResponse('url'),其中 url 是您需要重定向的任何 url。或者使用 retutn $this->redirect('url');
猜你喜欢
  • 1970-01-01
  • 2015-12-25
  • 1970-01-01
  • 2012-08-19
  • 2021-02-13
  • 2013-10-11
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多