0

スクリプトをローカルで実行しています。

独自のフルネームで2つの異なるユーザー名を作成しました。
例:

  • User Oneという名前のフルネームを持つ最初のユーザー名User1、および
  • User2という名前の2番目のユーザー名とUserTwoという名前のフルネーム。

したがって、ユーザー名User1を使用してログインすると、システムはUser Oneという名前の本当のフルネームを検出しますが、ユーザー名User2を使用してログインすると、システムは依然としてUserOneとしても検出します

システムがデータベースから他人のフルネームを読み取れないようなものです。

以下の私のコード:

いつものように、それはセッションを持っています:

if (!isset($_SESSION)) {
  session_start();
}

これは、データベースに接続する宣言のコードです。

<?php
mysql_select_db($database_kiki, $kiki);
$query_Recordset1 = "SELECT name FROM `ahli`";
$Recordset1 = mysql_query($query_Recordset1, $kiki) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>

そして、これがログイン後にフルネームを印刷するための私のコードです。

Welcome, <?php echo $row_Recordset1['name']; ?>
4

2 に答える 2

2

クエリは次のようになります。

$query_Recordset1 = "SELECT name FROM `ahli` where `username`= 'User2'";
于 2012-08-04T17:13:57.310 に答える
2

クエリで正しい名前を選択していません。追加する必要があります:

$query_Recordset1 = "SELECT name FROM `ahli` where `username`= ".$_SESSION['username'];

これは、セッションでユーザーのユーザー名を保存していることを前提としています。

現在起こっていることは、すべてのユーザーをフェッチし、名前を1回だけ表示することです。User Oneは返される配列の最初であるため、常にUserOneが表示されます。

于 2012-08-04T17:20:48.060 に答える