Forum > Övriga serverspråk > PHP
Hej.
Jag har fått i uppgift att fixa ett inloggningssystem åt min kusins företag. Det hela skal fungera så här:
Jag har börjat med en enkel inloggning men har kört fast lite. Min kod ser ut så här:
<?php
session_start(); // Alltid överst på sidan
require "_inc/conn.php";
$con = mysql_connect("host","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("databasen", $con);
// Inloggning vid postat formulär
if (isset($_POST['submit'])){
$_POST = db_escape($_POST);
$sql = "SELECT id FROM lm_users
WHERE strUserName='{$_POST['UserName']}'
AND strPassword='{$_POST['Password']}'";
// $result = mysql_query($sql);
$result = mysql_query($sql) or die(mysql_error());
// Hittades inte användarnamn och lösenord
// skicka till formulär med felmeddelande
if (mysql_num_rows($result) == 0){
header("Location: loggain.php?badlogin=true");
exit;
}
// Sätt sessionen med unikt index
$_SESSION['sess_id'] = mysql_result($result, 0);
$_SESSION['sess_user'] = $_POST['UserName'];
header("Location: inloggad.php");
exit;
}
mysql_close($con);
?>
Jag vet det är inte den bästa koden men bara jag får igång funktionen så kan jag vidarutveckla och tänka mer på säkerhet sen. Det är inget hemligt som döljer sig bakom inloggningen.
Och även bygga om den med bättre kod när jag lärt mig lite mer.
Denna koden fungerar till en viss del. Loggar jag in med rätt uppgifter så händer inget. Jag stannar kvar på sidan jag blir inte skickad till inloggad.php som jag vill. Skriver jag fel uppgifter skickad jag till ?badlogin=true och ett meddelande visas.
Hur gör jag för att man skall skickas till inloggad.php?
Fel...
Kollade på ditt tidigare inlägg och jag har redan provat att lägga in else som du säger och det funkar inte som du med säkert kom fram till.
Högst upp i ditt dokument skriver du ob_start()
Sedan innan du använder Header() så kör du ob_clean()