$ _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 일 때 'ERROR'라는 에러 메시지를받지 못한다.) 결과 배열을 새로운 세션으로 생성하지 않는다. 새 페이지에 세션 배열을 인쇄 할 때 '이니셜'및 '성'세션 만 수행하기 때문입니다.
여러 개의 결과를 던질 수 있기 때문에 배열에 대해 내 쿼리 또는 사후 쿼리 프로세스를 변경하려면 무엇이 필요합니까?
초기 문제에 대한 답변을 주셔서 감사합니다.
'if'문에 대한 코드 블록 주위에 중괄호가 누락되었습니다. 즉, 다음 문장은 조건부 일 뿐이며 나머지는 무엇이든 상관없이 실행됩니다. – JAL
내가 그런 작은 세부를 놓쳤다라고 생각할 수 없다! !! 고마워, 쿼리의 변수는 더 이상 인식되지 않지만 유감스럽게도 결국 새 세션 (클래스)이 생성되지 않습니다 ... ($ count 매개 변수와 관련이 있습니까?) –
mysqli 또는 PDO를 사용하십시오. – JAL