我正在嘗試提交提交表單。如果字段爲空,但它不會將數據插入到表中,並且在提交之後僅返回帶有標題的頁面,則會返回錯誤。我不知道,因爲沒有錯誤呼應未顯示任何錯誤,但未插入數據庫
我的驗證
<?php
// define variables and initialize with empty values
$nameErr = $comErr = $catErr =$priceErr =$linkErr ="";
$name = $description = $category = $price = $link = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
print_r($_POST);
if ($_POST["name"] == "") {
$nameErr = "Name the app";
}
else {
$name= $_POST["name"];
}
if ($_POST["price"] == "") {
$priceErr = "Price the app";
}
else {
$price= $_POST["price"];
}
if ($_POST["link"] == "") {
$linkErr = "Link the app";
}
else {
$link= $_POST["link"];
}
if ($_POST["category"] == "") {
$catErr = "Missing";
}
else {
$category = $_POST["category"];
}
if (empty($_POST["description"])) {
$comErr = "Missing";
}
else {
$description= $_POST["description"];
}
if (empty($rateErr) && empty($comErr) && empty($catErr)&& empty($linkErr) && empty($priceErr)) {
try {
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO apps (app_name, category, price, link, description, date_added) VALUES (:name, :category, :price, :link, :description, :date)";
$stmt = $con->prepare($sql);
$stmt->bindValue(":name", $name);
$stmt->bindValue(":category", $category);
$stmt->bindValue(":price", $price);
$stmt->bindValue(":link", $link);
$stmt->bindValue(":description", $description);
$stmt->bindValue(":date", now());
$stmt->execute();
echo "Submitted successfully";
}catch(PDOException $e) {
echo $e->getMessage();
}
}
}
?>
而且形式
<form method="POST"
action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
App name <input type="text" name="name" value="<?php echo htmlspecialchars($name);?>">
<span class="error"><?php echo $nameErr;?></span>
<br />
Price <input type="text" name="price" value="<?php echo htmlspecialchars($price);?>">
<span class="error"><?php echo $priceErr;?></span>
<br />
Download link <input type="text" name="link" value="<?php echo htmlspecialchars($link);?>">
<span class="error"><?php echo $linkErr;?></span>
<br />
<select name="category">
<option value=""></option>
<option value="maths">maths</option>
<option value="driving">driving</option>
<option value="languages">languages</option>
<option value="literature">literature</option>
<option value="science">science</option>
<option value="psychology">psychology</option>
<option value="psychology">biology</option>
<option value="IT">IT</option>
<option value="other">Other</option>
</select>
<span class="error"><?php echo $catErr;?></span>
<br />
<textarea rows="4" cols="50" name="description" value="<?php echo htmlspecialchars($description);?>">
Enter text here...</textarea>
<span class="error"><?php echo $comErr;?></span>
<input type="submit" name="submit" value="Submit">
</form>
你有成功消息的問題? – Ranjith
沒有你的貢獻我們找不到解決方案。 – Ranjith
不,如果我提交表單,我只是得到一個只有標題的空白頁面,沒有錯誤,也沒有消息 – user3623523