1

PHPを使用してMySQLに挿入していますが、コードは通過しますが、データベースにクエリを実行すると、データベースに何も見つかりません。何が起こっているのか理解できません。Dbに5つのフィールド(ID、ユーザー名、メール、パスワード、ソルト)があります。以下は私のPHPコードです。

<?php
include 'db_connect.php';
include 'functions.php';

$password = $_POST['password']; 

$random_salt = hash('sha512', uniqid(mt_rand(1, mt_getrandmax()), true));

$password = hash('sha512', $password.$random_salt);
if ($insert_stmt = $mysqli->prepare("INSERT INTO members (username, email,  
password,salt) VALUES (?, ?, ?, ?)"))

{    
$insert_stmt->bind_param('ssss', $username, $email, $password, $random_salt); 

$insert_stmt->execute();
echo 'User added';       
}
else
{
echo 'Error couldnt add the user, Try again';
}

?> 

以下は登録に使用した私のフォームです。

 <form id="form1" name="form1" method="post" action="Registration Process.php">
  <table width="373" height="130" border="1">
    <tr>
      <td width="180" height="27">Username (Name &amp; Surname)</td>
      <td width="140"><label for="username"></label>
      <input type="text" name="username" id="username" /></td>
    </tr>
    <tr>
      <td height="23">Email</td>
      <td><label for="email"></label>
      <input type="text" name="email" id="email" /></td>
    </tr>
    <tr>
      <td height="22">Password</td>
      <td><label for="password"></label>
      <input type="text" name="password" id="password" /><label for="salt">    </label> </td>
    </tr>
    <tr>
      <td height="22">Salt</td>
      <td><input type="text" name="salt" id="salt" /></td>
    </tr>
    <tr>
      <td height="22">Click To register member</td>
      <td><input type="submit" name="register" id="register" value="Submit" /></td>
    </tr>
  </table>
  <p>&nbsp;</p>
  <!-- end .content -->
</form>
4

1 に答える 1

1

コード内の配列から$username$emailおよびその他の変数を取得していない可能性があります。POST

さらに、$insert_stmt->execute()関数でエラーをキャッチしていません。詳細については、このページの例3を参照してください。

于 2013-02-05T08:48:06.530 に答える