PHP döngü yapmadığım halde kendinden döngü oluyor
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
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (20)
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
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.
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
verdiğin if bloğu eklediğin kod örneğinde yok ki :) nasıl tahmin edelim biz şimdi.
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
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
hocalarım teşekkürler pc basına gecince dediginiz yöntemleri deneyecegim
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...
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.
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...
Büyük ihtimalle
<?php
unset($_SESSION['createpassword_next']);
?>
birde bunu kaldırda dene...
CibzaDB'yede bi atar mısın ?
Çünkü yazılan kodlarda bir sorun gözükmüyor...
cibzadbtayfun hocanın basicdb nin modifiyeleisi yani ondan olmaz cunkü insert functionu basic db den aldım onu ben yazmadım
CibzaDB'den kaynaklı olma ihtimali var mı ?
Hiç normal mysqli veya pdo ile denedin mi yapmayı ?
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
Merhaba kodları paylaşırsan yardımcı olabilirim.
Kod nasıl atılıyor dersen ?
```
// Kod buraya gelecek
```