Avatar billede dudesicko Novice
20. december 2013 - 02:22 Der er 6 kommentarer og
1 løsning

Login system, hardcoded, men ..

Hej, jeg skal bare bruge et Hardcoded login system, det er ikke noget der behøver være Top sikret, men jeg fandt så dette som jeg egentlig godt kan lide, men problemet er så at der er jo ikke lige frem en form, hvor man skriver Bruger / Password ind, hvordan laver jeg lige den, har prøvet men det virker ikke rigtig for mig :(

Fandt det her:
http://stackoverflow.com/questions/1381205/easy-login-script-without-database


<?php

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

if(strtolower($_POST["username"])=="Admin" && $_POST["password"]=="12345"){
session_start();
$_SESSION['logged_in'] = TRUE;
header("Location: ./MinSideEfterLogin.php");

}else {
$error= "Login failed !";
}
}
//print"version3<br>";
//print"username=".$_POST["username"]."<br>";
//print"password=".$_POST["username"];
?>




Og denne skal så i toppen på alle sider:


<?php
session_start();
if(!isset($_SESSION['logged_in']) OR $_SESSION['logged_in'] != TRUE){

header("Location: ./MinSide.php");
}
?>
Avatar billede Slater Ekspert
20. december 2013 - 08:09 #1
Hvis det loginscript ellers virker - og nu har jeg ikke lige afprøvet det - så tager det $_POST['username'] og $_POST['password'] som indtastninger, hvilket betyder du bare skal have følgende form:

<form method="post" action="sidensnavn.php">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" value="Log ind">
</form>

Så kan du selv smukkesere den.
Avatar billede michael_stim Ekspert
20. december 2013 - 11:39 #2
if(strtolower($_POST["username"])=="Admin"

Den linje kan aldrig blive sand da du bruger strtolower. Du skal i så fald skifte Admin ud med admin, altså lille a.
Avatar billede Slater Ekspert
20. december 2013 - 12:04 #3
Godt set, Michael. Helt korrekt.
Avatar billede dudesicko Novice
20. december 2013 - 15:12 #4
Ok har lavet følgende sider  nu:

index.php

<form method="post" action="sidensnavn.php">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" value="Log ind">
</form>


sidensnavn.php

<?php

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

if(strtolower($_POST["username"])=="admin" && $_POST["password"]=="12345"){
session_start();
$_SESSION['logged_in'] = TRUE;
header("Location: ./side.php");

}else {
$error= "Login failed !";
}
}
print"version3<br>";
print"username=".$_POST["username"]."<br>";
print"password=".$_POST["password"];
?>


side.php

<?php
session_start();
if(!isset($_SESSION['logged_in']) OR $_SESSION['logged_in'] != TRUE){

header("Location: ./MinSide.php");
}
?>


MinSide.php

<?php
print"Burde være logget ind nu ik ?";
?>


Men nada sker der, jeg skriver mit bruger / password ind, og så går den til sidensnavn.php og der bliver den ellers, burde den ikke gå videre til side.php ?
Avatar billede Slater Ekspert
20. december 2013 - 16:43 #5
Undskyld, min fejl - det er fordi selve loginfunktionen tjekker for om der sendes en $_POST['Login'] med før den overhovedet køres.

Prøv at ændre

<input type="submit" value="Log ind">

til

<input type="submit" name="Login" value="Log ind">

Men der hvor du skriver "burde være logget ind nu ik?" er som jeg ser det den side du kommer til, hvis du IKKE er logget ind. Som logget ind burde du komme til side.php i stedet.
Avatar billede dudesicko Novice
20. december 2013 - 17:14 #6
Yeah det virker, smider du lige et svar så?
Avatar billede Slater Ekspert
20. december 2013 - 17:22 #7
Gerne.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester