v2.5.2
Giriş yap

Tab menü arasındaki session gözükmemesi

acemi
140 defa görüntülendi

bir tab menüm var
ortak bir buton la ileri geri gidiyor
her sekmede ileri gittiğinde bir post işlemi yapıyorum verileri kontrol ediyorum.

  1. sekmede bir post işlemim var orada verileri doğrulayıp bir session bilgisi üretiyorum.
    bu session bilgisi 3. sekmede echo ile basıyorum fakat sonuç alamıyorum session oluşmadı gözüküyor.
    sayfayı yenileyince bu hal ortadan kalkıyor

oluşan sessionları js ye aktarıp ordan yazdırmayıda dedim sonuç yine olumsuz.

  1. sekme açılınca otomatik bir post ile session verileri almayı denedim yine olmadı.

neden böyle bir sorun oluyor sonuçta sekme de devam dediğimde post işlemi başarılı ise 3. sekmeye gidiyor aksi halde hata var ise o ekrana geliyor.

  1. sekmede o session neden çıkmıyor bu konuda yardımcı olabilecek varmı?

kodların bir kısmı şu şekilde

					<div class="stepper stepper-pills stepper-column d-flex flex-column flex-xl-row flex-row-fluid gap-10" id="kt_create_account_stepper">
						<div class="card d-flex justify-content-center justify-content-xl-start flex-row-auto w-100 w-xl-300px w-xxl-400px">
							<div class="card-body px-6 px-lg-10 px-xxl-15 py-20">
								<div class="stepper-nav">
                                    <?php echo $install->navForeach(); ?>     
								</div>
							</div>
						</div>
						<div class="card d-flex flex-row-fluid flex-center">
							<form class="card-body py-20 w-100 mw-xl-700px px-9" novalidate="novalidate" id="kt_create_account_form">
								<div class="current" data-kt-stepper-element="content">  
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/system.php"; ?> 
								</div>
								<div data-kt-stepper-element="content"> 
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/cpanel.php"; ?>  
								</div>
								<div data-kt-stepper-element="content"> 
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/database.php"; ?>   
								</div>
								<div data-kt-stepper-element="content">
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/lisans.php"; ?>  
								</div>
								<div data-kt-stepper-element="content">
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/ayarlar.php"; ?>  
								</div>
								<div data-kt-stepper-element="content">
									<?php require_once $_SERVER["DOCUMENT_ROOT"]. "/App/instal/page/admin.php"; ?>  
								</div>
								<div class="d-flex flex-stack pt-10">
									<div class="mr-2">
										<button type="button" class="btn btn-lg btn-light-primary me-3" data-kt-stepper-action="previous">
										<i class="ki-duotone ki-arrow-left fs-4 me-1"><span class="path1"></span><span class="path2"></span></i> Geri </button>
									</div>
									<div>
										<button type="button" class="btn btn-lg btn-primary me-3" data-kt-stepper-action="submit">
											<span class="indicator-label"> Bitir 
												<i class="ki-duotone ki-arrow-right fs-3 ms-2 me-0"><span class="path1"></span><span class="path2"></span></i>
											</span>
											<span class="indicator-progress"> Lütfen Bekleyiniz... 
												<span class="spinner-border spinner-border-sm align-middle ms-2"></span>
											</span>
										</button>
										<button type="button" class="btn btn-lg btn-primary" data-kt-stepper-action="next"> Devam 
											<i class="ki-duotone ki-arrow-right fs-4 ms-1 me-0"><span class="path1"></span><span class="path2"></span></i>
										</button>
									</div>
								</div>
							</form>
						</div>
					</div>

    //database.php
    	<div class="fv-row mb-10"> 
        <label for="dbname" class="form-label required">Database Adı <?php print_r($_SESSION) ?></label>
        <div class="input-group input-group-solid mb-5">
            <span class="input-group-text" id="c_username"><?php echo isset($_SESSION["c_username"]) ? $_SESSION["c_username"] : "ÖnEki Bulunamadı" ?>_</span>
            <input type="text" class="form-control" name="dbname" id="dbname" aria-describedby="c_username" placeHolder="Database Adı"/>
        </div> 
	</div>   
	<div class="fv-row mb-10"> 
        <label for="mysql_user" class="form-label required">Database Kullanıcı Adı</label>
        <div class="input-group input-group-solid mb-5">
            <span class="input-group-text" id="c_username"><?php echo isset($_SESSION["c_username"]) ? $_SESSION["c_username"] : "ÖnEki Bulunamadı" ?>_</span>
            <input type="text" class="form-control" name="mysql_user" id="mysql_user" aria-describedby="c_username" placeHolder="Database Kullanıcı Adı"/>
        </div> 
	</div>    
r.on("kt.stepper.next", function (e) {  
    if (r.getCurrentStepIndex() === 1) {  
        n();
    } else if (r.getCurrentStepIndex() === 2) { 
        var cpanelName = document.getElementById('cpanel_name').value;
        var cpanelPassw = document.getElementById('cpanel_passw').value;
        cpanelForm(cpanelName, cpanelPassw);
        sessioncheck(); 
    } else if (r.getCurrentStepIndex() === 3){ 
        var dbname = document.getElementById('dbname').value;
        var mysql_user = document.getElementById('mysql_user').value;
        var mysql_passw = document.getElementById('mysql_passw').value;         
        createDatabase(mysql_user, mysql_passw, dbname);
    } else if(r.getCurrentStepIndex() === 4){
        lisansCheck();
    } else if(r.getCurrentStepIndex() === 5){
        siteSettings();
    } else if(r.getCurrentStepIndex() === 6){
        // installFinish();
    }
}),
 if(session_status() == PHP_SESSION_NONE) {
    session_start();
}
        require_once $_SERVER["DOCUMENT_ROOT"] . '/App/class/cpanel/CpanelUapi.php'; 
        $username = isset($_POST["username"]) ? $_POST["username"]: null;
        $password = isset($_POST["password"]) ? $_POST["password"]: null; 
        $c_cpanel = "cpanel." . $_SERVER['HTTP_HOST'];  
        $connect = $cpanel->uapi->ServerInformation->get_information();
        if($username == null || $password == null ){
            $response = ["status" => false, "message" => "Kullanıcı adı ve şifre boş geçilemez"];
        }else if($connect  == null){
            $response = ["status" => false, "message" => "Kullanıcı Bilgileri Hatalı"];
        }else if(isset($connect->status) && $connect->status != 1){
            $response = ["status" => false, "message" => "Bağlantı sırasında bir hata oluştu"];
        }else{
            $_SESSION = [
                "c_username" => $username,
                "c_password" => $password,
                "c_host" => $c_cpanel
            ];
            $response = [
                    "status" => true, 
                    "u" => $_SESSION["c_username"],
                    "p" => $_SESSION["c_password"],
                    "h" => $_SESSION["c_host"],
            ]; 
        }  
        header('Content-Type: application/json');  
        echo json_encode($response); 

bu konuda bana fikir verebilecek arkaadaşlara teşekkürler

Cevap yaz
Cevaplar (2)
acemi
77 gün önce

@busradmrts

önbellek sorunu değil kontrol ettim
tablar arasında post işlemleri olduğu için postlarda sessionlar sorunsuz çalışıyor fakat sorun

  1. sekmede giriş yapınca session oluşuyor
  2. sekmeye gidince session ile verileri çekmeye çalışıyorum fakat list alamıyorum session olmadığı için
    sekmeler arasında _GET de olmadığı için ondan kaynaklanıyor.
  3. sekmede bir post işlemi daha yapıyorum ama 4. sekmedeki post işleminde 2. sekmedeki bilgileri session dan post işlem sayfasında sorunsuz çalıştırıyor
    farklı şekillerdede denedim bir türlü olmadı
    cookie , env js cooki session hiç birinde işe yaramadı 2 de ki bilgileri post işlem sonucuda oluşan sessionlar 3. sekmede gözükmüyor
    sanıyorum ki bu duruma tab sistemi biraz engel oluyor da ona da bir fikir üretemedim.
    cevap için teşekkürler
busradmrts
79 gün önce

Tarayıcı önbelleklerinin session değerlerini etkileyebileceğini unutmayın.
Geliştirme yaparken tarayıcı önbelleğini temizlemeyi denediniz mi?