PHP 응용 프로그램을 개발 중이며 세션 값을 유지하는 데 문제가 있습니다. 나는 사이드 바 (sidebar.php)와 홈 페이지 (home.php) 인 두 개의 파일을 가지고있다. 홈 페이지에 사이드 바를 포함 시켰습니다. 사이드 바에 로그인 컨트롤이있어 성공적으로 로그인 할 수 있습니다. 나는 그것이 내게 환영 메시지 인 'username'을 보여주기 때문에 성공적으로 로그인 한 것을 안다. 그러나 홈 페이지로 이동하면 환영 값인 '사용자 이름'부분은 세션 값이 삭제됨에 따라 표시되지 않습니다. 대신 로그인 양식이 표시됩니다. 왜 그런가요? php - 다른 페이지로 이동할 때 세션 값을 유지할 수 없습니다.
이
은 (sidebar.php)<?php require_once('connections.php'); ?>
<?php
// if the login button is clicked
if (isset($_POST['btnLogin']))
{
$myusername=$_POST['textusername'];
$mypassword=$_POST['textpassword'];
$result=mysql_query("SELECT * FROM users_table WHERE username='$myusername' and password='$mypassword'");
$count=mysql_num_rows($result);
if($count>=1)
{
$_SESSION['username'] = $row["username"] ;
$_SESSION['userid']= $row["ID"];
}
else
{
//Any code here
}
}
?>
<div class="col-md-12 right-aside">
<?php
if (isset($_SESSION['userid']))
{
echo Welcome : " . $_SESSION['username'];
echo " <a href='logout.php'> | Logout</a>";
}
else //if session is not set
{
echo 'Some html for login form';
}
?>
</div>
는 다음의 홈 페이지입니다 (home.php)
<?php include("head.php"); ?>
<body>
<div class="container container-body">
<div class="row">
<div class="col-md-9 main-content">
<div class="row">
<p>Some Text Here</p>
</div><!-- /.row -->
</div><!-- /.main-content -->
<div class="col-md-3">
<div class="row">
<?php include 'sidebar.php';?>
</div>
</div>
세션에 값을 넣기 전에 세션이 시작되지 않은 경우 세션을 시작하고 세션에 값을 넣으십시오. – user3470953
내가 할 때 그것은 다음과 같은 오류를 보여줍니다. 나는 그랬지만 사이드 바에 오류가 발생했습니다. 경고 : session_start() [function.session-start] : 세션 캐시 제한을 보낼 수 없습니다 - 이미 보낸 헤더 (C : \ xampp \ htdocs \ trialphp \ head.php : 38에서 출력 시작) head.php는 기본적으로 CSS와 스크립트 파일을 가져 와서 home.php에 가져 왔습니다. 그것은 오직 일부만 논한다
일부 CSS 및 일부 스크립트 – EngAbth9일반 텍스트 비밀번호로 작업하는 데 익숙해지지 마십시오. 먼저 강력한 해싱/암호화 (md5가 아니라 소금이 아님)를 관리해야한다고 생각합니다. 'mysql_'은 비추천이고, 문자열은 이스케이프하지 않으며,'session_start()'도 없습니까? – DanFromGermany