• 12-08-2008, 11:09:56
    #1
    üye girişi yapıyorum .. üye giriş formumun altında cıkıs ıcın tıklayınız yazıyor ama uye gırıs formu kaybolmuyor..

    bir kac sefer anasayfa linkine tıklayınca uyelıkten atıyor..

    uye giriş formum anasayfada..

    hatalı k.adi ve sifre ile giriş yap diyorum hatalı giriş diyor.. fakat bi f5 atınca üye girişi yapıyor..

    siteme ilan verenlerin üye olması gerekıyor bu hatalı işi yapınca oraya bakıyorum ilan ekleyebilirsiniz yazıyor yani üye olarak görüyor..

    bakıp anlayabilmeniz için hatayı siteyi vereyim..


    <?
    session_start();
    ob_start();
    session_register($kadi);
    ?>
    <!-- o4 --><html>
    <head>
    <link rel="stylesheet" type="text/css" href="a.css" />
    
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
    
    <META NAME="KEYWORDS" CONTENT="Alacati Emlak,Alacati">
    <script>
    function openpopup(url,ozellik){
    var popurl=url
    window.open(popurl,"",ozellik)
    }
    </script>
    <style type="text/css">
    <!--
    .text {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 8px;
    color: #4d5981;
    }
    body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 00px;
    margin-bottom: 0px;
    }
    -->
    </style>
    </head>
    
    <body bgcolor="#4d5981">
    <table width="850" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#000066">
    <tr>
    <td width="1116"><table width="850" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#333366" bgcolor="#FFFFFF">
    <tr>
    <td width="850"><table width="100" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','850','height','226','src','images/logo','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','banner' ); //end AC code
    </script>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="850" height="226">
    <param name="movie" value="banner.swf">
    <param name="quality" value="high">
    <embed src="banner.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="850" height="226"></embed>
    </object></td>
    </tr>
    <tr>
    <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="64" valign="top" background="images/bg_menu.gif">&nbsp;</td>
    <td width="687" valign="top">
    <script type="text/javascript">
    AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','686','height','29','src','images/logo','quality','high','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','images/menu-inka' ); //end AC code
    </script>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="840" height="35">
    <param name="movie" value="butonlar.swf">
    <param name="quality" value="high">
    <embed src="butonlar.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="840" height="35"></embed>
    </object></td>
    <td width="99" background="bg_menu.gif">&nbsp;</td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    <tr>
    <td><table width="100%" height="380" border="0" cellpadding="0" cellspacing="0">
    <tr>
    
    
    
    <tr>
    <br>
    <? if ($_SESSION['kadi']=="")
    
    {
    echo "
    <form action=index.php method=POST>
    
    
    
    <font size=2>K.Adi:</font><input type=text name=kadi><br>
    
    
    
    <font size=2>Sifre:</font>&nbsp;&nbsp;<input type=password name=sifre><br>
    
    
    <input type=submit value=Giris name=giris>
    &nbsp;&nbsp;<input type=reset value=Temizle> ";
    }
    echo "</form>";
    
    
    ?>
    <?
    
    $kadi=$_POST['kadi'];
    $sifre=$_POST['sifre'];
    $giris=$_POST['giris'];
    
    if(isset($giris))
    {
    include("baglan.php");
    $sayac=0;
    
    $sorgula = mysql_query("SELECT * from uyetablo where kadi = '$kadi' and sifre = '$sifre' ") ;
    while($bak=mysql_fetch_array($sorgula))
    {
    $sayac++;
    }
    if($sayac==1)
    {
    $_SESSION['kadi'] = $kadi;
    echo <a href=cikis.php>Cikis Yapmak Icin Tiklayin</a> ";
    }
    else
    {
    echo "Hatal&yacute; giri&thorn;";
    }
    
    }
    ?>
    
    
    
    </tr>
    
    
    </tr>
    
    </table>
    </body>
    </html>
    <?
    ob_end_flush();
    ?>
  • 12-08-2008, 12:24:00
    #2
    if else blogu kullan bence o da olmassa su gorsel dersi izleyin.
    PHP Programlamadili , zel Mesajlama Sistemi Grsel Ders Gorsel Dersi, PHP Programlama Dili,PHP Grsel Dersleri
  • 12-08-2008, 12:58:37
    #3
    bunu duzeltıp gonderebilecek bir arkadaş varmı ben 2 gundur ugrsaıyorum bu abuk problemleri halledemedım..
  • 12-08-2008, 18:34:57
    #4
    üye girişi yapınca gittiği sayfada ilk session kontrol edip ekrana formları koyuyorsunuz. Daha sonra session a değer atayıp çıkış linkini koyuyorsunuz. Sıralamada hatanız var.
  • 12-08-2008, 18:40:46
    #5
    while($bak=mysql_fetch_array($sorgula))
    {
    $sayac++;
    }

    bu kısmı böyle yapmanıza gerek yok.

    $sayac=mysql_num_rows($sorgula);
    şeklinde yaparsanız sorgunuzun kaç satır döndüğünü alabilirsiniz.
  • 12-08-2008, 18:47:07
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    darbetim adlı üyeden alıntı: mesajı görüntüle
    while($bak=mysql_fetch_array($sorgula))
    {
    $sayac++;
    }
    bu kısmı böyle yapmanıza gerek yok.
    $sayac=mysql_num_rows($sorgula);
    şeklinde yaparsanız sorgunuzun kaç satır döndüğünü alabilirsiniz.
    alakası yokki onla
    orada bir sorgu yapmış zaten altında eğer 1 se başka bir işlem yaptırmış
  • 12-08-2008, 18:48:19
    #7
    onla alakası yok zaten ben sadece kodunu kısaltmak amacıyla söyledim sorunun çözümü bir üstteki mesajımda belirttim.
  • 12-08-2008, 18:49:23
    #8
    darbetim adlı üyeden alıntı: mesajı görüntüle
    onla alakası yok zaten ben sadece kodunu kısaltmak amacıyla söyledim sorunun çözümü bir üstteki mesajımda belirttim.
    fakat mysql_num_rows sorgusu sunucuyu yorar çünkü tek tek satırları gözden geçirir.
    arkadaşın yaptığı yol güzel php optimizasyon bakımından
  • 12-08-2008, 18:52:22
    #9
    Zaten orda üye girişi kontrolu yapmış. Bu yüzden en fazla 1 sonuç dönecek. 1 satırı gözden geçirmesi yormaz sunucuyu.