안녕하세요 저는 만든 CMS에서 여러 사용자를 만들려고합니다. 나는 그들의 데이터를 모두 테이블에 가지고 있고 일치하는 레코드가 있다면 mysql_num_rows
을 사용하고 session_register()
을 사용하여 세션을 설정했다. PDO 명령으로 변경했습니다.
변경된 모든 레코드의 usrID가 첨부되도록 CMS를 사용할 때 사용자를 추적 할 수 있기를 원합니다. 나중에 업데이트를 만든 사람을보고 작성자 등에 대한 정보를 표시하는 데 사용할 수 있습니다.
예를 들어 양식을 사용하여 새 레코드를 업데이트하거나 추가 할 때 숨겨진 입력을 세션 ID 그들이 로그인 할 때 사용자 기록에서 가져온 echo'd가 표시됩니다.
가장 좋은 방법은 무엇입니까? 이 로그인 코드의 구문을 올바르게 작성 했습니까?
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD);
$sql="SELECT * FROM $tbl_name WHERE the_username='$the_username' and the_password='$the_password'";
$result = $con->prepare($sql);
$result->execute();
$number_of_rows = $result->fetchColumn();
if($number_of_rows==1){
$info = $result->fetch(PDO::FETCH_ASSOC);
$_SESSION['username'] = $info['the_username'];
$_SESSION['id'] = $info['id'];
header('Location: admin.php');
}else{
echo "Wrong username or password, please refresh and <a href=\"login.php\">try again.</a>";
}
넣는 것이 좋을까요?
if($number_of_rows==1 && $info = $result->fetch(PDO::FETCH_ASSOC)){MAKE SESSION}
우수 이것은 환상적이다. 나는 이것을 시험해 볼 것이다. 지금 어디서 잘못되었는지 알 수 있습니다. –
확인을 표시 한 후 여전히 $ _SESSION을 설정하지 않음을 보여줍니다. 이유는 모르겠지만 이것이 모든 브라우저에서 내 _mysql _ * _ code와 동일한 일이 발생하기 때문에 이것이 서버 문제라고 생각합니다. 모든 것은 모든 문자 앞에 전송됩니다. –