• 16-01-2023, 03:46:50
    #1
    Merhaba günlerdir sorununu cözemediğim bu hata nedir bilgisi olan yardımcı olabilir mi? login yaptırıyor çerezlerede yaziyor ama googleyi kapatıp açtığımda yine hesabımdan otomatik çıkış yapiyor

          if (isset($_POST["loginol"])) {
            $email  =$_POST["mail"];
            $pass   =$_POST["pass"];
              $kullanicivarmi= $vt->prepare("select * from uyeler where email=? && pass=?");
              $kullanicivarmi->execute(array($email,$pass));
              $row= $kullanicivarmi->rowCount();
              if ($row>0) { 
                 
                 $login = intval($_POST['login']);
                  if($login ==1){
                      setcookie("kadi",$email,time()+3600*1);
                      setcookie("ksifre",$pass,time()+3600*1);
                  }
                $_SESSION["mail"]=$email;
                $_SESSION["pass"]=$pass;
               echo'Bilgileriniz doğru';
              }else{      
               echo'Bilgiler yanlış';
              }
          }
        <form class="forms-sample" action="" method="post">
        <input type="text" name="mail">
        <input type="password" name="pass">
        Beni Hatırla <input type="checkbox" value="1" name="login">
        <input type="submit" name="loginol" value="Giriş">
        </form>
  • 16-01-2023, 03:50:17
    #2
    Chat gpt'ye sordum.

    1. kod satırınız için


    Bu kod, bir web sayfasındaki kullanıcı giriş formunun verilerini alır ve veritabanındaki kullanıcı bilgileriyle karşılaştırır. Eğer bilgiler doğruysa, kullanıcıya "Bilgileriniz doğru" mesajı gösterilir ve kullanıcının oturumu başlatılır. Eğer bilgiler yanlışsa, kullanıcıya "Bilgiler yanlış" mesajı gösterilir.
    Kodun içinde belirtilen bir hata yok gibi gözükmekte. Ancak, kodun çalışması için veritabanı bağlantısının yapılmış olması ve $_POST, $_SESSION, $_COOKIE, $vt gibi değişkenlerin tanımlı olması gerekmektedir.

    2. kod satırınız için



    Bu kod, bir web sayfasındaki kullanıcı giriş formunu oluşturur. Kullanıcının e-posta adresini ve şifresini girebileceği iki adet input alanı, "Beni Hatırla" seçeneğini içeren bir checkbox ve "Giriş" düğmesi içermektedir.
    Ancak, formun action özelliği boş bırakılmış. Formun gönderildiği sayfanın ne olduğu belirtilmemiş. Bu nedenle, form gönderildiğinde kullanıcının girdiği bilgiler nereye gidecek ve nasıl işlenecek bilinmez. Bu yüzden action özelliğine işlem yapacağı sayfanın adresi belirtilmeli.
    Ayrıca "Beni Hatırla" checkbox'unun value'su 1 olarak belirtilmiş. Ancak, bu değerin ne işe yaradığı kodun geri kalanında belirtilmemiş. Bu nedenle checkbox'un value'su ne işe yarayacağı kodun geri kalanına göre belirlenmeli.
  • 16-01-2023, 03:50:26
    #3
    setcookie("kadi",$email,time()+3600*1);
    setcookie("ksifre",$pass,time()+3600*1);

    1 saatlik bir süre belirtmişsiniz, değiştirip denediniz mi? 30 gün altta
    setcookie("kadi",$email,time()+3600*24*30); setcookie("ksifre",$pass,time()+3600*24*30);
  • 16-01-2023, 03:53:32
    #4
    cmlndz adlı üyeden alıntı: mesajı görüntüle
    setcookie("kadi",$email,time()+3600*1);
    setcookie("ksifre",$pass,time()+3600*1);

    1 saatlik bir süre belirtmişsiniz, değiştirip denediniz mi? 30 gün altta
    setcookie("kadi",$email,time()+3600*24*30); setcookie("ksifre",$pass,time()+3600*24*30);
    Denedim hocam yine aynı şekilde logini yapiyor çereze yaziyor ama googleyi kapatıp açayım yine otomatik çıkış yapmış oluyor
  • 16-01-2023, 03:53:37
    #5
    Sociget - SMM Paket Satış
    ChatGTP sorunu çözümlüyor ;

    The error is that the cookies are set to expire after one hour (3600 seconds) by using time()+3600*1. This means that the cookies will only be stored on the user's browser for one hour before they expire and the user will have to log in again. To fix this, you can set the expiration time for the cookies to a longer period, such as one day (86400 seconds) by using time()+86400*30 . This will ensure that the cookies remain stored on the user's browser for 30 days, and the user will not be logged out after reopening the browser.
  • 16-01-2023, 03:59:57
    #6
    MariaDB adlı üyeden alıntı: mesajı görüntüle
    ChatGTP sorunu çözümlüyor ;

    Hata, tanımlama bilgilerinin süresi()+3600*1 kullanılarak bir saat (3600 saniye) sonra sona erecek şekilde ayarlanmış olmasıdır. Bu, tanımlama bilgilerinin süresi dolmadan önce yalnızca bir saat süreyle kullanıcının tarayıcısında saklanacağı ve kullanıcının tekrar oturum açması gerekeceği anlamına gelir. Bunu düzeltmek için time()+86400*30 kullanarak çerezlerin sona erme süresini bir gün (86400 saniye) gibi daha uzun bir süreye ayarlayabilirsiniz. Bu, çerezlerin 30 gün boyunca kullanıcının tarayıcısında saklanmasını ve tarayıcıyı yeniden açtıktan sonra kullanıcının oturumunun kapatılmamasını sağlayacaktır.
    O şekilde denedim yine sonuç çıkmadı hocam
  • 16-01-2023, 04:04:56
    #7
    ereneser adlı üyeden alıntı: mesajı görüntüle
    Denedim hocam yine aynı şekilde logini yapiyor çereze yaziyor ama googleyi kapatıp açayım yine otomatik çıkış yapmış oluyor

    echo $_COOKIE['kadi'];

    Şeklinde ilgili sayfanın üstüne cookie yazdırmayı deneyin ve tarayıcıyı kapatıp açıp duruyor mu kontrol edin.

    Eğer ki duruyor ise login.php dosyanızda cookie giriş işlemi yapılıyor mu?

    Örneğin isset ile cookie kontrol ettirip varsa cookie bilgilerini DBden sorgulayıp doğru ise yönlendirme yapabilirsiniz.
  • 16-01-2023, 04:05:45
    #8
    cookie varsa session ataması yapıyormusunuz?
  • 16-01-2023, 04:07:58
    #9
    önce cookie var mı yokmu kontrol ettirsenize ona göre işlem yapın