如何验证下拉列表并将其保存在数据库中,并且代码未显示错误

时间:2019-06-17 21:38:49

标签: java php html database

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;
        }

`

2 个答案:

答案 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"];