Jump to content

php de web kullanıcı girişi için script


Recommended Posts

aşağıdaki scriptin web sayfasına girişte nasıl çalıştığını çözemedim.

yani if sorgusu nasıl çalışıyor. index sayfasına oturum açtıramadım. MSQL bağlantısı da tamam ama... olmadı işte..

bu konuda bilgisi olan arkadaşların yardımlarını bekliyorum.

-----------------------------------------------------------------------------------------------------------

login.php

------------------------------

<?

$md_pass = md5($pass);

$user_query = mysql_query("select * from a_users where username = '$user' and password = '$md_pass'");

$result_row_count = mysql_num_rows($user_query);

if ($result_row_count == '1')

{

session_start();

$username = $user;

session_register(username);

header ("Location: index.php");

}

else

{

header ("location: login.php?hata=1");

}

?>

------------------------------------------------------------------------------

BU DA DATABASE TABLOSU

----------------------------------------------------------------------------------

CREATE TABLE `a_users` (

`idx` int(11) NOT NULL auto_increment,

`username` varchar(255) NOT NULL default '',

`password` varchar(255) NOT NULL default '',

UNIQUE KEY `idx` (`idx`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

INSERT INTO `a_users` VALUES (1, 'ali', 'f899139df5e1059396431415e770c6dd');

INSERT INTO `a_users` VALUES (2, 'demo', 'fe01ce2a7fbac8fafaed7c982a04e229');

INSERT INTO `a_users` VALUES (3, 'serkan', 'ac756509286711ee86b74a43c0c1b587');

Link to comment
Share on other sites

Merhabalar aşağıdaki kodlara sahip sayfayı kullanabilmeniz için öncelikle değişken değerlerini almanız lazım

login.php yeniden düzenlenmiş halini yazıyorum,

<?

$md_pass = md5($_POST['pass']); // POST metodu ile giriş formu verisinden gelen parola bilgisini al ve md5 fonksiyonu ile şifrele

$user = $_POST['user']; // POST metodu ile kulanıcı adını al ve $user değişkenine ata

$user_query = mysql_query("select * from a_users where username = '$user' and password = '$md_pass'");
// gelen verilere göre veritabanında sorgulama yap
$result_row_count = mysql_num_rows($user_query); // sonucu döndür
// eğer çift kayıt yoksa ve gelen veriler veritabanı ile eşleşirse sonuç 1 olarak dönecektir.

if ($result_row_count == '1') // sonuç 1 olarak döndü
{

session_start(); // oturum için kullanılan session komutunu başlat ( çerez başlat )
$username = $user; // gelen kullanıcı adı bilgisi doğru olduğu için ilgili kullanıcı adını oturum kullanıcı adı olarak belirlenmek üzere $username değişkenine ata
session_register(username); // $username değişkenindeki kullanıcı adını oturum kapanana kadar sakla
session_register(username) = "TRUE";
header ("Location: index.php"); // buradaki hazır fonsiyon ile (header) index.php dosyasını aç html deki meta-refresh komutu ile aynı sayılır, oturumu session fonksiyonu yönettiği için oturum kapanana kadar eklenen bütün sayfalarda geçerli olur
}
else // formdan gelen veriler veritabanındakilerle uyuşmadıysa login.php dosyasını aç ve 1 nolu hatayı ekranda yaz
{
header ("location: login.php?hata=1");
}

?>[/CODE]

index sayfasına oturum açman için önce verileri bir form ile göndermen lazım ve index.php sayfan açılıyorsa zaten yukarıda header kullanılmış oturumun açıldı demektir, veritabanındaki bilgiler uyuşmazsa login.php ye tekrar döndürür.

index sayfanda şunu dene

[CODE]<?
session_start();

if(session_register(username)=="TRUE")

{
echo "Oturum açıldı";
}

else echo "Oturum açılamadı ";

?>[/CODE]

Link to comment
Share on other sites

Ayrıca,

Kodlarda bir hata var...

	   session_register(username); // $username değişkenindeki kullanıcı adını oturum kapanana kadar sakla[/CODE]

değil

[CODE] session_register($username); // $username değişkenindeki kullanıcı adını oturum kapanana kadar sakla[/CODE]

olacak....

Hafızaya kayıt edeceği değişken tanımlaması böyle çalışabilir. $ eksik yani. :angry2:

Link to comment
Share on other sites

verylife zaman ayırıp koda ilişkin açıklamalarınla beni aydınlattığın için sonsuz teşekkürler. Hakinen kardeşimi de dikkatinden dolayı tebrik ederim.

kodla ilgili olarak yaşadığım problem formda kullanıcı adı ve pasword değerlerini veri tablosunaki ile aynı girdiğim halde oturumu bir türlü açamıyor olmamdı. hakinenin belirttiği düzeltmeyi yaptığım halde oturumu açamıyorum. yani if her seferinde döngüyü hata1 e çeviriyor. kullanıcı adı ve pasword hatası veriyor.

veri tabanında belirtilen kullanıcı adı ve password ile oturum açmayı neden birtürlü beceremedim anlayamıyorum. bu bugün beni uyutmaz.

açıklamalarınız için sağolun.

Allaha çok şükür sorunu buldum.

Mesaj tekrarı yapmak yerine bir önceki postunuzu editleyiniz.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...