사람들이 로그인하기 위해 로그인해야하는 양식을 작성 중입니다. 로그인과 세션 재 연결이 정상적으로 작동합니다. 책과 포럼의 세션에서 수백 가지 변형을 시도해 보았습니다. 원하지 않는 것처럼 보입니다. 너무 단순 해 보입니다. 이것은 이전 페이지의 코드입니다.다른 페이지에서 PHP 세션이 작동하지 않습니다.
<?php
include("setting.php");
$sql="SELECT * FROM $tbl_namem";
$result=mysql_query($sql);
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
// To protect MySQL injection
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_namem WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_start();
$_SESSION["myusername"];
$_SESSION["mypassword"];
header("location: login_success.php");
}
else {
echo "Wrong Username or Password Please Try Again";
}
?>
사용자 이름과 암호가 유효한지 확인하려면 다음 두 페이지를로드하고 싶습니다.
페이지 하단에'session_start();'를 삽입하십시오. 이'$ _SESSION [ "myusername"]; 그리고 다른 하나는 아무 것도 할당받지 못하면 어떤 일도하지 않습니다. '$ _SESSION [ "myusername"] = $ _ POST [ 'myusername']; ' –
다음 페이지의 코드를 볼 수 있습니까? – Aust
암호를 일반 텍스트로 저장하고있는 것을 확인했습니다. 분명히 '아니오'입니다. 그것들은 prepared statement 나 PDO로 mysqli_ * 대신에 mysql_ * 함수와 혼합되어 재앙과 동일 할 것이다. –