解決済み-
同じことをしている他の人に役立つように、デバッグプロセスを順を追って説明したい... 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>";
}?>