我正在嘗試構建一個使用引導表單 HTML 結構和 PHP 來控制后端驗證并將表單資訊發送到我的電子郵件的聯系表單。
現在每當我點擊提交按鈕時,我都會收到一個 404 Not Found 錯誤,我認為這與 HTML 沒有以正確的方式與我的 PHP 代碼通信有關。我的網站 100% 在線(通過 NameCheap 托管),并且一直在使用 cPanel 的檔案管理器上傳所有 HTML、CSS、影像和 PHP 檔案。我遵循了一個關于 PHP 應該是什么樣子的 Youtube 教程來驗證我的表單資料并將其發送到我的電子郵件。
我還沒有嘗試過代碼的 $invalid_class_name 方面,因為我試圖讓資料首先成功傳遞。我的 contact-form.php 檔案與我的 HTML 檔案位于相同的位置,但我想知道是否需要將我的 index.html 檔案保存為 PHP 檔案以使其正常作業或在我的網站上添加一個額外的 PHP 插件.
我在表單代碼上方的 HTML 中包含了這個 PHP 代碼
<?php
if($message_sent);
?>
<h3>Thanks,we'll be in touch</h3>
<?php
else:
?>
HTML
<form name=”contact_form” action=”contact-form.php” method=”POST” class="row g-4">
<div class="col-md-6">
<label for="first-name" class="form-label">First Name</label>
<input type="text" name="first-name" class="form-control" id="first-name" placeholder="John" required>
</div>
<div class="col-md-6">
<label for="last-name" class="form-label">Last Name</label>
<input type="text" name="last-name" class="form-control" id="last-name" placeholder="Smith" required>
</div>
<div class="col-md-6">
<label for="email" class="form-label">Email</label>
<input type="email" name="email" class="form-control" id="email-address" required>
</div>
<div class="col-md-12">
<label for="notes" class="form-label">Notes</label>
<textarea class="form-control" name="notes" id="notes" rows="4" placeholder="Include any additional information"></textarea>
</div>
<div class="col-12">
<button type="submit" class="pcs-cta-button form-submit-button">Submit</button>
</div>
</form>
PHP
<?php
$message_sent = false;
if (isset($_POST['email'])) && $_POST['email'] !='') {
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ){
//submit the form
$userFirstName = $_POST['first-name'];
$userLastName = $_POST['last-name'];
$userEmail = $_POST['email'];
$message = $_POST['notes'];
$to = "[email protected]";
$body = "";
$body .= "From: ".$userFirstName." ".$userLastName "\r\n";
$body .= "Email: ".$userFirstName. "\r\n";
$body .= "Notes: ".$message. "\r\n";
mail($to, $messageSubject, $body);
$message_sent = true;
}
else {
$invalid_class_name = "form-invalid";
}
}
?>
uj5u.com熱心網友回復:
這是因為您正在使用”而不是"在form(通常是form屬性)的操作中
改變這個:
<form name=”contact_form” action=”contact-form.php” method=”POST” class="row g-4">
對此:
<form name="contact_form" action="contact-form.php" method="POST" class="row g-4">
現在您的瀏覽器嘗試GET“ ”contact-form.php””而不是“ contact-form.php”。是的,它嘗試GET(默認方法) not POST,因為您的表單方法也是無效的(同樣的原因 - 錯誤的引號)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/469234.html
標籤:javascript php html 形式
