İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php projemde üyelik sistemini çözemedim yardım edebilirmisiniz!!!

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
php ye yeni başladım bitirme tezi olarak ödev aldım projenin % 80 nını tamamladım. üyelik sisteminde hatam var yardımlarınızı bekliyorum

projeyi burdan indirebilirsiniz:http://rapidshare.com/files/380497517/proje.rar
sql dosyası içinde mevcut yardımlarnızı için şimdiden teşekkür ederim

Saygılar....
 

Alone

0
İyinet Üyesi
Katılım
16 Ekim 2007
Mesajlar
46
Reaction score
1
Hatalarını yazarsan yardımcı oluruz hocam :)
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
hocam hatam üye girişi yaptığımda kullanıcı adı ve şifreyi girdiğimde giriş yapıyorum başka bir sayfaya yada index üzerinde başka bir linke tıkladığımda tekrar kullanıcı adı ve şifre soruyor... ilginiz için teşekkürler..
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Kodları dosya olarak değilde burada ilgili alanları kapsayan kodları paylaşsıydınız çok daha iyi olurdu. Ama size bir örnek verim, oradan büyük ihtimalle çözümü bulabilirsiniz.

Üye girişi yaparken sesion belirliyoruz. Buna göre if else kontrolleri ile giriş yapıp yapmadığını belirliyoruz ve ona göre gösterliecek kısımları atıyoruz.
PHP:
 <? 
		   if( $_SESSION['kullanici'] ) { echo "Kullanıcı giriş yapmış";}		  
else { echo "Kullanıcı giriş yapmamış"; }
?>
 

ilyasbat

0
İyinet Üyesi
Katılım
22 Temmuz 2009
Mesajlar
118
Reaction score
9
hocam hatam üye girişi yaptığımda kullanıcı adı ve şifreyi girdiğimde giriş yapıyorum başka bir sayfaya yada index üzerinde başka bir linke tıkladığımda tekrar kullanıcı adı ve şifre soruyor... ilginiz için teşekkürler..

Sessionlarla ilgili bir probleminiz var büyük ihtimalle. Sistemi siz mi kodladınız? Kodları koyar mısınız buraya? Nasıl ve be şekilde Session oluşturduğunuza bakalım.
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
Sessionlarla ilgili bir probleminiz var büyük ihtimalle. Sistemi siz mi kodladınız? Kodları koyar mısınız buraya? Nasıl ve be şekilde Session oluşturduğunuza bakalım.

evet ben kodladım kodlamayı index üzerinde yaptım her bölüm için ayrı dosya oluşturmadım işin içinden çıkamadım:)


herkeze çok teşekkür ederim.

saygılar..

o kodlar bunlar :)
PHP:
 <?php
 include ("baglan.php");
global $baglan;


 @ $xx = $_GET["xx"];
 switch ($xx) {
     default:
	 giris();
	 	break;
	 
	 case "devam";
	 	gir();
			break;
	 }
	 function giris(){
	 
     echo "<fieldset> <form name=\"form1\" method=\"post\" action=\"index.php?xx=devam\">
    <table border=\"0\"> 
          <tr>
      <td height=\"30\" colspan=\"2\"><label > 
      <input name=\"ad2\" type=text id=\"ad2\" onclick=\"form1.ad2.value='' \"  value=\"Kullanıcı Adı\" />
      </label></td>
    </tr>
    <tr>
      <td height=\"31\" colspan=\"2\"><label>
        <input name=\"sifre\" type=password id=\"sifre\" onclick=\"form1.sifre.value=''\"  value=\"Şifre\">
      </label></td>
    </tr> 
    </table>
    
    <table width=\"142\" border=\"0\">
      <tr>
        <td width=\"80\">
            <div align=\"left\">
              <input type=\"submit\" name=\"giris\"  id=\"giris\" value=\"     Giriş      \"  width=\"50\"/>
          </div></td>
      </tr>
    </table>
	
    <table>
    <tr><td algin=\"center\" >
    </form>
         <div  align=\"center\"></label>
          <form name=\"kayitol\" method=\"post\" action=\"kayitol.php\"> 
		  <input type=\"submit\" name=\"kayitol\" id=\"kayitol\" value=\"Kayıt Ol\"  width=\"10\"/> 
      				</label> 
            </div>
		</td>	
      </tr>
     </form>
    </table>
    
    </tr> 
    </table>
</form> </fieldset>";
}

function gir(){
include ("baglan.php");
global $baglan;

$kg_kullaniciadi = $_POST["ad2"];
$kg_sifre = $_POST["sifre"];
 
$oku = mysql_query("select * from uyeler where kv_kullaniciadi='$kg_kullaniciadi' and kv_sifre = '$kg_sifre'");

@ setcookie("giris","ad2",time()+60*60*24);

 if( mysql_num_rows($oku)>0) {
echo "<span class=\"stil2\"> Hoş geldiniz...</span>   ";
echo "<span class=\"stil2\"><b>   $kg_kullaniciadi</b></span>"; echo "<br>";
echo "<span class=\"stil3\"><a href=\"index.php\">Çıkış </a></span> ";
    
	}
else {
echo "Kullanıcı adiniz veya şifreneiz yanlış";
}
}

 
?>
 

XiechenG

0
İyinet Üyesi
Katılım
16 Ağustos 2009
Mesajlar
154
Reaction score
1
Edit:
Hocam switch kullanmışsın ve
burada giriş fonksiyonunu çağırmışsın
onun yerine kontrol fonksiyonu yap onu çağır
ve çerezleri kontrol et
setcookie ile iş bitmez
veriyi kontrol ettirmen de gerekir.

en üste bu kodu ekle
PHP:
<?ob_start();?>

Switch kısmını şöyle değiştir
PHP:
 @ $xx = $_GET["xx"];

 switch ($xx) {

     default:

	 kontrol();

	 	break;

	 

	 case "devam";

	 	gir();

			break;

	 }

	function kontrol(){
		if ( $HTTP_COOKIE_VARS['GİRİS']=='ad2'){
			echo "Hoş geldin mesaji :)";
			}
		else {
			giris();
			} 	
			echo "giris saglanamadi".$HTTP_COOKIE_VARS['giris'];	
		}

ve en sonda

setcookie komutunu giriş mesajı aldığın if`in içinde yaz
PHP:
@ setcookie("GİRİS","ad2",time()+60*60*24);
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
hocam öncelikle çok teşekkür ederim.

ve özür dilerim isim çakışması yapmışı farketmemişim giris'i hem function adı hem cookie adı olarak kullanmışım o kısımları düzelttim.

söylediğiniz eklemeleri yapınca anladığım kadarıyla altta verdiğim şekle geliyor{yanlış anlamış veya yanlış yapmış da olabilirim affola}

burda da hatalar var öncelikle cookie sonradan oluşturduğumuz için sayfaya girdiğimizde şöyle bir hata veriyor..
image-31C6_4BD73E27.jpg


üye girişi yaptığımda sayfa üzerindeki başka bir linke örneğin uykarıdaki resimde görünen progaramlar linkine tıkladığımda yeniden üye girşi istiyor..

PHP:
 <?php
 
ob_start();

 include ("baglan.php");
global $baglan;
 
  @ $xx = $_GET["xx"];

 switch ($xx) {

     default:

     kontrol();

         break;

     

     case "devam";

         gir();

            break;

     }

    function kontrol(){
        if ( $HTTP_COOKIE_VARS['uye']=='ad2'){
            gir();
            }
        else {
            giris();
            }     
            echo "giris saglanamadi".$HTTP_COOKIE_VARS['uye'];    
        }  
 

	 function giris(){
	 
     echo "<fieldset> <form name=\"form1\" method=\"post\" action=\"index.php?xx=devam\">
    <table border=\"0\"> 
          <tr>
      <td height=\"30\" colspan=\"2\"><label > 
      <input name=\"ad2\" type=text id=\"ad2\" onclick=\"form1.ad2.value='' \"  value=\"Kullanıcı Adı\" />
      </label></td>
    </tr>
    <tr>
      <td height=\"31\" colspan=\"2\"><label>
        <input name=\"sifre\" type=password id=\"sifre\" onclick=\"form1.sifre.value=''\"  value=\"Şifre\">
      </label></td>
    </tr> 
    </table>
    
    <table width=\"142\" border=\"0\">
      <tr>
        <td width=\"80\">
            <div align=\"left\">
              <input type=\"submit\" name=\"giris\"  id=\"giris\" value=\"     Giriş      \"  width=\"50\"/>
          </div></td>
      </tr>
    </table>
	
    <table>
    <tr><td algin=\"center\" >
    </form>
         <div  align=\"center\"></label>
          <form name=\"kayitol\" method=\"post\" action=\"kayitol.php\"> 
		  <input type=\"submit\" name=\"kayitol\" id=\"kayitol\" value=\"Kayıt Ol\"  width=\"10\"/> 
      				</label> 
            </div>
		</td>	
      </tr>
     </form>
    </table>
    
    
    
    </tr> 
    </table>
</form> </fieldset>";
}

function gir(){
include ("baglan.php");
global $baglan;

$kg_kullaniciadi = $_POST["ad2"];
$kg_sifre = $_POST["sifre"];

 
$oku = mysql_query("select * from uyeler where kv_kullaniciadi='$kg_kullaniciadi' and kv_sifre = '$kg_sifre'");
	
 if( mysql_num_rows($oku)>0) {
 @ setcookie("uye","ad2",time()+60*60*24);
echo "<span class=\"stil2\"> Hoş geldiniz...</span>   ";
echo "<span class=\"stil2\"><b>   $kg_kullaniciadi</b></span>"; echo "<br>";
echo "<span class=\"stil3\"><a href=\"index.php\">Çıkış </a></span> ";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>";    
	}
else {
echo "Kullanıcı adiniz veya şifreneiz yanlış";
echo "<br>";
echo "<br>";
echo "<br>";
echo "<br>"; }
} 
?>


Şaştım kaldım hocam ya :(
 

netster

0
İyinet Üyesi
Katılım
7 Eylül 2004
Mesajlar
445
Reaction score
24
Konum
Ankara
//konu dışı//
$kg_kullaniciadi = $_POST["ad2"];
$kg_sifre = $_POST["sifre"];

Şeklinde kullanmayın. Güvenlik sebebi ile ileride başınız ağrıyabilir. Ayrıca şifrelerinizi md5 ile gönderin ve veritabanında md5 olarak saklayın.

//konu dışı//
 

metadige

0
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
4
Arkadaşım sessionla kontrol edersin, varsa içeriği gösterirsin, yoksa giriş formunu:

PHP:
<?php
ob_start();
session_start();
include ("baglan.php");

if(!$_SESSION['kullanici'] && !$_SESSION['kullaniciadi']) {
//giriş yapılmamışsa giriş formu
}
else{
//giriş yapılmışsa içerik kodları
}
?>

Giriş formunu post ettiğin sayfada da bakarsın veritabanından kayıt varsa, sessionu atarsın, yani bu kısımı :
PHP:
$oku = mysql_query('select * from uyeler where kv_kullaniciadi="'.$kg_kullaniciadi.'" and kv_sifre = "'.$kg_sifre.'"');
if(mysql_num_rows($oku)>0) {//kayıt varsa
 $sonuc = mysql_fetch_assoc($oku);
 $_SESSION['kullanici']= 1;
 $_SESSION['kullaniciadi'] = $sonuc['kv_kullaniciadi'];
 echo '
   <span class="stil2"> Hoş geldiniz...</span>
   <span class=stil2><b>   '.$sonuc['kv_kullaniciadi'].'</b></span>';
}
else{
 echo 'Bilgileriniz Yanlış';
 exit;
}
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
hocam ilginiz için teşekkür ederim.
hata sayısı çogaldı :( sizin burda söylemeyip de benim yapmam gereken bir şey varmı?
 

metadige

0
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
4
Arkadaşım ben değişeceğin yerleri yazdım sadece, kendi kodlarında ilgili yerleri değişeceksin, bak şimdi biraz daha açmak gerekirse, giriş için bir tane giris.php oluştur

giris.php :
PHP:
<?php
ob_start();
session_start();
include ("baglan.php");
if($_SESSION['kullanici'] && $_SESSION['kullaniciadi']) {
  //zaten giriş yapmışsa
  header('Location: index.php');
  exit();
}  
if(isset($_POST) && !empty($_POST)){//post varsa
/*Ben direk yazıyorum bunları kontrol edip temizlemeden kullanman güvenlik açığı oluşturur*/
  $kg_kullaniciadi = $_POST['ad2'];
  $kg_sifre = $_POST['sifre']; 
  $oku = mysql_query('select * from uyeler where kv_kullaniciadi="'.$kg_kullaniciadi.'" and kv_sifre = "'.$kg_sifre.'"');
  if(mysql_num_rows($oku)>0) {//kayıt varsa
   $sonuc = mysql_fetch_assoc($oku);
   $_SESSION['kullanici']= 1;
   $_SESSION['kullaniciadi'] = $sonuc['kv_kullaniciadi'];
   echo '
     <span class="stil2"> Hoş geldiniz...</span>
     <span class=stil2><b>   '.$sonuc['kv_kullaniciadi'].'</b></span>';
  }
  else{//kayıt yoksa
   echo 'Bilgileriniz Yanlış';
   exit;
  }  
}//post varsa if son
else{
  //Giriş formunu buraya ekle
}
?>

Daha sonra diğer sayfalarda da yukarıda yazdığım gibi kontrol et session var mı diye. Misal programlar sayfası olsun bu:
PHP:
<?php
ob_start();
session_start();
include ("baglan.php");

if(!$_SESSION['kullanici'] && !$_SESSION['kullaniciadi']) {
//giriş yapılmamışsa giriş formuna gönder
  header('Location: giris.php');
  exit();
}
else{
//giriş yapılmışsa program sayfası içerik kodları
}
?>

İşin mantığı bu, kendi kullanacağın sisteme göre uyarlayacaksın. Eğer bütün sayfaları switch ile kontrol edip tek dosyadan veriyorsan, ayrı ayrı ob_start, session_start yazıp, her sayfada kontrol etmene gerek yok, sayfa başında bir kere yaparsın, ona göre içeriği veya giri formunu gösterirsin.
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
hocam yardımlarınız için teşekkür ederim hallettim gibi geç oldu yarın vize var ben yatim artık :)
hayırlı geceler :) kolay gelsin..
 

byaang

0
İyinet Üyesi
Katılım
27 Nisan 2010
Mesajlar
20
Reaction score
0
hocam çok büyük bir dertten sayenizde kurtuldum ve işin mantığını kaptım.
çok teşekkürederim.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst