0

解決済み-
同じことをしている他の人に役立つように、デバッグプロセスを順を追って説明したい... 1)両方のページを消去し、機能することがわかっているコードに置き換えました。2)次に、フォームを少しずつ変更して、希望どおりに取得し、テストを続けました 3)次に、現在のphpファイルを完全にコピーし、フォームをそれにリダイレクトしました。4)失敗しました...許可を655に変更したところ、うまくいきました。これで、PHP コードをハッキングして、必要なものを取得できるようになりました。すべての提案に感謝します。あなたは間違いなく私の解決策への道を導いてくれました 解決
済み

サイトに 2 つの個別の摂取フォームがあります。インテーク フォーム 1 は完全に機能します。名前、電子メール、コメントを受け取り、sendmail スクリプトを使用して送信します。

また、デモ ビデオにアクセスしたい人を追跡するためのリード獲得用のインテーク フォームが必要だったので、フォームのコードを (新しいページ用に) 変更し、videoform.php という名前の追加の php ファイルを作成しました。私のsendmail.phpファイルの修正版。

フォームに入力しても、送信をクリックしても何もしません。どのフィールドにもnull値を入力できないため、検証されますが、何が欠けているのかわかりません。それは簡単なことですか(私は決してPHPの信頼性がありません)、それともできないのでしょうか?

フォームとphpは次のとおりです。

<div class="message"></div>
            <form action="./php/videoform.php" method="POST" id="contact-form">
                <p class="column one-half">
                    <input name="name" type="text" placeholder="Your Name" required>
                </p>

                <p class="column one-half">
                    <input name="email" type="email" placeholder="Your Email" required>
                </p>

                 <p class="column one-half">
                    <input name="phone" type="text" placeholder="Your Phone" required>
                </p>



                <p>
                    <input name="submit" type="submit" value="Submit">
                </p>            
            </form>
        </div>

これはPHPです

    <?php if(!$_POST) exit;
    $to         = "xxxxx@example.com";
    $email      = $_POST['email'];
    $name       = $_POST['name'];
    $phone      = $_POST['phone'];
    $content    = $_POST['content'];

    $subject    = "You've been contacted by $name";

    $content    = "$name filled out a request to view the online videos:\r\n\n";
    $content   .= "Phone: $phone \n\nEmail: $email \n\n";

    if ($success) {
       header("Location: /videos.html");
       exit;
    } else {
       header("Location: /video-form.html");
       exit;
    }
    ?>

私は多くのコーディング形式に慣れていますが、PHP に関してはとても苦手です。どんな洞察も高く評価され、PHP をよりよく理解するための道を歩むことができます。

比較のための作業スクリプト


私達にメッセージを送ります

                <p class="column one-half last">
                    <input name="email" type="email" placeholder="Your Email" required>
                </p>

                <p class="clear">
                    <textarea name="comment" placeholder="Your Message" cols="5" rows="3" required></textarea>
                </p>

                <p>
                    <input name="submit" type="submit" value="Comment">
                </p>            
            </form>
        </div>  

PHP sendmail.php ファイル

<?php if(!$_POST) exit;
$to         = "xxxxx@example.com";
$email      = $_POST['email'];
$name       = $_POST['name'];
$comment    = $_POST['comment'];

$subject    = "You've been contacted by $name";

$content    = "$name sent you a message from your enquiry form:\r\n\n";
$content   .= "Contact Reason: $comment \n\nEmail: $email \n\n";

if(@mail($to, $subject, $content, "Reply-To: $email \r\n")) {
    echo "<h5 class='success'>Message Sent</h5>";
    echo "<br/><p class='success'>Thank you <strong>$name</strong>, your message has been submitted and someone will contact you shortly.</p>";
}else{
    echo "<h5 class='failure'>Sorry, Try again Later.</h5>";
}?>
4

1 に答える 1