Tātad, pēc ilgiem laikiem, es cenšos uztaisīt login sistēmu, balstoties uz 4. un 5. punkta šajā rakstā.
tātat fails - login.php
<?php
include ("dbcon.inc.php");
$posteduser = mysql_real_escape_string($_POST['username']);
$postedpass = mysql_real_escape_string(md5($_POST['password']));
$mysql_pass = $db->get_row("SELECT * FROM `userlist` WHERE `username` = '$posteduser'");
if($mysql_pass->password == $postedpass && $mysql_pass->username == $posteduser){
session_register("posteduser");
header("location: login_success.php");
}
else
{
die("Wrong password or username");
}
?>
un login_success.php
<?php
session_start();
if(!session_is_registered('posteduser')){
header("location: index.html");
}else{
?>
<html>
<body>
You have successfully logged in
</body>
</html>
<?php
}
?>
Tātad pēc idejas, ja dati, kurus es ievadu ir pareizi, tad reģistrē sesiju un aizved uz login_success.php, tātad, login_success.php pārbauda, vai sesija ir reģistrēta, ja nē, tad sūta atpakaļ uz index.html, kur jālogojās pa jaunam, ja ir reģistrēta, tad jāparādās "You have successfully logged in" bet es tajā login_successful.php varu ieiet un man teiks, ka logins ir successful, pat, ja es neesmu ielogojies. Ko lai dara?
Laboja mad, labots 1x
0 #130.04.2013. 10:02
Error reporting ir ieslēgts? Varbūt ir kaut kāda "headers already sent" kļūda, ja esi izmantojis utf-8 failus ar bom, tobiš saglabājis notepadā neko nemainot.
Citādi izskatās, ka vajadzētu strādāt, lai gan kods tāds pabriesmīgs.
0 #230.04.2013. 22:09
Saliku visu vienā kodā, kaut ko pamainīju, tāpat es varu tikt uz to logina lapu, jopt.
<?php
include ("dbcon.inc.php");
session_start();
$posteduser = mysql_real_escape_string($_POST['username']);
$postedpass = mysql_real_escape_string(md5($_POST['password']));
$mysql_pass = $db->get_row("SELECT * FROM `userlist` WHERE `username` = '$posteduser'");
if($mysql_pass->password == $postedpass && $mysql_pass->username == $posteduser){
session_register('posteduser');
}
elseif (!isset($_SESSION['posteduser'])) {
?>
<html>
<body>
<h2>
Login</h2></br>
<form action="login.php" method="post" ></br>
Username: <input type="text" name="username"></br>
Password: <input type="password" name="password"></br>
<input type="submit">
</form>
</body>
</html>
<?php
}
?>
<?php
if(isset($_SESSION['posteduser'])) {
?>
<html>
<body>
You have successfully logged in
</body>
</html>
<?php
}
?>