Php form filling mySQL table rows with 1's


Php form filling mySQL table rows with 1's

所以我正在为一个学校项目制作一个投诉页面。我从一个简单的PHP表单开始,它一直有效,直到我添加了

if(isset($_POST['submit'])){ PHP code to be executed here }

这已经不起作用了。所以我决定把那条线全部去掉;现在,每当我提交任何表单时,它都会在我的MYsql表中填充1,即使我正在用文本填充表单的文本框。我不知道这是否是mySQL配置中的问题,我有另一个表单也遇到了同样的问题。

我将在下面更详细地描述这个问题。

我的"Klacht"表目前的样子(对不起我的链接问题。我不能发布图片,因为我没有超过10个代表。)

http://i.gyazo.com/6589558c59c4955f5cd48c335d79bdac.png

的结构

http://gyazo.com/51ab9d9184a4beb2197ce41f0b98b35b

我的表单代码是一个.php文件,按下提交按钮时不会预览我的php代码。它只是回显信息

<!DOCTYPE html>
<html lang="nl">
    <head>
        <title>Prototype</title>
    </head>       
    <body>
      <h3>Klacht test</h3>    
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <br />Test nummer: <input type="text" name="Nr">
            <br />Postcode<input type="text" name="Postcode">
             <br />Datum<input type="Date" name="Datum"> 
             <br />Tijd<input type="text" name="Tijd" >
             <br />Soort klacht
                        <select name="Soort">
                            <option value="    "></option>
                            <option value="Geluid">Geluid</option>
                            <option value="Milieu">Milieu</option>
                            <option value="Veiligheid">Veiligheid</option>
                        </select>
                <!-- Submit button -->
                <br /><input type="submit" value="Versturen">  
                <input type="reset" value="Reset">
        </form>
   </body>
  <?php 
    mysql_connect("localhost", "root", "") or die ("Could not connect to database");
    mysql_select_db("schiphol") or die("could not select database");
    $Nr = isset($_POST["Nr"]);
    $Postcode = isset($_POST["Postcode"]);
    $Datum = isset($_POST["Datum"]);
    $Tijd = isset($_POST["Tijd"]);
    $Soort = isset($_POST["Soort"]);
    $query = ("INSERT INTO klacht (Nr, Postcode, Datum, Tijd, Soort)
    VALUES ('$Nr', '$Postcode', '$Datum', '$Tijd', '$Soort')");
    $resultaat = mysql_query($query) or die (mysql_error( ));
    if($resultaat) echo "Uw klacht is toegevoegd" ; else echo "ERROR";

    ?>
</html>

所以。。我做错了什么?正如我上面提到的,另一种形式正遭受同样的问题。它曾经有效,但现在不行了。

提前谢谢。

您在isset()上的问题返回0或1

您使用破解代码

<input type="submit" value="Versturen">

但您忘记提及名称

<input type="submit" name="submit" value="Versturen">

试试这个它会起作用

<!DOCTYPE html>
<html lang="nl">
<head>
    <title>Prototype</title>
</head>       
<body>
  <h3>Klacht test</h3>    
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
        <br />Test nummer: <input type="text" name="Nr">
        <br />Postcode<input type="text" name="Postcode">
         <br />Datum<input type="Date" name="Datum"> 
         <br />Tijd<input type="text" name="Tijd" >
         <br />Soort klacht
                    <select name="Soort">
                        <option value=""></option>
                        <option value="Geluid">Geluid</option>
                        <option value="Milieu">Milieu</option>
                        <option value="Veiligheid">Veiligheid</option>
                    </select>
            <!-- Submit button -->
            <br /><input type="submit" name="submit" value="Versturen">  
            <input type="reset" value="Reset">
    </form>
   </body>
   <?php 
if(isset($_POST['submit'])){
echo "<pre/>";
print_r($_POST);
//die;

mysql_connect("localhost", "root", "") or die ("Could not connect to database");
mysql_select_db("schiphol") or die("could not select database");
$Nr = $_POST["Nr"];
$Postcode = $_POST["Postcode"];
$Datum = $_POST["Datum"];
$Tijd = $_POST["Tijd"];
$Soort = $_POST["Soort"];
$query = ("INSERT INTO klacht (Nr, Postcode, Datum, Tijd, Soort) VALUES ('$Nr', '$Postcode', '$Datum', '$Tijd', '$Soort')");
echo $query;
$resultaat = mysql_query($query) or die (mysql_error( ));
if($resultaat) echo "Uw klacht is toegevoegd" ; else echo "ERROR";
}
?>

你好,我想你的问题是isset()函数。实际上isset()函数将返回一个基于1或0的布尔值。因此,请在没有isset()的情况下更新您的php部分,如下所示,然后尝试。
<?php 
mysql_connect("localhost", "root", "") or die ("Could not connect to database");
mysql_select_db("schiphol") or die("could not select database");
$Nr =$_POST["Nr"];
$Postcode =$_POST["Postcode"];
$Datum = $_POST["Datum"];
$Tijd = $_POST["Tijd"];
$Soort = $_POST["Soort"];
$query = ("INSERT INTO klacht (Nr, Postcode, Datum, Tijd, Soort)
VALUES ('$Nr', '$Postcode', '$Datum', '$Tijd', '$Soort')");
$resultaat = mysql_query($query) or die (mysql_error( ));
if($resultaat) echo "Uw klacht is toegevoegd" ; else echo "ERROR";

?>
$var = is set($_POST['some_var']); // this will just return a 1 to $var if the post variable is set

试试这个

if(isset($_POST['var'])){ $db_var = $_POST['var'];}

以下if(isset($_POST['submit'])){ PHP code to be executed here }不起作用,因为您没有为按钮命名

<input type="submit" value="Versturen">

正如@Azeez Kallayi所指出的,isset()返回布尔值。

试试这个:

<?php 
if(isset($_POST["Nr"],$_POST["Postcode"],$_POST["Datum]",$_POST["Tijd"],$_POST["Soort"])){
    mysql_connect("localhost", "root", "") or die ("Could not connect to database");
    mysql_select_db("schiphol") or die("could not select database");
    $Nr = mysql_real_escape_string($_POST["Nr"]);
    $Postcode = mysql_real_escape_string($_POST["Postcode"]);
    $Datum = mysql_real_escape_string($_POST["Datum"]);
    $Tijd = mysql_real_escape_string($_POST["Tijd"]);
    $Soort = mysql_real_escape_string($_POST["Soort"]);
    $query = ("INSERT INTO klacht (Nr, Postcode, Datum, Tijd, Soort)
               VALUES ('$Nr', '$Postcode', '$Datum', '$Tijd', '$Soort')");
    $resultaat = mysql_query($query) or die (mysql_error( ));
    if($resultaat) echo "Uw klacht is toegevoegd" ; else echo "ERROR";
}else{?>
<!DOCTYPE html>
<html lang="nl">
    <head>
        <title>Prototype</title>
    </head>       
    <body>
      <h3>Klacht test</h3>    
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <br />Test nummer: <input type="text" name="Nr">
            <br />Postcode<input type="text" name="Postcode">
             <br />Datum<input type="Date" name="Datum"> 
             <br />Tijd<input type="text" name="Tijd" >
             <br />Soort klacht
                        <select name="Soort">
                            <option value="    "></option>
                            <option value="Geluid">Geluid</option>
                            <option value="Milieu">Milieu</option>
                            <option value="Veiligheid">Veiligheid</option>
                        </select>
                <!-- Submit button -->
                <br /><input type="submit" value="Versturen">  
                <input type="reset" value="Reset">
        </form>
   </body>
</html>
<?php}?>

<?php 
if(isset($_POST["Nr"],$_POST["Postcode"],$_POST["Datum]",$_POST["Tijd"],$_POST["Soort"])){
    mysql_connect("localhost", "root", "") or die ("Could not connect to database");
    mysql_select_db("schiphol") or die("could not select database");
    $Nr = mysql_real_escape_string($_POST["Nr"]);
    $Postcode = mysql_real_escape_string($_POST["Postcode"]);
    $Datum = mysql_real_escape_string($_POST["Datum"]);
    $Tijd = mysql_real_escape_string($_POST["Tijd"]);
    $Soort = mysql_real_escape_string($_POST["Soort"]);
    $query = ("INSERT INTO klacht (Nr, Postcode, Datum, Tijd, Soort)
               VALUES ('$Nr', '$Postcode', '$Datum', '$Tijd', '$Soort')");
    $resultaat = mysql_query($query) or die (mysql_error( ));
    if($resultaat) echo "Uw klacht is toegevoegd" ; else echo "ERROR";
}else{?>
<!DOCTYPE html>
<html lang="nl">
    <head>
        <title>Prototype</title>
    </head>       
    <body>
      <h3>Klacht test</h3>    
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <br />Test nummer: <input type="text" name="Nr">
            <br />Postcode<input type="text" name="Postcode">
             <br />Datum<input type="Date" name="Datum"> 
             <br />Tijd<input type="text" name="Tijd" >
             <br />Soort klacht
                        <select name="Soort">
                            <option value="    "></option>
                            <option value="Geluid">Geluid</option>
                            <option value="Milieu">Milieu</option>
                            <option value="Veiligheid">Veiligheid</option>
                        </select>
                <!-- Submit button -->
                <br /><input type="submit" value="Versturen">  
                <input type="reset" value="Reset">
        </form>
   </body>
</html>
<?php}?>