• 23-10-2019, 09:18:46
    #1
    merhaba arkadaşlar

    arkadaşlar ayarlar.php dosyası post edildiğinde islem.php dosyasına gidiyor ve burada işelm sonucu başarılı ise işlem tamamlandı yazıyor benim istedğim şu ayarlar.php dosyasına yönlendirme yapması ve ayarlar.php sayfasında başarılı
    yazmasını istiyorum acaba nasıl yapabilirim bana yardımcı olurmusunuz
  • 23-10-2019, 09:30:15
    #2
    islem.php'nin içeriğini tam olarak bilmediğimden;

    html form öğelerinen formu islem.php yerine, ayarlar.php'ye yönlendirmeniz kafi.

    Ya da islem.php bir fonksiyon dosyası gibi üstte include edilmiş ise, bu işlemi başarılı sayan fonksiyonu;
    if(fonksiyon_adi){ echo "başarılı";} şeklinde de çözüm sağlanabilir. (ekleme: islem.php'deki işlem sonu return olunan ya da echo edilen kısım silinmelidir aksi halde 2 kere çağırır başarılı yazısını.)

    Ya da islem.php'de bu post değeri ne ise bir adet -- if(isset($_POST["istediniz_islem_submit_degeri"])){--- kodlar ---} gibi bir kısım olmalı. Bunu ayarlar.php'ye kopyalamanız gerek ve yine html kodlarından formu ayarlar.php'ye post ettirmeniz gerekmekte.
  • 23-10-2019, 09:31:02
    #3
    Hocam pek sağlıklı olmasada aşağıda ki yöntemlerden birisini kullanabilirsiniz.

    1. Yöntem URL ile gönderme
    islem.php dosyasının tamamlandı kısmına
    header("Location: ayar.php?mesaj=tamamlandı");
    die();
    ayar.php dosyasında mesajın gösterilmesini istediğiniz yere
    if(isset($_GET['mesaj'])){
    echo $_GET['mesaj'];
    }
    Açıklama: Url aracılığı ile mesaj tanımlanır ve ayar.php dosyasına yönlendirilir. ayar.php dosyasında mesaj varsa ekrana yazılır.

    2. Yöntem Session ile gönderme
    islem.php dosyasının tamamlandı kısmına
    session('mesaj') = 'tamamlandı';
    header("Location: ayar.php?mesaj=tamamlandı");
    die();
    ayar.php dosyasında mesajın gösterilmesini istediğiniz yere
    if(isset(session('mesaj'))){
    echo session('mesaj');
    unset(session('mesaj'));
    }
    Açıklama: islem.php dosyasında session oluşturulur ve ayar.php dosyasına yönlendirme yapılır. ayar.php dosyasında session kontrol edilir. session var ise ekrana yazılır ve session silinir.
  • 23-10-2019, 09:31:10
    #4
    if (!empty($_POST))
    {
        foreach ($_POST as $key => $value) {
            if (!empty($value)) {
                ${$key} = $value;
            }
        }
        
        /** İşlemleri bu kısımda yapabilirsiniz. **/
    }
    Bu kodu ayarlar.php dosyasının en üstüne ekleyin ve formu islem.php değil ayarlar.php yönlendirin islem.php de yaptığınız işlemleri burada tekrarlayın.

    Not: Yukarıda vermiş olduğum kod göndermiş olduğunuz formdaki name ve value değerlerini dikkate alarak işlem yapmaktadır yani eğer <input type="text" name="isim" value="Onur" /> şeklinde bir alan var ise form gönderildikten sonra $isim = 'Onur'; olacaktır.
  • 23-10-2019, 10:35:59
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    https://github.com/plasticbrain/PhpFlashMessages
  • 23-10-2019, 22:12:21
    #6
    bu ayarlar.php


    <?php
    
    include'baglan.php';
    
    ?>
    
    
    <?php
    // Initialize the session
    session_start();
    
    // Check if the user is logged in, if not then redirect him to login page
    if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
    header("location: login.php");
    exit;
    }
    
    ?>
    
    <?php include'header.php' ?>
    
    
    <form action="islem.php" method="post">
    
    <div class="card">
    <div class="card-header"><h3>Ayarlar Menüsü</h3></div>
    
                                     <div class="card-body">
    <form class="forms-sample">
                                            
                                            
                                            
    <div class="form-group">
    <label for="exampleInputUsername1">Site Başlığı</label>
    <input type="text" class="form-control" placeholder="Lütfen Site Başlığını Girin." name="site_baslik" value="<?php echo $ayarcek['site_baslik'] ?>">
    </div>
    <div class="form-group">
    <label for="exampleInputEmail1">Site Açıklaması</label>
    <input type="text" class="form-control" placeholder="Lütfen Site Açıklaması Girin" name="site_aciklama" value="<?php echo $ayarcek['site_aciklama'] ?>">
    </div>
    <div class="form-group">
    <label for="exampleInputPassword1">Site Sahibi</label>
    <input type="text" class="form-control" placeholder=" Site Sahibi " name="site_sahibi" value="<?php echo $ayarcek['site_sahibi'] ?>">
    </div>
    <div class="form-group">
    <label for="exampleInputConfirmPassword1">Açıklama</label>
    <input type="text" class="form-control" i placeholder="Açıklama" name="aciklama" value="<?php echo $ayarcek['aciklama'] ?>">
    </div>
    
    <button type="submit" class="btn btn-success"name="ayarkaydet">Kaydet</button>
                            
    <button class="btn btn-danger">Çıkış</button>
                                                
                                                <p>
                                        
                </p>
    </form>
    </div>
    </div>
    
    <?php include'footer.php' ?>

    buda işlem.php

    <?php
    include'baglan.php';
    if(isset($_POST['ayarkaydet'])){
        $ayarkaydet=$db->prepare("UPDATE ayarlar SET site_baslik=:site_baslik, site_aciklama=:site_aciklama,site_sahibi=:site_sahibi, aciklama=:aciklama");
    
    
    
        $ayarkaydet->execute(array(
        'site_baslik' => $_POST['site_baslik'],
        'site_aciklama'=> $_POST['site_aciklama'],
        'site_sahibi' => $_POST['site_sahibi'],
        'aciklama' => $_POST['aciklama']
    ));
    
    }
    
    ?>




    işlem.php eğer başarılı ise ayar.php de başaşrılı yazmasını istiyorum