Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
559
Tıklama
0
Öne Çıkarma
Php'de Session ile Oturum Açamıyorum
M
5 yıl
Onbaşı
Konu Sahibi

Merhabalar. Şu kodlara bir bakabilir misiniz? Giriş yapmak istediğimde "kullanıcı bulunamadı" diyor. Yani veritabanına bağlanıyor ama "kullanıcı bulunamadı" diyor. Dosyalar kendi bilgisayarımda değil; gerçek sunucuda.

giris.formu.php
<html>
<head>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="fontawesome/css/fontawesome-all.min.css" />
<link rel="stylesheet" href="css/giris.css" />
<title>Page Title</title>
</head>
<style>
body {
background-color: #9dafb7;
}
</style>

<div class="giris-formu-yazisi">Giriş Formu</div>

<form action="giris.php" method="post">

<label class="kullaniciadi">Kullanıcı Adınız</label>
<input class="eposta" type="text" name="kullanici_adi" required="">

<label class="sifre">Şifreniz</label>
<input class="" type="password" name="sifre" class="" required=""></br>

Admin <input type="radio" id="kadin" name="gender" value="kadin"><br>
User <input type="radio" id="erkek" name="gender" value="erkek">

<input type="submit" class="giris-butonu" method="" name="login" value="Giriş Yap">

<div class="giris-formu-anasayfa-butonu"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=143749585&url=index.php" data-href="index.php">Anasayfa</a></div>

</body>
</html>


giris.php
<?php 

session_start();

$servername="localhost";
$username="kullaniciadi";
$password="123456";
$dbname="veritabaniadi";

$conn = mysqli_connect($servername, $username, $password, $dbname);

if (!$conn) {
die("Veritabanı Bağlantısı Kurulamadı" .mysqli_connect_error());
}else{
echo "Bağlantı Kuruldu";
}

$username = $_POST['kullanici_adi'];
$password = $_POST['sifre'];
$role = $_POST['role'];

$login = mysqli_query($baglanti,"select * from kullanicilar where kullanici_adi='$username' and sifre='$password' and role='$role'");

$cek = mysqli_num_rows($login);

if($cek > 0){

$data = mysqli_fetch_assoc($login);

if($data['role']=="admin"){

$_SESSION['username'] = $username;
$_SESSION['role'] = "admin";

header("location:index.php");

}else if($data['role']=="user"){

$_SESSION['username'] = $username;
$_SESSION['role'] = "user";

header("location:index.php");

}else{

header("location:giris-formu.php");
}
}else{
echo "Kullanıcı Bulunamadı";
}

?>


header.php
<?php

if(!isset($_SESSION["role"])){ ?>

Oturum Açık Değil ise Aşağısı Çalışacak - Yani site normal yüklenecek

<?php
}elseif($_SESSION["role"]=="admin"){
?>

Oturum Admin'e eşit ise Aşağısı Çalışacak

<?php
}elseif($_SESSION["role"]=="user"){
?>
Oturum User'a eşit ise Aşağısı Çalışacak
<?php
}

?>





< Bu mesaj bu kişi tarafından değiştirildi mali2023 -- 29 Mayıs 2020; 21:53:39 >

F
5 yıl
Yarbay

Emin değilim ama " $login = mysqli_query($baglanti,"select * from kullanicilar where kullanici_adi='$username' and sifre='$password' and role='$role'"); "

kısmında $baglanti kısmını önce değil de sonra yazmak gerekmiyor muydu? Yani önce sorgu sonra bağlantı bilgisi veriliyordu diye hatırlıyorum.

Burada bir yerde sorun var gibi verdiği geri dönüşe bakarak.



M
5 yıl
Onbaşı
Konu Sahibi

Hallettim teşekkür ederim.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.