Php 表格未显示错误,但不显示';t插入数据库

Php 表格未显示错误,但不显示';t插入数据库,php,forms,Php,Forms,我正在做一份提交表格。如果字段为空但未将数据插入表中,并且提交后仅重新加载带有标题的页面,则返回错误。我不知道出了什么问题,因为没有错误 我的确认 <?php // define variables and initialize with empty values $nameErr = $comErr = $catErr =$priceErr =$linkErr =""; $name = $description = $category = $price =

我正在做一份提交表格。如果字段为空但未将数据插入表中,并且提交后仅重新加载带有标题的页面,则返回错误。我不知道出了什么问题,因为没有错误

我的确认

    <?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>

您没有回显任何错误。
您正在返回“提交成功”,但您不在函数内。
如果要查看此消息,应放置echo“Submitted successfully”

您的代码似乎没有通过$\u服务器[“请求\u方法”]

尝试改用if(isset($\u POST))并用print\r($\u POST)打印出$\u POST,
只是为了验证您的表单是否正确发布数据。

请检查数据库连接代码

$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
替换为下面的一个,它正在工作并插入值…这可能也是一个问题

$con = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

您收到了成功的消息?如果没有您的贡献,我们无法找到解决方案。没有。如果我提交表单,我只会得到一个只有标题的空页面,没有错误和消息。我根据请求运行var\u dump并显示数组。哦,对不起,当我放置var\u dump($\u请求)时;在if($\u服务器[“REQUEST\u METHOD”]=“POST”)中,没有出现任何问题,因此我假设在执行该语句之后没有任何问题。当我转到表单页面时,它会显示错误,然后打印数组(),然后在提交后,它会再次给我一个带有标题的空页面。你认为它可能是带有HTML的smth吗?而且它也没有显示任何错误:/I我不这么认为,我使用该代码连接我应用程序中的任何其他地方,我只是将include(“config.php”);我也用这个表格做了这个页面