v2.5.2
Giriş yap

PHP döngü yapmadığım halde kendinden döngü oluyor

omerfarukbicer
981 defa görüntülendi ve 1 kişi tarafından değerlendirildi

hocalarım merhaba benim php de basicdb ile bir kayıt ekleme
sayfam var daha doğrusu kayıt olma Cibza Kayit Olma Sayfası
buradan kayıt olusanız sonsayfada kendiliğinden bir dönguye giriyor ve 40 defa aynı kisiyi kaydediyor
nedenini anlamadım

ilgili kod

<?php

  session_set_cookie_params(360000,'/','.cibza.com');
  session_start();
  ob_start();
  require 'basicdb.php';
  $db = new CibzaDB('localhost' , 'cibzacom_accounts' , 'cibzacom_accounts' , '05302280aA05302280');
  if(isset($_GET['contiune'])){
    $contiune = '?contiune='.$_GET['contiune'];
  }else {
    $contiune = '';
  }

  if (!isset($_SESSION['createpassword_next'])) {
    header('Location: https://www.cibza.com/');
  }
    // BURASI HATALI KODUN BAŞLANGICI
  if (isset($_SESSION['cibza_accounts_pass']) && isset($_SESSION['cibza_accounts_repass'])) {
    $password = sha1(md5(sha1($_SESSION['cibza_accounts_pass'])));
    $repassword = sha1(md5(sha1($_SESSION['cibza_accounts_repass'])));

    if ($password == $repassword) {
      $name = $_SESSION['signup_form_value']['cibza_accounts_name'];
      $surname = $_SESSION['signup_form_value']['cibza_accounts_surname'];
      $email = $_SESSION['signup_form_value']['cibza_accounts_email'];

      // $color = substr(md5(uniqid()) ,0 ,6);
      // $url = 'https://ui-avatars.com/api/?size=128&font-size=0.6&length=1&background='.$color.'&bold=true&color=ffffff&name=' . $name . ' ' . $surname;
      // // Resim Yolu(Kayıt yolu)
      // $uniqid = uniqid();
      // $img = '../../assets/usercontent/'.sha1(md5(sha1(md5($uniqid)))).'.png';
      // // Resmi Kaydet
      // file_put_contents($img, file_get_contents($url));

      $insert_accounts = $db->insert('accounts')
                            ->set([
                              'accounts_first_name' => $name,
                              'accounts_last_name' => $surname,
                              'accounts_email' => $email,
                              // 'accounts_user_images' => sha1(md5(sha1(md5($uniqid)))).'.png',
                              'accounts_password' => $password
                            ]);

        if ($insert_accounts){
          if ($contiune == '') {
            header('Location: https://www.cibza.com');
          }else {
            header('Location: ' . $contiune);
          }
        }else {
          $_SESSION['sc_error'] = true;
          header('Location: createpassword.php' . $contiune);
        }
    }else {
      $_SESSION['createpassword_error'] = true;
      header('Location: createpassword.php' . $contiune);
    }

  }else {
    header('Location: createaccount.php' . $contiune);
  }
  unset($_SESSION['createpassword_next']);
 ?>

tayfun hocam siz yapıştirdıysanız teşekkürler

Cevap yaz
Cevaplar (20)
omerfarukbicer
1262 gün önce

yok bu createpassword 2 sayfadan oluşuyor biri controller-createpassword.php biri ise createpassword.php email isim ve soyisim createaccount.php den geliyor yani tüm bilgiler sessiondan geliyor hocam kayıt eklemede bir sıkıntı yok sadece aynı kayıdı 40 kere ekliyor ve sayfa hata veriyor

tayfunerbilen
1262 gün önce

sen komple hatalı yapmışsın session yerine postları kullanarak yapman lazım burada session oluşmadığı için tekrar aynı sayfaya yönlendiriyorsun o zaman sonsuz döngüye giriyor olabilir.

omerfarukbicer
1262 gün önce
if (isset($_SESSION['cibza_accounts_pass']) && isset($_SESSION['cibza_accounts_repass'])) {
    //KODUN İÇERİĞİ
}

HOCAM BU İF BLOĞU ORDA TELDEYDİM BİRAZ YANLIŞ YAZMIŞIM BUNU İLK SORUDA TÜM KODUN YER ALDIĞI YERDE İŞARETLEDİM

tayfunerbilen
1262 gün önce

verdiğin if bloğu eklediğin kod örneğinde yok ki :) nasıl tahmin edelim biz şimdi.

webdevyusuf
1262 gün önce

bilgisayarın başında değilim maalesef bugün yardım edemiycem eğer çözemesseniz yarın çözmeye
çalışırım yarın sakin kafayla
çözeriz heralde

omerfarukbicer
1262 gün önce

evet ama diyer die lar yazmıyor

webdevyusuf
1262 gün önce

var dediğin 1 kez döndürüyormu orda die yi

omerfarukbicer
1262 gün önce

tayfun hocam dediginiz yöntemi yaptım

if(isset($_SESSION['createpassword_pass']) && isset($_SESSION['createpassword_repass'])

hocam bu if bloğun da var gözüküyor acaba ne yapmalıyım

omerfarukbicer
1262 gün önce

hocalarım teşekkürler pc basına gecince dediginiz yöntemleri deneyecegim

webdevyusuf
1262 gün önce

Tayfun Hoca'nın dediğini uygularsan daha rahat bulursun hatayı ama dediğim gibi direk php ile yapma
html ve php arasında javascript ile bağlantı kur...

omerfarukbicer
1262 gün önce

bcibzadb yi drive attım

tayfunerbilen
1262 gün önce

her bir if-else bloğuna die('burası1'); diye kodlar ekle, hangi bloğunun çalıştığından emin olman lazım önce. sonra sorunu o blok içerisindeki kodlarda arayabiliriz, böyle bir mantık yürütmek zor. Bir koşulundan dolayı sürekli yönlendirme yapıyor olabilir.

webdevyusuf
1262 gün önce

Benden bu kadar ama bence bu şekilde yapma php ile html arasında javascript ile bağlantı kur
daha rahatlarsın ve daha kolay.

Eğer javascript bilmiyorsan jquery'de kullanılanilir...

webdevyusuf
1262 gün önce

Büyük ihtimalle

<?php
unset($_SESSION['createpassword_next']);
?>

birde bunu kaldırda dene...

webdevyusuf
1262 gün önce

CibzaDB'yede bi atar mısın ?
Çünkü yazılan kodlarda bir sorun gözükmüyor...

omerfarukbicer
1262 gün önce

cibzadbtayfun hocanın basicdb nin modifiyeleisi yani ondan olmaz cunkü insert functionu basic db den aldım onu ben yazmadım

webdevyusuf
1262 gün önce

CibzaDB'den kaynaklı olma ihtimali var mı ?
Hiç normal mysqli veya pdo ile denedin mi yapmayı ?

omerfarukbicer
1262 gün önce

hocam kodları ben markdown ile paylaşmayı denedim ve kopyala yapıstır olmadı bir dk icinde sana istersen wp den dosyayı indirtim inceleye bilirsin hocam eğer öyle yapmak istiyorsan istemiyorsan diyede şimdi ben dosya linki paylasıcam

webdevyusuf
1262 gün önce

Merhaba kodları paylaşırsan yardımcı olabilirim.

Kod nasıl atılıyor dersen ?

    ```
     // Kod buraya gelecek
    ```