所以我正在为一个学校项目制作一个投诉页面。我从一个简单的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";
}
?>
<?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}?>