我的表格分为2页。
步骤1是在数据库中搜索dublicate,如果没有dublicates ..您将被发送到第二页。在第二页中,您搜索的是禁用的表单输入。所以你不能编辑它。但问题是这个输入不会被提交到数据库,我得到一个错误。
第1页:
<form class="form-horizontal" id="form" method="POST">
<fieldset>
<!-- Appended Input-->
<div class="form-group">
<div class="col-md-12">
<div class="input-group">
<input type="search" id="hiddenField" name="SkoleNavn" class="form-control input-lg" placeholder="f.eks. Aarhus Universitet" required="">
<span class="input-group-btn">
<button class="btn btn-primary btn-lg ladda-button" data-style="zoom-out" data-size="l" type="submit"><span class="ladda-label glyphicon glyphicon-search"></span></button>
</span>
</div>
</div>
</div>
</fieldset>
</form>
<?php
if(isset($_POST['SkoleNavn'])) {
if ( $schoolExist ) {
echo "";
}
else {
echo "<form action=\"http://localhost/Vurderskole/add-step2.php\" method=\"POST\">
<input id=\"SkoleNavn\" name=\"SkoleNavn\" type=\"hidden\" value=\"$SkoleNavn\" class=\"form-control input-md\">
<button class=\"btn btn-primary btn-lg ladda-button\" data-style=\"zoom-out\" data-size=\"l\" type=\"submit\">Tilføj $SkoleNavn</button>
</form>
";
}
}
?>
第2页:
<!-- Navn -->
<div class="form-group">
<label class="col-md-4 control-label" for="SkoleNavn">Skole Navn</label>
<div class="col-md-4">
<input id="disabled" name="SkoleNavn" type="text" value="<?php echo $_POST['SkoleNavn']; ?>" class="form-control input-md" disabled>
</div>
</div>
Input.php
<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="**********"; // Database name
$tbl_name="*********"; // Table name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// Get values from form
$persNavn = $_POST['persNavn'];
$persMail = $_POST['persMail'];
$persTel = $_POST['persTel'];
$SkoleNavn = $_POST['SkoleNavn'];
$SkoleAdresse = $_POST['SkoleAdresse'];
$SkoleBy = $_POST['SkoleBy'];
$SkolePostNr = $_POST['SkolePostNr'];
// Insert data into mysql
$sql="INSERT INTO $tbl_name(SkoleNavn, persNavn, persMail, persTel, skoleAdresse, skolePostNr, skoleBy) VALUES
('$SkoleNavn','$persNavn','$persMail','$persTel','$SkoleAdresse','$SkolePostNr','$SkoleBy')";
$result=mysql_query($sql);
// if successfully insert data into database, displays message "Successful".
if($result){
echo "Tak For Din Ansøgning - Du vil modtage en mail på om din ansøgning er godkendt eller ej.";
}
else {
echo "Der er desværre sket en fejl. Prøv igen eller kontakt os for yderligere hjælp.";
}
?>
<?php
// close connection
mysql_close();
?>
编辑:添加了Check_input.php
<?php
if(isset($_POST['SkoleNavn']))
{
$SkoleNavn = $_POST['SkoleNavn'];
} else {
$SkoleNavn = "";
}
$res = mysql_query("SELECT * FROM school WHERE SkoleNavn='{$SkoleNavn}'");
if (!$res) {
die("error! " . mysql_error());
}
if (mysql_num_rows($res)) {
$schoolExist = true;
} else {
$schoolExist = false;
}
?>
我一直收到表单为空的错误。我究竟做错了什么?感谢。
答案 0 :(得分:0)
<input id="disabled" name="SkoleNavn" type="text" value="<?php echo $_POST['SkoleNavn']; ?>" class="form-control input-md" disabled>
不要使用“禁用”属性,而是使用“readonly”属性。
<input id="disabled" name="SkoleNavn" type="text" value="<?php echo $_POST['SkoleNavn']; ?>" class="form-control input-md" readonly/>
$ _ POST将从输入中获取没有任何内容的禁用属性,所以if(isset())在你的Check_input.php文件中会过去$ SkoleNavn =“”;
还会像这样更改所有$ _Post var,以防止查询错误'特殊字符'的原因为'。如果获得一些查询错误,则仍会打印成功消息但不向数据库添加任何内容
$persNavn = str_replace("'","''",$_POST['persNavn']);