Eski 09-05-04, 21:58 #1
ARaGoRN ARaGoRN çevrimdışı
Varsayılan Php Sayfasi Login Sorunu..

Merhaba;

Ben cmturkey.com adminiyim Php ile yeni sitemizi tasarlamaktayiz fakat bir kac sorun meydana geldi...login.php den Admin sayfasina giris yapamiyorum... bana yardimci olursaniz sevinirim.Kodlari gonderiyorum...
Admin.php
Kod:
<?
error_reporting ( E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
session_start();
include ('functions.php');
do_html_header();
left_side("admin");
center("admin");
if ($name && $password)
{

    if (login($name, $password))
    {
      $admin_user = $name;
      session_register("admin_user");
    }  
    else
    {
	echo "Hata: İsim - Parola Uyuşmazlığı<br><br>Lütfen isim ve parolanızı kontrol edip <a class=\"left\" href=\"login.php\">tekrar deneyiniz</a>.";

    }      

}


if (check_admin_user())
{
	?>
	<table>
		<tr><td width="500"><b>ADMİN MENÜSÜ</b></td></tr>
		<tr><td><b><i>Güncel Haber İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="text.php?option=form">Yeni haber girişi</a></p></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="text.php?option=edit">Editör İşlemleri</a></p></td></tr>
		<tr><td><b><i>Oyuncu İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="players.php?option=edit">Yeni oyuncu girişlerini denetle.</a></p></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="comment.php?option=edit">Yeni oyuncu yorumu girişlerini denetle.</a></p></td></tr>
		<tr><td><b><i>Download İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="download.php?option=form">Yeni download girişi</a></p></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="dcomment.php?option=edit">Download yorumlarını denetle</a></p></td></tr>
		<tr><td><b><i>Grafik İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="grafik.php?option=form">Yeni grafik girişi</a></p></td></tr>
		<tr><td><b><i>İnceleme Yazısı İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="inceleme.php?option=form">Yeni inceleme girişi</a></p></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="inceleme.php?option=edit">Editör İşlemleri</a></p></td></tr>
		<tr><td><b><i>CM Scene İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="scene.php?option=form">Yeni link girişi</a></p></td></tr>
		<tr><td><b><i>Sporsorluk İşlemleri</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="sponsor.php?option=menu">Reklam Bannerı Ayarları</a></p></td></tr>		
		<tr><td><b><i>Anket İşlemlari</i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="anket.php?option=form">Yeni Anket Girişi</a></p></td></tr>		
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="anket.php?option=onayla">Anket Ayarları</a></p></td></tr>		
		<tr><td><b><i>CM Çalışanları </i></b></td></tr>
		<tr><td><p><img src="images/top.gif" alt="" width="20" height="10" border="0"><a class="left" href="ekip.php?option=form">Yeni Ekip Elemanı Eklemek</a></p></td></tr>		
		
		<tr><td align="right" ><b><i><a class="left" href="logout.php">Güvenli Çıkış</a></i></b></td></tr>
	</table>
	<?
}
else
	{
	echo "Bu alana giriş yetkiniz yok.";
	}




right_side("admin");
do_html_footer();
?>
bu sayfaya girmek istedigimde Bu alana giris yetkiniz yoktur diyor...
login.php
Kod:
<?
error_reporting ( E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
include ('functions.php');
do_html_header();
left_side("admin");
center("admin");
display_admin_form();
right_side("admin");
do_html_footer();
?>
İcq:43451034
Msn:amz19_03@hotmail.com
burdan bana ulasabilirsiniz...

Saygilarimla
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 09-05-04, 22:23 #2
RestarT RestarT çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

Böyle durumlarda hatayı çözmek için login.php dosyasına girdiğim şifre ve kullanıcı adını echo ile ekrana bastırırım.. Bakalım şifre ve kullanıcı adı login.php`ye ulaşıyor mu?

admin.php içerisinde şu değişikliği yapmayı dene;

Kod:
if ($_POST[name] && $_POST[password])
{

    if (login($_POST[name],  $_POST[password]))
    {
      $admin_user = $_POST[name];
      session_register("admin_user");
    }  
    else
    {
	echo "Hata: İsim - Parola Uyuşmazlığı<br><br>Lütfen isim ve parolanızı kontrol edip <a class=\"left\" href=\"login.php\">tekrar deneyiniz</a>. Girdiğiniz şifre $_POST[password] ve girdiğiniz isim $_POST[name]";

    }      

}
Kodlara ufak değişikliklerin yanında ufak bir ekleme de yaptım. Sanırım ne eklediğimi gördün Eklediğim o kısım sayesinde şifrenin ulaşıp ulaşmadığını anlayacağız..

Bir de sanırım login($name, $password) fonksiyonunu bulup buraya yazarsan daha kolay çözebileceğiz olayı..
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-05-04, 01:15 #3
ARaGoRN ARaGoRN çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

$_POST[cmt], $_POST[cmt] yazdim..Ama sanirim ulasmiyor sifre bunu ekledigin koddan farkettim...
bu login foksiyonu...İstersen sana dosylari gondereyim birde ole baq...
Kod:
<?
}
function login($name, $password)
{
  $conn = db_connect();
  if (!$conn)
    return 0;
  $result = mysql_query("select * from admin 
                         where name='$name '
                         and password ='$password'");
  if (!$result)
     return 0;
    if (mysql_num_rows($result)>0)
     return 1;
  else 
     return 0;
}
function check_admin_user()
{
  global $admin_user;
  if (session_is_registered("admin_user"))
    return true;
  else
    return false;
İlgilendigin Teşekkur ederim..
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 10-05-04, 01:38 #4
RestarT RestarT çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

Fonksiyonda da hata yok.. Sanırım sunucundaki PHP ayarlarından ötürü böyle bir sorunla karşı karşıyasın.. php.ini dosyasındaki register_globals = off olarak ayarlanmış.. Bu satırı on olarak ayarlarsan sorun kalacağını sanmıyorum.

Bunu host firmana mail atarak belirtirsen yardımcı olacaklardır sanırım. Ayrıca fonksiyonu aşağıdaki şekle sokup tekrar denersen, belki yararı dokunur..

Kod:
function login($_POST[name], $_POST[password])
{
  $conn = db_connect();
  if (!$conn)
    return 0;
  $result = mysql_query("select * from admin 
                         where name='$_POST[name]'
                         and password ='$_POST[password]'");
  if (!$result)
     return 0;
    if (mysql_num_rows($result)>0)
     return 1;
  else 
     return 0;
}
Aslında ini_set yardımıyla register_globals değerini sanırım çevirebiliriz.. Şunu dene;

Kod:
ini_set("register_globals", 1);
Bunu login.php ve admin.php içerisine en üstte bir yerlere ekleyip tekrar çalıştır.. Ama bu son yazdığım olaydan emin değilim.

ÖNEMLİ EDIT:

Ayrıca şunu da farkettim, login(); fonksiyonunda aşağıdaki kısımda..

Kod:
                         where name='$name '
                         and password ='$password'");
Sence orada fazladan bir boşluk yok mu Bütün sorun bu zannediyorum.. O kısmı aşağıdaki gibi değiştirirsen eski yaptığın değişikliklere vs. hiç ihtiyacın kalacağını sanmıyorum.

Kod:
                         where name='$name'
                         and password ='$password'");

Mesajı son düzenleyen RestarT ( 10-05-04 - 01:47 )
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-04, 20:40 #5
ARaGoRN ARaGoRN çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

Olmadi dostum Birde aklima su geldi ben admin kullanici admini ve paswordunu bir yere yazmadim burdan olabilirmi ama bu sefer baska bir hata cikmaz mi?

Birde Admin.php sayfasina illa login.php ile girmesi gerekmiyor atiyorum dosya/admin.php diye bir dosyaya atsam ve cpanelden dosya adli folder'a sifre koyabilirim...Ama hangi kodlari kaldirmam gerekiyor..

birde SQL de problem olabilirmi diye dusnuyorum...tablo olsumamis olabilir mi? yada SQl hatasi ama bu sefer phpadmin beni uyarmazmiydi?

Mesajı son düzenleyen ARaGoRN ( 11-05-04 - 20:51 )
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 11-05-04, 22:27 #6
RestarT RestarT çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

Sanırım hazır bir script kullanıyorsun.. Peki dediğim ini_set(); olayını denedin mi? En önemlisi son yazdığım.. Eğer en son yazdığım şeyi denediysen aklıma gelen iki şey var.. Ya şifreyi gerçekten yanlış giriyorsun, ya da host olayı ile ilgili.. Eğer globals = off ise ve bunu, remote scriptlerle değiştirme hakkın yok ise malesef host ile irtibata geçmelisin.

Bir de şu admin.php içerisindeki şu satırı:

Kod:
error_reporting ( E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
Şu şekilde değiştirip tekrar dene bakalım. Bir hata dönüyorsa onu görürüz en azından..

Kod:
error_reporting (E_ALL);
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Eski 16-05-04, 15:52 #7
mudkicker mudkicker çevrimdışı
Varsayılan Cvp: Php Sayfasi Login Sorunu..

hiçbir server hosting php.ini de register_globals'ı açmaz. güvenlik açığı yaratması nedeniyle. ben sorduğumda da açmamışlardı gerçi yi yapıorlar artık superglobal leri kullanmaya alışmamız lazım.

ini_set ile de sadece .htaccess ile yapabiliyoruz sanırım
register_globals "0" PHP_INI_PERDIR|PHP_INI_SYSTEM
dediğine göre..
  Alıntı Yaparak CevaplaAlıntı Yaparak Cevapla
Cevapla

Bu konunun kısa yolunu aşağıdaki sitelere ekleyebilirsiniz

Konu Araçları

Gönderme Kuralları
Yeni konu açamazsınız
Cevap yazamazsınız
Dosya gönderemezsiniz
Mesajlarınızı düzenleyemezsiniz

BB code is Açık
Smiley Açık
[IMG] kodu Açık
HTML kodu Kapalı



Tüm saatler GMT +3. Şuan saat: 13:03
(Türkiye için artık GMT +3 seçilmelidir.)

 
5651 sayılı yasaya göre forumumuzdaki mesajlardan doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Şikayet Mailimiz. İçerik, Yer Sağlayıcı Bilgilerimiz.