php - Session variables resets on the refresh of the page -
i`m trying create mock login website whenever try save username in session, when page reloads, resets session 1. put on session.auto_start on thinking session_start issue it's still happening
my header.php
<?php if($_session['user'] != 1){ $user = $_session['user']; ?> <input type='submit' id='accedit' value='edit account'/> <label class='clicklog'>welcome: <?=$user?></label> <?php }else{ ?> <input type='hidden' id='accedit' value='edit account'/> <p id="clicklog">login?</p> <?php } ?>
the function
case "login": $user = $_post['user']; $pass = $_post['pass']; if($user = "cody" && $pass = "1234"){ $_session['user'] = $user; echo "yes"; }else{ echo "no"; } exit;
the ajax call
function login(user,pass){ var action = "login"; $.ajax({ url:'appedit.php', type: "post", data: {action:action,user:user,pass:pass}, success: function(response){ if(response == "yes"){ alert(response); $("#clicklog").html("<label class='clicklog'>welcome: " + $user + "</label>"); $("#clicklog").show(); $("#accedit").prop("type", "submit"); }else{ alert(response + "fail"); $("#clicklog").show(); } }, error: function (request, status, error) { alert(error); } }); }
i know it's not best looking code i'm trying patch together.
you're assigning here
if($user = "cody" && $pass = "1234"){ ^ ^
where should comparing
if($user == "cody" && $pass == "1234"){ ^^ ^^
using 2x equal signs.
- 1 equal sign => assign
- 2 equal signs => compare
- 3 equal signs => if identical
consult manual http://php.net/manual/en/language.operators.comparison.php
plus, make sure session indeed started session_start();
inside pages using sessions.
- use
isset()
. - use
!empty()
.
add error reporting top of file(s) find errors.
<?php error_reporting(e_all); ini_set('display_errors', 1); // rest of code
sidenote: error reporting should done in staging, , never production.
- check console.
additionally if you're planning move forward creating login system don't limit passwords , use proper methods hash , verify passwords php.
if plan continue using ajax function provided jquery should aware return functions have been deprecated , removed soon:
deprecation notice: jqxhr.success(), jqxhr.error(), , jqxhr.complete() callbacks deprecated of jquery 1.8. prepare code eventual removal, use jqxhr.done(), jqxhr.fail(), , jqxhr.always() instead.
Comments
Post a Comment