基本php表单不工作

基本php表单不工作,php,html,Php,Html,您应该添加一个操作 <!doctype html> <html> <head> <link rel="stylesheet" type="text/css" href="style1.css"> </head> <body> <?php $name; $college; if(empty($_POST["name

您应该添加一个操作

<!doctype html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style1.css">
        </head>
    <body>
    <?php

        $name; 
        $college;
        if(empty($_POST["name"])){
            $nameerr="NAME IS REQUIRED";
        }
        else{
            $name=$_POST["name"];
        }
        $course=$_POST["course"];
        if(empty($_POST["college"])){
            $collegeerr="NAME OF COLLEGE IS REQUIRED";
        }else{
            $college=$_POST["college"];
        }
        $email=$_POST["email"];
        $abc=mysqli_connect('localhost','root','','generalinfo') or die('ERROR:COULD NOT          CONNECT TO DATABASE');
        $query="INSERT INTO studentinfo VALUES ('$name','$course','$college','$email')";
        $final=mysqli_query($abc,$query) or die('ERROR ENTERING THE DATA IN DATABASE');
        mysqli_close($abc);
        echo'THANKYOU FOR SUBMITTING THE FORM';

    ?>
    <div id="b">
        <form action=""  method="post">
            <label for="name"><div id="a">name</div></label>
            <input type="text" name="name"></br>
            <div id="c"><?php echo $nameerr; ?></div>
            <label for="course"><div id="a">course</div></label>
            <input type="text" name="course"></br>
            <label for="email"><div id="a">email</div></label>
            <input type="text" name="email"></br>
            <label for="college"><div id="a">college</div></label>
            <input type="text" name="college"></br>
            <div id="d"><?php echo $collegeerr; ?></div>
            <input type="submit" value="submit" name="sub"></br>
        </form>
    </div>
    </body>
</html>


然后将form.php包含在您网站的文件夹中。

我认为,如果所有内容都在同一页面上,您的问题在于您的查询没有说明每个值的去向,而不是
action=“

<form action="form.php" method="post">

尝试将查询更改为该值,但确保字段名称正确。我只是使用变量猜到的。您应该首先检查$\u POST是否为空。然后您应该保存数据。因此,请使用该代码:

$query="INSERT INTO studentinfo (name, course, college, email) VALUES ('$name','$course','$college','$email')";

此代码有很多问题

您可以执行以下操作来解决此问题

1.将特定于post的代码包装在条件中 即使页面未发布,您也在执行post处理代码块。处理post操作的代码必须包装在if条件下,该条件检查post数组是否为empy

2.仅在设置错误变量时显示它们 Error VRAIBALE在未发布页面时,未设置表单中使用的
$nameerr
$collegeerr
等标签。因此,您必须仅在设置它们时显示它们。将它们包装在
if(isset())
条件下

3.移除无用的管线 正如巴默在评论中所说,像
$name$学院无效。它们不起变量声明的作用。您可以删除它们

4.打开错误报告 您没有看到这些错误,因为您可能已经在php.ini中关闭了错误报告。最好打开它,因为它对调试代码有很大帮助。您可以通过转到php.ini并在上设置
display\u errors
property来实现这一点

代码


在您的
action=”“
中,给出包含PHP代码行的页面路径,如
$name
什么都不要做,应该是
echo$name。确保启用了“显示错误”?看起来他正在使用相同的脚本来显示和处理表单。如果将操作保留为空,则这是默认值。如果省略列列表,则会使用表定义中的列。如果出现问题,则会执行
或die()
代码。此外,如果文本中没有变量或是POST变量的名称,则应使用单引号。
 <?php
  $collegeerr = $nameerr = '';
  if(isset($_POST) && !empty($_POST)) {
            $name = ''; 
            $college = '';
            if(empty($_POST["name"])){
                $nameerr="NAME IS REQUIRED";
            }
            else{
                $name=$_POST["name"];
            }
            $course=$_POST["course"];
            if(empty($_POST["college"])){
                $collegeerr="NAME OF COLLEGE IS REQUIRED";
            }else{
                $college=$_POST["college"];
            }
            $email=$_POST["email"];
            $abc=mysqli_connect('localhost','root','','generalinfo') or die('ERROR:COULD NOT          CONNECT TO DATABASE');
            $query="INSERT INTO studentinfo(name, course, college, email) VALUES ('$name','$course','$college','$email')";
            $final=mysqli_query($abc,$query) or die('ERROR ENTERING THE DATA IN DATABASE');
            mysqli_close($abc);
            echo'THANKYOU FOR SUBMITTING THE FORM';
        }
    ?>
<!doctype html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style1.css">
        </head>
    <body>
    <?php       
        if(!empty($_POST)) {
        
            if(empty($_POST["name"])){
                $nameerr="NAME IS REQUIRED";
            }
            else{
                $name=$_POST["name"];
            }
            $course=$_POST["course"];
            if(empty($_POST["college"])){
                $collegeerr="NAME OF COLLEGE IS REQUIRED";
            }else{
                $college=$_POST["college"];
            }
            if(!isset($nameerr) && !isset($collegeerr)){
                $email=$_POST["email"];
                $abc=mysqli_connect('localhost','root','','test') or die('ERROR:COULD NOT          CONNECT TO DATABASE');
                $query="INSERT INTO studentinfo VALUES ('$name','$course','$college','$email')";
                $final=mysqli_query($abc,$query) or die('ERROR ENTERING THE DATA IN DATABASE');
                mysqli_close($abc);
                echo 'THANKYOU FOR SUBMITTING THE FORM';
            }
        }
    ?>
    <div id="b">
        <form action=""  method="post">
            <label for="name"><div id="a">name</div></label>
            <input type="text" name="name"></br>
            <div id="c"><?php if(isset($nameerr)) echo $nameerr; ?></div>
            <label for="course"><div id="a">course</div></label>
            <input type="text" name="course"></br>
            <label for="email"><div id="a">email</div></label>
            <input type="text" name="email"></br>
            <label for="college"><div id="a">college</div></label>
            <input type="text" name="college"></br>
            <div id="d"><?php if(isset($collegeerr)) echo $collegeerr; ?></div>
            <input type="submit" value="submit" name="sub"></br>
        </form>
    </div>
    </body>
</html>