我真的在和這個做鬥爭,我已經嘗試了每個關於這個的youtube/google頁面,沒有任何東西可以解決這個問題。
當點擊提交數據庫只收集「idContactForm」,但不休息(名稱/電子郵件/主題/消息)
我已經試過了所有我能找到使用if(isset)$ _ POST線,但我總是看到($ name/$ email/$ subject/$ message)上的「Undefined index:」錯誤
我在做什麼錯?
<?php
include 'config.php';
if (!isset($_POST['submitted'])) {
$name = trim(mysqli_escape_string($conn,$_POST['Name']));
$email = trim(mysqli_escape_string($conn,$_POST['Email']));
$subject = trim(mysqli_escape_string($conn,$_POST['Subject']));
$message = trim(mysqli_escape_string($conn,$_POST['Message']));
} else {
## connect mysql server
$mysqli = new mysqli('localhost', 'root', '******', 'tomepublications');
# check connection
if ($mysqli->connect_errno) {
echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>";
exit();
}
# insert data into mysql database
$sql = "INSERT INTO `contactform` (`idContactForm`, `Name`, `Email`, `Subject`, `Message`)
VALUES (NULL, '{$name}', '{$email}', '{$subject}', '{$message}')";
if ($mysqli->query($sql)) {
//echo "New Record has id ".$mysqli->insert_id;
echo "<p>Registred successfully!</p>";
} else {
echo "<p>MySQL error no {$mysqli->errno} : {$mysqli->error}</p>";
exit();
}
}
?>
HTML
<form method="post" action="contactf.php">
<div class="form-group">
<input type="text" name="name" id="Name" class="form-control" placeholder="Name" required>
</div>
<div class="form-group">
<input type="email" name="email" id="Email"class="form-control" placeholder="Email" required>
</div>
<div class="form-group">
<input type="text" name="subject" id="Subject"class="form-control" placeholder="Subject" required>
</div>
<div class="form-group">
<textarea name="message" class="form-control" id="Message" rows="15" placeholder="Message" required></textarea>
</div>
<input type="hidden" name="submitted" value="true">
<input type="submit" value="submit" class="btn btn-primary">Send Message</>
</form>
THX Iamfree回答..這奏效了! 非常感謝 –
你*必須*在運行'mysqli_escape_string()'之前連接到服務器' –
@Dragon我認爲你是對的! –