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
php sorunu yardım edebilirmisiniz
5
●290
- 23-10-2019, 09:30:15islem.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:02Hocam 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
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:59Kimlik doğrulama veya yönetimden onay bekliyor.
- 23-10-2019, 22:12:21bu 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