$_SESSION変数を使用して、ユーザーのログイン資格情報が保存され、データベースからの関連データを画面に表示するために使用されるログインプロセスを構築しようとしています(つまり、彼らが働いている学校のデータのみが表示されます) )。
<?php
session_start();
if(!isset($_SESSION['Initials'], $_SESSION['Surname']))
{
$host = "xxx";
$username = "xxx";
$password = "xxx";
$database_name = "xxx";
$table_name = "xxx";
mysql_connect($host, $username, $password) OR die("Can't
connect");
mysql_select_db($database_name) OR die("Can't connect to
Database");
$query = "SELECT Class FROM $table_name WHERE Initials = '".
$_SESSION['Initials']."' AND staff LIKE '%".$_SESSION['Surname']."'";
$result = mysql_query($query);
$class = mysql_fetch_array($result);
$count = mysql_num_rows($result);
if($count === NULL)
{
echo "ERROR";
}
else
{
$_SESSION['Class'] = $result;
echo "Class added to sessions";
}
}
?>
クエリがセッション変数を認識できないという最初の問題は、if ステートメントに正しい括弧を追加することで簡単に解決できました。ここで発生した次の問題は、クエリは成功するはずですが ($count が FALSE または NULL の場合、「エラー」というエラー メッセージは表示されません)、結果の配列を新しいセッションに作成していないことです。セッション配列を新しいページに印刷すると、「イニシャル」と「姓」のセッションのみが引き継がれるためです。
その配列 (複数の結果をスローすることがバインドされているため) を新しいセッションにするために、クエリまたはクエリ後のプロセスに何を変更する必要がありますか?
私の最初の問題への回答に感謝します!