0

フォーム送信を設定してphpメールスクリプトをトリガーし、ユーザーを別のページ/メッセージが通過したことを確認するようにリダイレクトしようとしています。

現在、アクション属性を次のように設定しています。

<form id="contactform" action="send.php" method="post">

そして、メールスクリプトの上にフォームアクションへのリダイレクトを追加する方法があるかどうか疑問に思っていました.

前もって感謝します!

4

3 に答える 3

2

あなたのsend.phpファイルでは、これを行うことができます:

<?php
// Send the email
$sent = mail("info@example.com", "Subject", "Hello!"); 

if ($sent) {
    // This sends a header redirect to the client's browser
    header("Location: http://mysite.com/success.php");
    // This causes the redirect to happen immediately,
    // instead of continuing to process the page
    exit; 
} else {
    header("Location: http://mysite.com/failure.php");
    exit;
}
?>
于 2013-06-13T12:39:14.997 に答える
0

いいえ。

リダイレクトは、アクションが指すリソースによって開始される必要があります。(応答ヘッダーheader()を返すために使用します)。Location

(JavaScript への依存関係を追加し、Ajax を使用してデータを送信し、リクエストが成功したかどうかを設定するなど、クレイジーなことを行うこともできますが、リダイレクト応答locationを発行するよりもはるかに複雑で信頼性が低くなります)。send.php

于 2013-06-13T12:38:08.457 に答える
-1

フォームに入れることはできませんが、phpで簡単に行うことができます

header('Location: yourtarget.php');

より動的にしたい場合は、フォーム アクションに GET パラメータを追加できます。

<form id="contactform" action="send.php?redirectto=yourtarget" method="post">

そしてphpで:

header('Location: '.$_GET['redirectto']);
于 2013-06-13T12:38:58.080 に答える