Switch koşulu çalışmıyor

Shuttesh

Megapat
Katılım
7 Mart 2015
Mesajlar
36
Daha fazla  
Cinsiyet
Erkek
PHP:
<?php.
$durum = $_SESSION['durum'] ?? null;
switch ($durum) {
case '1':
echo '<script type="text/javascript">swal("İşlem Başarılı!", "Tebrikler", "success")</script>';
$_SESSION['durum'] = null;
break;
case '0':
echo '<script type="text/javascript">swal("İşlem Başarısız!", "Tekrar Deneyin", "warning")</script>';
$_SESSION['durum'] = null;
break;
} ?>

Yukarıda durum değişkenimin değerine göre başarılı veya başarısız mesajı verdiriyorum. Normalde durum değişkenim 1 geldiğinde başarılı mesajım gelmeli ardından durum değişkenimi boş yapmalı. Ama burada başarılı mesajını atlayarak direkt olarak değişkenimi değerini null yapıyor. Bunu nasıl çözebilirim?
 
PHP:
<?php.
$durum = $_SESSION['durum'] ?? null;
switch ($durum) {
case '1':
echo '<script type="text/javascript">swal("İşlem Başarılı!", "Tebrikler", "success")</script>';
$_SESSION['durum'] = null;
break;
case '0':
echo '<script type="text/javascript">swal("İşlem Başarısız!", "Tekrar Deneyin", "warning")</script>';
$_SESSION['durum'] = null;
break;
} ?>

Yukarıda durum değişkenimin değerine göre başarılı veya başarısız mesajı verdiriyorum. Normalde durum değişkenim 1 geldiğinde başarılı mesajım gelmeli ardından durum değişkenimi boş yapmalı. Ama burada başarılı mesajını atlayarak direkt olarak değişkenimi değerini null yapıyor. Bunu nasıl çözebilirim?

@Berkay Davas hocam müsaitse ilgilenebilir.
 
Ek olarak
PHP:
$_SESSION['durum'] = null;

Bu satırı kaldırdığımda kod çalışıyor. Tabi haliyle durum değeri sıfırlanmadığından aynı mesajı her sayfa yenilenmesinde veriyor.
 
Evet o dosya yüklü.

PHP:
$_SESSION['durum'] = null;

Bunu kaldırınca düzeliyor fakat sessiondaki durum değeri aynı kaldığından sürekli mesajı verdiriyor haliyle.
Alert kullanınca da çalışmıyor. Ama durum değişkenini null yapan satırı kaldırınca çalışıyor.
 
Alert kullanınca da çalışmıyor. Ama durum değişkenini null yapan satırı kaldırınca çalışıyor.
PHP:
<?php
    $_SESSION['durum'] = "1";

    $isSuccess = true;

    $durum = $_SESSION['durum'] ?? null;
    switch ($durum) {
        case '1':
            $isSuccess = true;
            $_SESSION['durum'] = null;
            break;
        case '0':
            $isSuccess = false;
            $_SESSION['durum'] = null;
            break;
    }
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>  


    <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
    <script>
        <?php if ($isSuccess) { ?>
            swal("İşlem Başarılı!", "Tebrikler", "success");
        <?php } else { ?>
            swal("İşlem Başarısız!", "Tekrar Deneyin", "warning");
        <?php } ?>
    </script>
</body>
</html>

Bu şekilde çalışır ama bu yöntem pek iyi değil. Başarılı mı sorgunu bir servis yapıp, AJAX ile sorgu atman daha sağlıklı olur. HTML etiketlerini kullanman lazım. DOM element yüklenmemesi sıkıntı oluyor.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı