Php yönlendirme sorunu.
Herkese iyi geceler. Kendimce birşeyler deniyorum lakin bir yerde takıldım. Kullanıcı kayıt olduktan sonra giriş yapma sayfasına yönlendirip oradan giriş yaptıktan sonra mail inbox a göndermek istiyorum. Bu yönlendirme işlemi için header() kullanım. Başka yöntemler var mı bilmiyorum. Lakin dosya yolları doğru olmasına rağmen gitmiyor yada sayfa değişmiyor.
<?php
session_start();
require_once 'connection.php';
if ($_POST) {
$userEmail = htmlspecialchars(trim($_POST['userEmail']));
$userPassword = htmlspecialchars(trim(md5($_POST['userPassword'])));
if (empty($userEmail) || empty($userPassword)) {
echo "Boş bırakmayın";
} else {
if (filter_var($userEmail, FILTER_VALIDATE_EMAIL)) {
$query = $db->prepare("SELECT * FROM users WHERE userEmail = ? AND userPassword = ?");
$query->execute(array($userEmail, $userPassword));
if ($query->rowCount()) {
echo "hoş geldin";
$_SESSION["userEmail"] = $userEmail;
header('Location: ../mail/');
} else {
echo "Böyle bir kullanıcı yok";
}
} else {
echo "$userEmail geçerli bir eposta değil.";
}
}
} else {
echo "POST MALASEF YOK";
die();
}
<?php
require_once 'connection.php';
if ($_POST) {
$userName = htmlspecialchars(ucwords(trim($_POST["userName"])));
$userSurname = htmlspecialchars(ucwords(trim($_POST["userSurname"])));
$userEmail = htmlspecialchars(trim($_POST['userEmail']));
$userPassword = htmlspecialchars(trim(md5($_POST['userPassword'])));
if (empty($userName) || empty($userSurname) || empty($userEmail) || empty($userPassword)) {
echo "Lütfen Boş Bırakmayın";
} else {
if (filter_var($userEmail, FILTER_VALIDATE_EMAIL)) {
$query = $db->prepare("INSERT INTO users SET
userName = ?,
userSurname = ?,
userEmail = ?,
userPassword = ?");
$insert = $query->execute(array(
$userName, $userSurname, $userEmail, $userPassword
));
include './email-tamplate.php';
header('Location: ./sign-in');
} else {
echo ("$userEmail geçersiz bir eposta");
}
}
} else {
header("Location: ../error.php");
echo "POST YOK MALASEF";
}
?>
Buradaki headar kısımları çalışmıyor. Form kısmından verileri Tayfun abinin form validation videosu gibi geliyor. Network kısmından baktığım zaman sign-in e gidiyor lakin sayfa değişmiyor.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (10)
hmm javascript ile gonderdiysen javascript tarafindan yonlendirmen gerekiyor şunu kullanabilirsin..
Örnek:
window.location = "/accounts/sign-in";
ajax kullanmıyorum lakin post etme işini formdan değil javasciprt ile gönderiyorum. Tayfun abinin form validation videosundaki gibi.
Barış hocam benim accounts klsörüm var ve içinde sign-in ve sign-up dosyalarm var. Sign-up dan sign-in geçemek için ./sign-in şekilde denedim. Ardından gönder dediğim zaman network kısmında baktığım zaman sign-in in html kısmı preview de gözüküyor. Sign - in e gidiyor lakin sayfa değişmiyor. Resim yükeyebilsem daha anlaşılabilir şekilde göstereceğim.
Dostum, ayrıca header fonksiyonunu kullandıktan sonra bir echo işlemi yapmışsın çalışmaz orası...
Sorunuzu güncellemişsiniz şimdi gördüm, header fonksiyonu dosya yoluna göre çalışmaz link vermeniz gerekir...
Örnek:
header('Location: /panel/uyeler');
Hocam kusura bakmayın ben resim olarak ekleyecektim lakin ekleyemedim. Düzenledim şimdi. @bariscodefx
Yazdığın kodu atıp, ne yaptığın hakkında biraz daha bilgi verebilirmisin?