Okey。我创建表单,一些php代码将其保存在数据库中。很好 我对此有疑问: -当用户让输入为空时,代码不显示错误。 -如何验证选择表单,以便用户必须选择一个表单,以及如何与其他表单一起保存该选择,我认为数据库列类型存在问题。
例如,如果我选择了名称为“ bikes”的自行车,并且有10辆自行车的列表,那么如何验证它们,以便用户必须从列表中选择一辆自行车,以及如何将其选择存储在数据库中,哪里出了错误?因为当用户让输入为空时代码不会显示错误。就像我说过的那样,当用户将信息放入输入区域程序时,可以将其保存在基数中,但是使用时让输入为空不会出错。
对不起,我的英语不好。
这是代码,我希望您能理解,因为cuz变量不是英文。
<?php
// Initialize the session
session_start();
// Check if the user is logged in, if not then redirect him to login
page
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
header("location: login.php");
exit;
}
?>
<?php
if(!empty($_POST["send"])) {
$imeKor = $_POST["imeKor"];
$prezimeKor = $_POST["prezimeKor"];
$brojTelefonaKor = $_POST["brojTelefonaKor"];
$godineKor = $_POST["godineKor"];
$emailKor = $_POST["emailKor"];
$conn = mysqli_connect("localhost", "root", "", "it210Projekat") or
die("Connection Error: " . mysqli_error($conn));
mysqli_query($conn, "INSERT INTO bazarezervisanihvozila (imeKor,
prezimeKor,brojTelefonaKor,godineKor, emailKor) VALUES ('" . $imeKor.
"', '" . $prezimeKor. "','" . $brojTelefonaKor. "','" . $godineKor.
"', '" . $emailKor."')");
$insert_id = mysqli_insert_id($conn);
//if(!empty($insert_id)) {
$uspesnaPoruka1 = "Uspesno ste rezervisali vozilo!.";
$type = "Uspesno";
//}
}
require_once "pocetna.php";
?>
<script src="https://code.jquery.com/jquery-2.1.1.min.js"
type="text/javascript"></script>
<script type="text/javascript">
function validateReservation() {
var valid = true;
$(".info").html("");
$(".input-field").css('border', '#e0dfdf 1px solid');
var imeKor = $("#imeKor").val();
var prezimeKor = $("#prezimeKor").val();
var brojTelefonaKor = $("#brojTelefonaKor").val();
var godineKor = $("#godineKor").val();
var emailKor = $("#emailKor").val();
if (imeKor == "") {
$("#imeKor-info").html("Ovo polje ne moze biti prazno.");
$("#imeKor").css('border', '#e66262 1px solid');
valid = false;
}
if (prezimeKor == "") {
$("#prezimeKor-info").html("Ovo polje ne moze biti prazno.");
$("#prezimeKor").css('border', '#e66262 1px solid');
valid = false;
}
if (brojTelefonaKor == "") {
$("#brojTelefonaKor-info").html("Ovo polje ne moze biti prazno.");
$("#brojTelefonaKor").css('border', '#e66262 1px solid');
valid = false;
}
if (!brojTelefonaKor.match(/^\d*$/.test(value))
{
$("#brojTelefonaKor-info").html("Broj telefona nije validan.");
$("#brojTelefonaKor").css('border', '#e66262 1px solid');
valid = false;
}
if (godineKor == "") {
$("#godineKor-info").html("Ovo polje ne moze biti prazno.");
$("#godineKor").css('border', '#e66262 1px solid');
valid = false;
}
if (!godineKor.match(/^\d*$/.test(value))
{
$("#brojTelefonaKor-info").html("Godine nisu validne.");
$("#brojTelefonaKor").css('border', '#e66262 1px solid');
valid = false;
}
if (emailKor == "") {
$("#emailKor-info").html("Ovo polje ne moze biti prazno.");
$("#emailKor").css('border', '#e66262 1px solid');
valid = false;
}
if (!emailKor.match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/))
{
$("#emailKor-info").html("Email adresa nije validna.");
$("#emailKor").css('border', '#e66262 1px solid');
valid = false;
}
return valid;
}
<body>
<div class="form-container">
<form name="frmContact1" id="" frmContact1"" method="post"
action="" enctype="multipart/form-data"
onsubmit="return validateReservation()">
<div class="input-row">
<label style="padding-top: 20px;">Ime</label> <span
id="imeKor-info" class="info"></span><br /> <input
type="text" class="input-field" name="imeKor"
id="imeKor" />
</div>
<div class="input-row">
<label>Prezime</label> <span id="prezimeKor-info"
class="info"></span><br /> <input type="text"
class="input-field" name="prezimeKor" id="prezimeKor" />
</div>
<div class="input-row">
<label>Broj telefona</label> <span id="brojTelefonaKor-info"
class="info"></span><br /> <input type="text"
class="input-field" name="brojTelefonaKor" id="brojTelefonaKor" />
</div>
<div class="input-row">
<label>Godine</label> <span id="godineKor-info"
class="info"></span><br /> <input type="text"
class="input-field" name="godineKor" id="godineKor" />
</div>
<div class="input-row">
<label>Email</label> <span id="emailKor-info"
class="info"></span><br /> <input type="text"
class="input-field" name="emailKor" id="emailKor" />
</div>
<select name="izborMotoraKor">
<option value="0">Izaberite motor</option>
<option value="1">MOTOWELL CROGEN CITY</option>
<option value="2">MOTOWELL CROGEN RS2</option>
<option value="3">ASR Aprilia</option>
<option value="4">Beneli Velvet</option>
<option value="5">MOTOWELL CROGEN RS3</option>
<option value="6">Yamaxa XMAS</option>
<option value="7">Sprint Grizzy 125</option>
<option value="8">Sprint Explorer</option>
</select>
<div>
<input type="submit" name="send" class="btn-submit"
value="Posalji" />
<div id="statusMessage">
<?php
if (! empty($poruka)) {
?>
<p class='<?php echo $type; ?>Poruka'><?php echo $uspesnaPoruka1; ?></p>
<?php
}
?>
</div>
</div>
</form>
</div>
`
$izborMotoraKor = $_POST["izborMotoraKor"]; mysqli_query($conn, "INSERT
INTO
bazarezervisanihvozila (imeKor, prezimeKor,brojTelefonaKor,godineKor,
emailKor,
izborMotoraKor) VALUES ('" . $imeKor. "', '" . $prezimeKor. "','" .
$brojTelefonaKor. "','" . $godineKor. "', '" . $emailKor."', '" .
$izborMotoraKor"')");
if (izborMotoraKor == "") {
$("#izborMotoraKor-info").html("Ovo polje ne moze biti
prazno.");
$("#izborMotoraKor").css('border', '#e66262 1px solid');
valid = false;
}
`
答案 0 :(得分:1)
您可以指定输入为必填。这是每个可能输入的html sintax。如果未选择任何必需的输入,选择和单选框,则表单将不会执行。
选择必填
<select required>
<option value="">None</option>
<option value="volvo">Volvo</option>
...
</select>
需要输入
<input type="text" name="usrname" required>
单选按钮。要对单选按钮进行分组,请使用相同的名称属性。这样一来,一次只能选择一个,并应用于整个组
Select Gender:
<label><input type="radio" name="gender" value="male" required>Male</label>
<label><input type="radio" name="gender" value="female">Female</label>
必填的代码段
<form>
<select required oninvalid="this.setCustomValidity('Chose Car')" oninput="this.setCustomValidity('')" >
<option value="">None</option>
<option value="volvo">Volvo</option>
</select>
<br>
<input type="text" name="usrname" required oninvalid="this.setCustomValidity('Enter Username')" oninput="this.setCustomValidity('')" >
<br>
Select Gender:
<label><input type="radio" name="gender" value="male" required oninvalid="this.setCustomValidity('Chose Gender')"
oninput="this.setCustomValidity('')" >Male</label>
<label><input type="radio" name="gender" value="female">Female</label>
<br>
<input type="submit" value="submit">
</form>
您应该始终为注射安全性使用preparedStatement声明。这是将您的输入存储在数据库中的php代码。
// Create connection
$conn = new mysqli("localhost", "root", "", "it210Projekat");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// set parameters
if(!empty($_POST["send"])) {
$imeKor = $_POST["imeKor"];
$prezimeKor = $_POST["prezimeKor"];
$brojTelefonaKor = $_POST["brojTelefonaKor"];
$godineKor = $_POST["godineKor"];
$emailKor = $_POST["emailKor"];
$izborMotoraKor = $_POST["izborMotoraKor"];
}
// prepare, bind and execute
$stmt = $conn->prepare("INSERT INTO bazarezervisanihvozila (imeKor, prezimeKor,brojTelefonaKor,godineKor, emailKor, izborMotoraKor) VALUES (? , ? , ? , ? , ? , ?)");
$stmt->bind_param("ssiiss", $imeKor, $prezimeKor, $brojTelefonaKor, $godineKor, $emailKor, $izborMotoraKor);
$stmt->execute();
$stmt->close();
$conn->close();
?>
如果使用整数并且第一个数字为0(例如067223212),它将不会保存在数据库中(数据库将保存67223221)。
答案 1 :(得分:0)
您可以像其他表单输入一样,在PHP脚本中获取值。
$izborMotoraKor = $_POST["izborMotoraKor"];