|
|
|
Yazan
|
Konu: admin girişi yaptıramıyorum? (Okunma Sayısı 535 defa)
|
airwebb
PHP Öğrencisi
Offline
Mesaj Sayısı: 82
|
<? @session_start(); mysql_connect("localhost","root","") or die("servere baglanamadi"); mysql_select_db("teknikservis") or die("Vt ye baglanamadi");
$admin_kadi=$_POST['admin_kadi']; $admin_pass=md5($_POST['admin_pass']); $sorgu="SELECT * FROM `admin` WHERE admin_kadi='$admin_kadi' AND admin_pass='$admin_pass'"; $sql=mysql_query($sorgu); $kontrol=@mysql_num_rows($sql); if(kontrol!=0) { $admin_id=mysql_query("SELECT * FROM `admin` WHERE admin_id"); $admin=$admin_id; session_register('$admin'); Header("Location:admin1.php"); }
else { print "bu sayfaya erisim yetkiniz yok"; }
mysql_close(); ?>
admin die bir tablom war ve tablo içinde admin_kadi admin_pass die de alanlarım var. doğru şekilde k.adı - pass girsem bile bu sayfaya erişiminiz yok çıktısını alıyorum?
|
|
|
|
|
Logged
|
|
|
|
Achilles
Engin Dumlu
Kullanıcı
Offline
Mesaj Sayısı: 263
|
merhaba,
session_register('$admin'); yerine session_register('admin'); veya $_SESSION['admin'] = $admin;
sorguyu değerleri verip kendiniz yaptığınızda dönen sonuç nedir? , birde yaptığınız kontroller çok az .. dönen satır sayısı 1'den çok olduğu zaman ne olur düşündünüz mü hiç ?
bu kodun en başına error_reporting(E_ALL); ekleyin , hataları ve çıktıları daha detaylı olarak anlatmaya çalışın
|
|
|
|
|
Logged
|
[color=3399CC]Engin Dumlu[/color][/i] [color=3399CC]engin[at]turk-php[dot]com[/color] [color=3399CC]achilles[at]member[dot]turk-php[dot]com[/color]
|
|
|
CoDeDaNCeR
Ziyaretçi
|
dönen satır sayısı 1'den çok olduğu zaman ne olur düşündünüz mü hiç ? ad ve şifreyi sorguladıktan sonra 1 den çok sonuç çıkarsa zaten olan olmuştur 
|
|
|
|
|
Logged
|
|
|
|
airwebb
PHP Öğrencisi
Offline
Mesaj Sayısı: 82
|
dönen satır sayısı 1'den çok olduğu zaman ne olur düşündünüz mü hiç ? ad ve şifreyi sorguladıktan sonra 1 den çok sonuç çıkarsa zaten olan olmuştur  biraz daha açıklarmısın arkadaşım tam olarak anlayamadım da bu arada koddaki hata kontrolün önüne $ koymadığımdan ve de headerin h sını buyuk yaptığımdan ileri gelmiş bu hataları düzelttim ve
<? @session_start(); mysql_connect("localhost","root","") or die("servere baglanamadi"); mysql_select_db("teknikservis") or die("Vt ye baglanamadi");
$admin_kadi=$_POST['admin_kadi']; $admin_pass=md5($_POST['admin_pass']);
$sorgu="SELECT * FROM `admin` WHERE admin_kadi='$admin_kadi' AND admin_pass='$admin_pass'"; $sql=mysql_query($sorgu); $kontrol=@mysql_num_rows($sql); if($kontrol!=0) { $admin_id=mysql_query("SELECT * FROM `admin` WHERE admin_id"); session_register('admin'); $_SESSION['admin']['id']=$admin_id; header("Location:admin1.php"); }
else { print "bu sayfaya erisim yetkiniz yok"; }
mysql_close(); ?>
böyle birşey yaptım ancak giriş yaptığımda 18.satır yani header uyarı verıor ve admin1.php ye girmiyor can not modify header indormation-headers already sent by(output started at c:\wamp\www\teknikservis\admin.php:2) in c:\wamp\www\teknikservis\admin.php on line 18
|
|
|
|
« Son Düzenleme: 05, 2006, 03:26:33 am Gönderen: airwebb »
|
Logged
|
|
|
|
CoDeDaNCeR
Ziyaretçi
|
şimdi 1. si $admin_id=mysql_query("SELECT * FROM `admin` WHERE admin_id"); bu yanlış. where alan_adi='$isim' gibi bişey olmalı sen hiçbir sorgulama yapmamışın. o hata header hatası. olmaması için sayfanın en başına ob_start(); yazmalısın. ad ve şifre 1 den çok olamaz çünkü o zaman aynı isim ve şifreyle 1den fazla üye kaydetmişsin demektir, bunun olmaması için üye kaydederken bunu sorgulayacaksın. doğru kod: <?php ob_start(); @session_start(); mysql_connect("localhost","root","") or die("servere baglanamadi"); mysql_select_db("teknikservis") or die("Vt ye baglanamadi");
$admin_kadi=$_POST['admin_kadi']; $admin_pass=md5($_POST['admin_pass']);
$sorgu="SELECT * FROM `admin` WHERE admin_kadi='$admin_kadi' AND admin_pass='$admin_pass'"; $sql=mysql_query($sorgu); $kontrol=@mysql_num_rows($sql); if($kontrol!=0) { $_SESSION['durum']="uye"; header("Location:admin1.php"); } else { print "bu sayfaya erisim yetkiniz yok"; }
mysql_close(); ?>
admin1.php sayfası <?php session_start(); if ($_SESSION['durum']=="uye"){ //sayfa kodları...... }else{ echo "yasak"; exit(); // veya başka sayfaya yönlendir }
|
|
|
|
|
Logged
|
|
|
|
airwebb
PHP Öğrencisi
Offline
Mesaj Sayısı: 82
|
@codedancer benım yapmak istediğim sessionlara giriş yapanların id sini alıp bu şekilde o id ye özel işlem yaptırmam bunu nasıl yapabilrim?
|
|
|
|
|
Logged
|
|
|
|
Witkey
Ziyaretçi
|
giriş yaptırdıktan sonra $_SESSION['uyeID'] seklinde bir session acıp ıcerısıen SQL'den verileri dogrularken Uyeid'sini alıp yazdırabilirsin.
Iyı calısmalar, Onur Yerlikaya
|
|
|
|
|
Logged
|
|
|
|
|
 |
|