ユーザーがログインしてリストにアイテムを追加できるサイトがあります。
ユーザーがログインすると、セッションに電子メールが保存されます。これを使用して、ユーザーテーブルでユーザーを識別します。
次に、リストアイテムを入力し、IDとリストアイテムを含むリストテーブルに追加できます。
IDが追加されることもあれば、nullになることもあります(ただし、リストアイテムのテキストは常に追加されます)。ほとんどの場合IDが含まれているため、これは不安定に見えます。
何か案は?テーブルタイプはMyISAMです。ところで、私はプログラミングに不慣れです。
これが私のコードの例です:
<?php
session_start();
$item = $_REQUEST['item'];
$email = $_SESSION['email'];
if ($item)
{
mysql_connect("localhost","root","") or die("We couldn't connect!");
mysql_select_db("table");
$query = mysql_query("SELECT ID FROM users WHERE email='".$_SESSION['email']."'");
$result = mysql_result($query,0);
$user_id = $result;
mysql_query("INSERT INTO items (user_ID,item_name) VALUES('$user_id','$item')");
したがって、自分でサイトにログインしてテストするたびに、問題はありません。しかし、ますます、アイテムを追加しようとするユーザーがいて、item_nameは正しく表示されますが、user_IDは0(デフォルト)に設定されているレコードを作成します。