Footerda bir kayıt formu bulunuyor.
<form name="befollower" action="islem.php" method="POST">
<input type="text" name="username" placeholder="Username" required>
<input type="text" name="email" placeholder="E-Mail" required>
<input type="password" name="pass" placeholder="Password" required>
<button name="reging">Be a Follower</button>
</form>
Bu form ile username, email ve pass değerleri POST ediliyor.
POST edildikten sonra kontrolü yapılıyor.
if (isset($_POST['reging'])) {
$usernamereg = $_POST['username'];
$emailreg = $_POST['email'];
$passreg = $_POST['pass'];
Daha sonra bu değerlerde bir satır bulunuyor mu kontrol ediliyor.
$followercontrol = "SELECT * FROM followers WHERE BINARY fusername='".$usernamereg."'";
$followercontrolresult = $baglanti->query($followercontrol);
if ($followercontrolresult->num_rows < 1) {
Eğer bulunmuyorsa kayıt işlemi yapılıyor.
$followerreg = "INSERT INTO followers (fusername, femail, fpassword)
VALUES ('".$usernamereg."', '".$emailreg."', '".md5($passreg)."')";
Buraya kadar her şey normal bir şekilde çalışıyor. Veritabanında kullanıcı oluşturuluyor. Ancak query gerçekleştirildi mi sorgusu yapıldığında işler değişiyor.
if ($baglanti->query($followerreg) === TRUE) {
$getfollowerdata = "SELECT * FROM followers WHERE BINARY fusername='".$usernamereg."' AND fpassword='".md5($passreg)."'";
$queryfollowerdata = $baglanti->query($getfollowerdata);
if ($queryfollowerdata->num_rows > 0) {
$getfollowerdatas = "SELECT * FROM followers WHERE BINARY fusername='".$usernamereg."'";
$getfollowerdatasresult = $baglanti->query($getfollowerdatas);
$getfollowerdatasresults = mysqli_fetch_assoc($getfollowerdatasresult);
$_SESSION['followerid'] = $getfollowerdatasresults['fid'];
$_SESSION['followerpp'] = $getfollowerdatasresults['fprofilephoto'];
$_SESSION['followeruname'] = $getfollowerdatasresults['fusername'];
header('Location:index.php');
}
} else {
header('Location:index.php?followerreg=errorserver');
}
} else {
header('Location:index.php?followerreg=erroruser');
}
}
Burada kontroller yapılıyor ve kayıt edilmiş ise verilerinin çekilmesi ve sessiona kayıt edilmesi isteniyor. Ancak bunları yapmıyor. Yani query başarılı mı sorgusunun içine girmiyor. Ancak başarısız olduğu sorgusunu da çalıştırmıyor. Yani kısacası kayıt ediyor ama verileri çekip session içerisine almıyor. Nerede yanlış yaptım acaba?
Not: index.php ve islem.php sayfalarında session_start();
ob_start();
Ayrı ayrı bulunuyor.