我一直在試圖讓這個工作多年,並且已經閱讀了很多類似問題的其他答案(How to add AJAX Submit to PHP validation and return message?,ajax submit form why it cannot echo $_POST),但我似乎無法得到它上班。AJAX,PHP表單不提交到數據庫
基本上我正在創建的是一個註冊表單,它只是將某個人的電子郵件地址插入到表格的新行中,這樣我就可以測量訪問者的轉換率了!事不宜遲,這裏有我的劇本,我真誠地希望你能幫助我吧:)
HTML表單:
<!-- Signup Form -->
<form id="signup-form" name="emailform" method="post" action="send_post.php">
<input type="email" name="email" id="email" placeholder="Email Address" />
<input type="submit" value="Sign Up" />
</form>
<script src="assets/js/main.js"></script>
send_post PHP:
<?php
// Fetching Values From URL
$servername = "*****";
$username = "*****";
$password = "*****";
$dbname = "email";
$email = $_POST['email'];
//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Insert the data
mysqli_query($conn,"INSERT INTO email (email)
VALUES ('$email')");
$conn->close();
?>
JavaScript和AJAX:
//Submitting the form
$('#signup-form').submit(function() {
$.ajax({type: "POST",
url: "send_post.php",
data: $("#signup-form"),
success: function() {
alert("success");
}
});
e.preventDefault();
return false;
});
爲了便於閱讀,我只包含了一小部分JS代碼,其中包含ajax位它。 PS。當我直接導航到send_post.php時,它會在數據庫中創建一個空行。
是您的Ajax請求工作正常? '在你的PHP –
'的var_dump($ _ POST),看看它輸出。 – Qirel
,如果你想使用AJAX,你必須刪除的操作表單中的 –