-1

バーコード チケット システムのバリデータ スクリプトを作成しています。データベースに対してバーコード番号を確認する必要があります。バーコードの最初の 7 桁が顧客 ID、最後の 4 桁が座席 ID です。

例えば:

12345671234
^^^^^^^--Customer ID
       ^^^^-- Seat ID

バーコード スキャナーを使用してバーコードをスキャンすると、バーコード全体が 1 つの入力ボックスに書き込まれるため、データベースから適切なデータを取得するには、その 1 つの入力でこれら 2 つの値を分離する必要があります。

その今のような:

<form action="validator.php" method="post">
Customer ID: <input id="uuid" name="uuid" maxlength="7"><br>
Seat:       <input id="hash" name="hash" maxlength="4">

次のようにする必要があります。

Barcode: <input id="barcode" name="barcode" maxlength="11"><input  type="submit">

<input  type="submit">
</form>

そしてPHP側

<?php

$uuid = $_POST['uuid'];
$hash = $_POST['hash'];




    $con=mysqli_connect("localhost","admin","321","db_name");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

    $result = mysqli_query($con,"SELECT * FROM seat_booking_bookings
    WHERE uuid ='$uuid'");

    while($row = mysqli_fetch_array($result))
      {
      echo $row['customer_name'] . " " . $row['customer_phone'];
      echo "<br>";
      }

      $result = mysqli_query($con,"SELECT * FROM seat_booking_bookings_seats
    WHERE hash ='$hash'");

      while($row = mysqli_fetch_array($result))
      {
       echo "Seat:";
      echo $row['seat_id'] . " " . $row['price'];

      }
    ?>

ご助力いただきありがとうございます。

4

4 に答える 4

1
$uuid = substr($_POST['barcode'], 0, 7);  
$hash = substr($_POST['barcode'], 7, 4);  
于 2013-04-05T16:51:29.603 に答える
0

クエリに AND ステートメントを追加するだけです。2 つの値に基づいて検証しようとしていますね。

$result = mysqli_query($con,"SELECT * FROM seat_booking_bookings 
WHERE uuid ='{$uuid}' AND hash ='{$hash}'");

ただし、SQL インジェクションを防ぐには、最初に値をエスケープする必要があります。したがって、これはより良いでしょう:

$uuid = mysql_real_escape_string($uuid);
$hash = mysql_real_escape_string($hash);

$result = mysqli_query($con,"SELECT * FROM seat_booking_bookings 
WHERE uuid ='{$uuid}' AND hash ='{$hash}'");
于 2013-04-05T16:54:34.053 に答える
-1
$uuid = substr($_POST['barcode'],0,7);
$hash = substr($_POST['barcode'],7,4);

これがあなたが探しているものだと思います...

于 2013-04-05T16:48:35.770 に答える