Just nu i M3-nätverket
Gå till innehåll

Hjälp med inloggninsscript PHP


mrharrington

Rekommendera Poster

mrharrington

Hej!

Jag håller på med ett inloggninsscript till en hemsida, och då tänkte jag 'logga' vilka som har loggat in. Jag har fixat så att man kan se vilken tid det har skett en inloggning (separat textfil), men jag undrar om det går att få så att man 'loggar' användarnamn och lösenord på den som har loggat in?

 

Här är koden för själva inloggninssidan:

 

<?php
// startar sessionen
session_start();

// ange ditt användarnamn och lösenord i variablerna
$anvandarID = "admin";
$losenord = "password";

if (isset($_POST["anvandarID"]) && isset($_POST["losenord"])) {

// kontrollerar om användarnamn och lösenord är rätt
if ($_POST["anvandarID"] === $anvandarID && $_POST["losenord"] === $losenord)
{

// ange den session som lagrar rätt inloggningsuppgifter
$_SESSION["inloggning"] = true;

// efter rätt inloggning förflyttas användaren till den skyddade sidan
header("Location: login.php");
exit;
}
    // om användarnamn och lösenord är fel lagras meddelandetexten i variabeln
    else {$felmeddelande = "Du har angivit fel användarnamn eller lösenord!";}


}
//... efter att du har loggats in
$fh = fopen("logfil.txt", 'a') or die("can't open file");
$stringData = date(DATE_RSS)." - ".$userthatlogedin;
fwrite($fh, $stringData);
fclose($fh);

?>

 

Och här är koden till den sidan man bli inloggad till:

<?php
// startar sessionen
session_start();

// om ingen session finns med rätt användarnamn och lösenord visas inloggningssidan igen
if (!isset($_SESSION["inloggning"]) || $_SESSION["inloggning"] !== true) {
header("Location: login.php");
exit;
}

// om sessionen finns är inloggningen korrekt och då visas sidinnehållet nedan:

//... efter att du har loggats in
$fh = fopen("logfil.txt", 'a') or die("can't open file");
$stringData = date(DATE_RSS)." - ".$userthatlogedin;
fwrite($fh, $stringData);
fclose($fh);  
?>

 

Tacksam för svar!

/ mrharrington

 

Länk till kommentar
Dela på andra webbplatser

  • 2 veckor senare...

Tjena!

 

För att göra det måste du få med dig användarnamnet och lösenordet till sidan man blir inloggad till. Jag skulle använda sessions till det.

 

#1


<?php
// startar sessionen
session_start();

// ange ditt användarnamn och lösenord i variablerna
$anvandarID = "admin";
$losenord = "password";

if (isset($_POST["anvandarID"]) && isset($_POST["losenord"])) {

// kontrollerar om användarnamn och lösenord är rätt
if ($_POST["anvandarID"] === $anvandarID && $_POST["losenord"] === $losenord)
{

// ange den session som lagrar rätt inloggningsuppgifter
$_SESSION["inloggning"] = true;
$_SESSION["anvandare"]=$_POST["anvandarID"];
$_SESSION["losen"]=$_POST[["losenord"];
// efter rätt inloggning förflyttas användaren till den skyddade sidan
header("Location: login.php");
exit;
}
    // om användarnamn och lösenord är fel lagras meddelandetexten i variabeln
    else {$felmeddelande = "Du har angivit fel användarnamn eller lösenord!";}


}
//... efter att du har loggats in
$fh = fopen("logfil.txt", 'a') or die("can't open file");
$stringData = date(DATE_RSS)." - ".$_POST["anvandare"] . " - " . $_POST["losen"];
fwrite($fh, $stringData);
fclose($fh);

?>

 

#2

<?php
// startar sessionen
session_start();

// om ingen session finns med rätt användarnamn och lösenord visas inloggningssidan igen
if (!isset($_SESSION["inloggning"]) || $_SESSION["inloggning"] !== true) {
header("Location: login.php");
exit;
}

// om sessionen finns är inloggningen korrekt och då visas sidinnehållet nedan:

//... efter att du har loggats in
$fh = fopen("logfil.txt", 'a') or die("can't open file");
$stringData = date(DATE_RSS)." - ".$_SESSION["anvandare"] . " - " . $_SESSION["losen"];
fwrite($fh, $stringData);
fclose($fh);  
?>

 

Länk till kommentar
Dela på andra webbplatser

mrharrington

När jag använder den koden blir inloggninssidan helt vit, det finns varken text eller bilder. Vad kan vara felet?

 

Länk till kommentar
Dela på andra webbplatser

Oj, skrev fel i #1 såg jag nu. Men jag förstår inte vad du menar med att sidan blir helt vid det borde den ju bli om man inte har skrivit något annat. Säker på att man inte måste skriva: $_SESSION["inloggning"] = "true"; och inte $_SESSION["inloggning"] = true; ?

<?php
// startar sessionen
session_start();

// ange ditt användarnamn och lösenord i variablerna
$anvandarID = "admin";
$losenord = "password";

if (isset($_POST["anvandarID"]) && isset($_POST["losenord"])) {

// kontrollerar om användarnamn och lösenord är rätt
if ($_POST["anvandarID"] === $anvandarID && $_POST["losenord"] === $losenord)
{

// ange den session som lagrar rätt inloggningsuppgifter
$_SESSION["inloggning"] = true;
$_SESSION["anvandare"]=$_POST["anvandarID"];
$_SESSION["losen"]=$_POST["losenord"];
// efter rätt inloggning förflyttas användaren till den skyddade sidan
header("Location: login.php");
exit;
}
    // om användarnamn och lösenord är fel lagras meddelandetexten i variabeln
    else {$felmeddelande = "Du har angivit fel användarnamn eller lösenord!";}


}
//... efter att du har loggats in
$fh = fopen("logfil.txt", 'a') or die("can't open file");
$stringData = date(DATE_RSS)." - ".$_POST["anvandare"] . " - " . $_POST["losen"];
fwrite($fh, $stringData);
fclose($fh);

?>



 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...