Just nu i M3-nätverket
Jump to content

Inloggningsskript


easy

Recommended Posts

Jag håller på att göra ett simpelt inloggningsskript, som ser ut på följande vis:

 

<?

 

if (isset($_POST['sub'])) {

 

if (strlen($_POST['user'])<1) {

 

header ("Location: ?page=main");

 

exit;

 

}

 

elseif (strlen($_POST['pass'])<1) {

 

header ("Location: ?page=main");

 

exit;

 

} else {

 

$q_login = mysql_db_query("sbe", "SELECT id FROM admin WHERE user='{$_POST['user']}' AND pass='{$_POST['pass']}'");

 

if (mysql_num_rows($q_login) == 0) {

 

header ("Location: ?page=main");

 

exit;

 

}

 

$_SESSION['user'] = $_POST['user'];

$_SESSION['id'] = $mysql_result($q_login, 0);

 

header("Location: ?page=main");

 

exit;

 

}

 

} else {

 

?>

<b>Admin</b> - Logga in<p>

<form method="post">

 

Användare:<br><input type="text" name="user" style="width: 120px; font-family: verdana; font-size: 10px"><br>

Lösenord:<br><input type="password" name="pass" style="width: 120px; font-family: verdana; font-size: 10px"><p>

<input type="submit" name="sub" value="Enter" style="width: 80px; font-family: verdana; font-size: 10px; background-color: #ffffff">

 

</form>

 

<? } ?>

 

Ni kan själva testa det på: http://easycup.mine.nu/~easycup

 

Nu undrar jag vad som är felet? Har tittat igenom koden ett antal gånger, men kan inte förstå vad som är fel. Poäng för svar ;)

/easy

 

Link to comment
Share on other sites

Är felet följande?

Warning: Cannot modify header information - headers already sent by (output started at C:\Program\Apache Group\Apache2\htdocs\~easycup\index.php:14) in C:\Program\Apache Group\Apache2\htdocs\~easycup\admin.php on line 25

 

Då har du skrivit ut något på sidan innan du försöker redirecta med header. Headers måste skickas före allt annat.

 

Felet kan också vara att du har tomma rader före <?php. Även det räknas som en utskrift.

 

Enligt ovanstående felmeddelande blir det alltså fel på rad 25, eftersom headers redan skickats ut på rad 14. ;)

 

_________

TicoRoman - The One And Only

 

 

[inlägget ändrat 2003-04-19 01:45:42 av TicoRoman (Almir)]

Link to comment
Share on other sites

Ahh, tack för hjälpen för, hmm, 100onde gången? ;)

 

Hursomhelst tror jag att felet ligger i ett jag måste göra en egen fil till själva loginskriptet, eftersom formuläret inkluderas i index.php (och då skrivs saker ut innan headern).

 

Tack!

 

Uppdatering: Nu funkar inloggning, $_SESSION['user'] sätts osv. Nästa problem (!) som nu uppkommit, är att $_SESSION['user'] inte "finns kvar" när man forwardas till admin.php igen (då ska det stå att man är inloggad osv.). Har testat att $_SESSION funkar, genom att bara skriva ut $_SESSION['user'] precis efter den satts. Någon som kan komma med ett förslag på vad problemet kan vara? Tacksam för svar återigen!

[inlägget ändrat 2003-04-19 02:50:56 av easy]

 

http://easycup.mine.nu/~easycup/index.php?page=admin

 

Användare: easy^ Lösenord: hej

[inlägget ändrat 2003-04-19 02:55:13 av easy]

Link to comment
Share on other sites

Jag antar att du nu "lyft ut" inloggningsdelen till en separat fil, som du sa.

 

Då är frågan:

 

Har du kanske glömt att starta sessionen i admin.php (samt inlogningsfilen) med session_start();?

 

Sessionen måste startas i varje fil där du vill komma åt sessionsvariablerna, oavsett om det gäller läsning eller skrivning.

 

Sedan är det inte rekommenderat att ändra sina inlägg lång tid efter att de skrivits. Då kan andra besökare missa ändringen, om de läst inlägget innan. ;)

 

_________

TicoRoman - The One And Only

 

[inlägget ändrat 2003-04-19 03:03:27 av TicoRoman (Almir)]

Link to comment
Share on other sites

Japp, har lyft ut inloggningsdelen. Det jag kan ha glömt att göra är att dra in session_start(); i login.php :)

 

Du är verkligen en guru på detta ;)

 

Ska tänka på det där att inte ändra inlägget.

 

TACK!

 

Link to comment
Share on other sites

Du är verkligen en guru på detta ;)
Tack, det bästa någon sagt till mig denna vecka ;)

 

Alltid lika kul att kunna hjälpa till.

 

 

_________

TicoRoman - The One And Only

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...