0

ランダムな登録キーを作成してデータベースに保存するプログラムを作成しようとしています。ユーザー/顧客が既に登録コードを持っている場合、「else」をクリックすると、データベースに保存されているキーがテキスト ボックスに表示され、新しいキーが生成されます。キーをデータベースに保存します。問題は、キーをデータベースに保存できないことです。私のコードは次のとおりです。

<?php

if (isset($_POST['keygen'])){
$customer_no = $_POST['customer_no'];
$result = mysql_query("SELECT * FROM customer WHERE customer_no = '$customer_no'");
$row = mysql_fetch_array($result);
$keyString = $row['key'];
if($keyString == ""){
$keyString = generateRandomString();
$query = "UPDATE 'customer' SET key ='$keyString' WHERE customer_no = '$customer_no'";
mysql_query($query);
echo $keyString;
}

else{
echo $keyString;
}   

 }

function  generateRandomString($length = 8) {

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randomString = '';
for ($i = 0; $i < $length; $i++) {
    $randomString .= $characters[rand(0, strlen($characters) - 1)];
}
return $randomString;
}

?>

これは私のHTMLです:

    <div id="content" class="box2">
        <div class="login">
        <form action="" method="post" style="margin:12px;">
        <table class="nostyle">
        <tr>
        <td align="center">
        <label style="font-size:16px;"><strong>Customer ID: </strong></label>
        <select name="customer_no">
    <?php $result_customer= mysql_query('SELECT customer_no FROM customer ORDER BY customer_no'); ?>
    <?php while($row_customer= mysql_fetch_assoc($result_customer)) { ?>
    <option <?php if ($row_customer['customer_no']=='') { ?> selected="selected"<?php } ?>> <?php echo htmlspecialchars($row_customer['customer_no']); ?> </option>
    <?php } ?>
  </select>
        </td>
        </tr>
        <tr>
        <td align="center"><label style="font-size:16px;"><br /><strong>Register Key: </strong></label>
        <input type="text" id="key" class="input-text" name="key" size="20" align="middle" value = " <?=$row["key"];?>"></td>
        </tr>
        <td align="center"><br /><input type="submit" id="keygen" class="input-submit" name="keygen" value="Generate" onclick=""/>
        </td>
        </tr>
        </table>
        </form>
        </div>
     </div>

私は初心者で、コードについてよくわかりません。助けてください!

4

1 に答える 1

0

最初に mysqli_connect を実行する必要があります。http://php.netを見てください。また、mysqli_ 関数を使用する必要があります。mysql_ 関数は新しいバージョンの php では非推奨になっているためです。

于 2013-08-23T12:45:08.003 に答える