Ben $ _SESSION değişkeni kullanarak benim web sitesinde bir PHP kimlik doğrulama sistemi var.
Bir form dosyası "login.php" için bir kullanıcı adı ve şifre gönderir. Bu gibi işlenir:
<?php include '../includes/sessionstart.inc.php'; ?>
<?php ob_start(); ?>
if($_POST){
$q = mysql_query("SELECT id, company FROM users WHERE username = '".mysql_real_escape_string($_POST['username'])."' AND password = '".md5($_POST['password'])."'");
if(mysql_num_rows($q) >= 1){
$f = mysql_fetch_Array($q);
$_SESSION['company'] = $f['company'];
$_SESSION['id'] = $f['id'];
$_SESSION['logedin'] = true;
session_write_close();
ob_clean();
header("Location: index.php");
}
Daha sonra, index.php yüklenen ve 'logedin' doğru olup olmadığını denetler edilir.
<?php include '../includes/sessionstart.inc.php'; ?>
<?php if(!isset($_SESSION['logedin'])) header('Location: login.php'); ?>
Benim üretim sunucusunda, o devam ediyor, ama benim WAMPServer üzerinde, geri login.php döner. Ben WAMPServer sayfa yükleme çok yavaş olduğunu fark, bu onunla bir şeyler yapmak zorunda kalabilirsiniz. Ben session_write_close dahil yüzden sayfalar açılır önce emin oturum verileri kaydedilir yapmak için, ama yardımcı olmuyor.
Session_start.inc.php içeriği sadece bulunmaktadır:
<?php
session_start();
?>
Ben orada daha fazla kod için kullanılan, ancak şu anda sadece bu var. Ben bir içerme dosyası kullanmaya başlamadan önce sorun da var.
Herkes ben ne yapıyorum yanlış bir fikir var mı? Neden WAMPServer sonraki PHP dosyası benim OTURUM veri iletimi değil mi?