PHP redirecting after incorrect login -
so script tutorial read in honesty don't understand every part of i'm new php , isn't code! (some , isn't)
so it's login script, after login redirects user account page great. if enter wrong login details still redirects them page. bad displays users account page minus bits populated through database connection details hasn't been established.
here's code html form submits (i've copied whole file believe main code @ bottom "//store login status session" wrong of course:
<?php include 'user.php'; include 'index.php'; $user = new user(); if(isset($_post['signupsubmit'])){ //check whether user details empty if(!empty($_post['first_name']) && !empty($_post['last_name']) && !empty($_post['email']) && !empty($_post['phone']) && !empty($_post['password']) && !empty($_post['confirm_password'])){ //password , confirm password comparison if($_post['password'] !== $_post['confirm_password']){ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'confirm password must match password.'; }else{ //check whether user exists in database $prevcon['where'] = array('email'=>$_post['email']); $prevcon['return_type'] = 'count'; $prevuser = $user->getrows($prevcon); if($prevuser > 0){ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'email exists, please use email.'; }else{ //insert user data in database $userdata = array( 'first_name' => $_post['first_name'], 'last_name' => $_post['last_name'], 'email' => $_post['email'], 'password' => md5($_post['password']), 'phone' => $_post['phone'], 'postcode' => $_post['postcode'], 'travel' => $_post['travel'], 'driver' => $_post['driver'], 'main' => $_post['main'], 'prop' => $_post['prop'], 'hooker' => $_post['hooker'], 'second_row' => $_post['second_row'], 'flanker' => $_post['flanker'], 'eight' => $_post['eight'], 'scrum_half' => $_post['scrum_half'], 'fly_half' => $_post['fly_half'], 'centre' => $_post['centre'], 'winger' => $_post['winger'], 'full_back' => $_post['full_back'], 'available' => $_post['available'], ); $insert = $user->insert($userdata); //set status based on data insert if($insert){ $sessdata['status']['type'] = 'success'; $sessdata['status']['msg'] = 'you have registered successfully, log in credentials.'; }else{ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'some problem occurred, please try again.'; } } } }else{ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'all fields mandatory, please fill fields.'; } //store signup status session $_session['sessdata'] = $sessdata; $redirecturl = ($sessdata['status']['type'] == 'success')?'index.php':'registration.php'; //redirect home/registration page header("location:".$redirecturl); }elseif(isset($_post['loginsubmit'])){ //check whether login details empty if(!empty($_post['email']) && !empty($_post['password'])){ //get user data user class $conditions['where'] = array( 'email' => $_post['email'], 'password' => md5($_post['password']), 'status' => '1' ); $conditions['return_type'] = 'single'; $userdata = $user->getrows($conditions); //set user data , status based on login credentials if($userdata){ $sessdata['userloggedin'] = true; $sessdata['userid'] = $userdata['id']; $sessdata['status']['type'] = 'success'; $sessdata['status']['msg'] = 'welcome '.$userdata['first_name'].'!'; }else{ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'wrong email or password, please try again.'; } }else{ $sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'enter email , password.'; } //store login status session $_session['sessdata'] = $sessdata; //redirect home page header("location:http://www.example.com/successful_login.php"); }elseif(!empty($_request['logoutsubmit'])){ //remove session data unset($_session['sessdata']); session_destroy(); //store logout status ession $sessdata['status']['type'] = 'success'; $sessdata['status']['msg'] = 'you have logout account.'; $_session['sessdata'] = $sessdata; //redirect home page header("location:http://www.example.com"); }else{ //redirect home page header("location:index.php"); } ?>
i've tried changing:
$sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'wrong email or password, please try again.';
to:
$sessdata['status']['type'] = 'error'; $sessdata['status']['msg'] = 'wrong email or password, please try again.'; header("location:www.loginpage.com");
but makes no difference @ all
you need move header("location:http://www.example.com/successful_login.php");
underneath: if($userdata){
looks this:
if($userdata){ $sessdata['userloggedin'] = true; $sessdata['userid'] = $userdata['id']; $sessdata['status']['type'] = 'success'; $sessdata['status']['msg'] = 'welcome '.$userdata['first_name'].'!'; header("location:http://www.example.com/successful_login.php"); }
the reason why getting redirected homepage because redirect code needs within logic says (pseudo code):
if(user logged in){ redirecttohomepage; } else { showmessage('incorrect password'); }
Comments
Post a Comment