-
Üyelik
24.11.2012
-
Yaş/Cinsiyet
26 / E
-
Meslek
öğrenci
-
Konum
Ankara
-
Ad Soyad
** **
-
Mesajlar
10
-
Beğeniler
11 / 2
-
Ticaret
0, (%0)
Bi sistem yaptım, üye girişi yapınca durum paylaşma imkanı oluyor. İlk başta tek bir kullanıcı adı ve şifreyle giriş yapıyordum ama sonra veritabanına uyeler adında bir tablo oluşturdum. Giriş yapılınca, istenen kullanıcı adı ve şifre yazılıyor ve bu kullanıcı adı ve şifre veritabanına ekleniyor. Bende bunları giriş.php de çekerek veritabanındaki herhangi bi kullanıcı adı ve şifreyle giriş yapılmasını istiyorum. Başta başarılı oluyorum ancak veritabanında 4-5 tane üye olunca hiçbiriyle giriş yapılamıyor.Yazdığım kodlar şu şekilde:
session_start();
include("db.php");
$uyeCek = mysql_query('SELECT * FROM uyeler order by id DESC');
$row = mysql_fetch_array($uyeCek);
@$A_user = $row["username"];
@$A_pass = $row["password"];
@$user = $_POST["user"];
@$pass = $_POST["pass"];
if($A_user == $user && $A_pass == $pass){
$_SESSION["oturum"] = true;
$_SESSION["kullanici_adi"] = $A_user;
echo "Giriş başarılı! Birkaç saniye sonra yönlendirileceksiniz...";
header("Refresh: 2; url=index.php");
}else{
echo 'Lütfen Kullanıcı adı ve Şifreyi doğru girdiğinizden emin olun!';
header("Refresh: 1; url=index.php");
}
?>
Php'de yeniyim. Şimdiden zamanınızı aldığım için özür dilerim. Cevaplarınızı bekliyorum.
-
Üyelik
13.12.2013
-
Yaş/Cinsiyet
30 / E
-
Meslek
Web/Desktop Coder
-
Konum
İstanbul Avrupa
-
Ad Soyad
O** E**
-
Mesajlar
210
-
Beğeniler
20 / 20
-
Ticaret
3, (%100)
@$user = $_POST["user"];
@$pass = $_POST["pass"];
Post edilen, formdan gelen verileri sorgudan önce yazarak deneyebilir misin?
Ayrıca bende uzman sayılmam fakat, değişkenlerde bir hata çıkacağını zannetmiyorum. Bu yüzden hata bastırma komutunu "@" kullanmana gerek yok. Umarım işe yarar. Ben kendi yaptıklarıma bakarak yazdım hep postu sorgudan önce yazmışım.
1 kişi bu mesajı beğendi.
Hayali
Sms Onayı Gerekli
Banlı Kullanıcı
-
Üyelik
03.08.2011
-
Yaş/Cinsiyet
- / E
-
Meslek
-
Konum
-
Ad Soyad
** **
-
Mesajlar
293
-
Beğeniler
0 / 6
-
Ticaret
1, (%100)
$logincontrol = mysql_query("SELECT * FROM users WHERE username = '$username' && password = '$password'");
if(mysql_num_rows($logincontrol)) {
//Login aktiviteleri
}
Temel mantık bu şekilde. Kodları fazla incelemedim, kendine göre düzenle bakalım.
1 kişi bu mesajı beğendi.
adige
jinepsmedia.com
Kullanıcı
-
Üyelik
11.03.2014
-
Yaş/Cinsiyet
34 / E
-
Meslek
yok
-
Konum
İstanbul Avrupa
-
Ad Soyad
Y** S**
-
Mesajlar
150
-
Beğeniler
4 / 29
-
Ticaret
0, (%0)
Evet hayali nin yazdığı şekilde yapman gerek sen sorgu ile sürekli ilk üyeyi çekiyorsun sonra gelen şifreyi denemeye çalışıyorsun.
Post ile gelen verileri mutlaka filtreden geçir.
Post ile gelen şifre normal şifredir, eğer kayıt olurken şifre kriptolanarak kayıt ediliyorsa giriş yapamazsın.Kayıt olma kodlarına bak, eğer bir kriptolama varsa md5 gibi post ile aldıktan sonra sende kriptola sonra sorgu ile kullanıcıyı ara.
1 kişi bu mesajı beğendi.
-
Üyelik
24.11.2012
-
Yaş/Cinsiyet
26 / E
-
Meslek
öğrenci
-
Konum
Ankara
-
Ad Soyad
** **
-
Mesajlar
10
-
Beğeniler
11 / 2
-
Ticaret
0, (%0)
Teşekkürler arkadaşlar. Kodları şu şekilde düzenleyince oldu:
session_start();
include("db.php");
@$user = $_POST["user"];
@$pass = $_POST["pass"];
$veriler = mysql_query("SELECT * FROM uyeler ORDER BY ID DESC");
$row = mysql_fetch_array($veriler);
$kullanici = $row["username"];
$sifre = $row["password"];
$bilgi = mysql_query('SELECT * FROM uyeler WHERE username="'.$user.'" and password="'.$pass.'"');
if(mysql_num_rows($bilgi)>0){
$_SESSION["oturum"] = true;
$_SESSION["kullanici_adi"] = $user;
echo "Giriş başarılı! Birkaç saniye sonra yönlendirileceksiniz...";
header("Refresh: 2; url=index.php");
}else{
echo 'Lütfen Kullanıcı adı ve Şifreyi doğru girdiğinizden emin olun!';
header("Refresh: 1; url=index.php");
}
?>