Avatar billede Slettet bruger
09. december 2009 - 01:00 Der er 17 kommentarer og
1 løsning

Godkende et login

Hvis jeg har en form med Brugernavn og kodeord. (login.php)
Hvordan får jeg så lavet en php fil (login_accept.php) som tjekker om brugernavn og kodeord passer samme?

Vil gerne have det sådan, at når man logger ind, kommer der en session som fortæller at man er logget ind. Det er klart.

Vil gerne have det sådan at hvis brugernavn og kodeord er godkendt.
Så ryger jeg tilbage til login.php Og Login formen er væk og der står Velkommen <brugernavn>.

Hvorimod hvis brugernavn og kode ikke passer sammen. Så ryger jeg tilbage til Login.asp. Hvor login form stadig er der og en fejlbesked om at brugernavn ikke findes. (hvis det ikke bliver fundet i databasen) eller kodeordet er forkert (hvis kodeordet findes men kodeordet ikke passer.

Nogen der kan skrive en lille historie om hvordan man gør det?
Avatar billede zips Juniormester
09. december 2009 - 01:07 #1
Her er et som har mange kommentar, så det er nemt at se hvordan det virker http://www.phpbegynder.dk/artikler.php?id=14&page=1
Avatar billede Slettet bruger
09. december 2009 - 01:14 #2
Glemte jeg selvfølgelig også at skrive.

Brugerne er oprettet i en MySQL database.
Den artikel ser ellers god ud. Hvis der findes en ala den bare med MySQL, så er det nok sådan en jeg skal have fat i.
Ellers ville det være dejligt hvis en kunne forklare hvordan man gjorder
Avatar billede zips Juniormester
09. december 2009 - 01:29 #3
Ok, så er dette måske noget der kan bruges http://www.evolt.org/node/60384
Avatar billede Slettet bruger
09. december 2009 - 01:36 #4
Se det der var da noget af en artikel. Så den tror jeg godt jeg kan bruge.

Det kan jeg om ikke andet lære en hel del ud af tror jeg.
Jeg kigger lige på den imorgen engang når jeg har fri. 1000 tak indtil da. :)
Avatar billede Slettet bruger
09. december 2009 - 01:57 #5
Hmmm nu da jeg alligevel ikke kunne sove så jeg lidt på det.
Personligt synes jeg at det er lidt svært at kode sådan en side sammen med det jeg har i forvejen.
Jeg kunne droppe det jeg har lavet (det er heller ikke så meget) og så bare bruge den der.

Men det vil jeg ikke. Synes det er sjovt og jeg lære mest ved at prøve selv. Og se de fejl der måtte. Så lære jeg også at rette dem.

Derfor tror jeg gerne jeg vil se om nogen her inde kunne hjælpe mig, ud fra det jeg har.

PT er det lidt som den side du viste mig.

MySQL database med:
Brugernavn, Mail, Kode og Adminlevel.

Og så har jeg startet min login_accept.php fil:

<?php
session_start();
require("db_connect.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);

?>

Så er det lige som det jeg kan.
Nu vil jeg gerne vide hvordan man gør det jeg skrev ovenover.
Så kan jeg lære det på den hårde måde :)
Avatar billede Slettet bruger
09. december 2009 - 02:17 #6
Eller går udfra at man skal starte sådan:

<?php
session_start();
require("db_connect.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);



$username = $_POST['username'];
$password = $_POST['password'];
Avatar billede thb Nybegynder
09. december 2009 - 08:26 #7
<?php
session_start();
require("db_connect.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
$error = array();

if (isset($_POST["login"])) {
  $username = $_POST['username'];
  $password = $_POST['password'];

  $sql = mysql_query("SELECT * FROM medlemstabel WHERE username = '" . $username . "' AND password = '" . $password . "'");
  if (mysql_num_rows($sql) > 0) {
    $_SESSION["username"] = $username;
  }
  else {
    $error[] = 'Der er fejl i login.';
  }

}

if (isset($_SESSION["username"])) {
  print 'Velkommen ' . $_SESSION["username"];
}
else {

  if (count($error) > 0) {
    print '<div style="color: #FF0000;">' . implode("<br />", $error) . '</div>';
  }

  // UDSKRIV FORMULAR MED INPUT FELTERNE 'USERNAME' OG 'PASSWORD'
}
?>


Det her er lavet rimelig hurtigt, men skulle umiddelbart klare alle dine ting i en fil og rimelig simpelt.

Håber du kan bruge det :)

Thomas
Avatar billede thb Nybegynder
09. december 2009 - 08:28 #8
Glemte lige at skrive at din submit knap, skal du kalde "login". Ellers virke selve login'et ikke :)
Avatar billede Slettet bruger
09. december 2009 - 11:30 #9
Det ser godt ud. Der er bare 2 ting. :)
1. Jeg kan ikke få det til at virke.
2. Så ville jeg faktisk godt ha haft det delt op i 2 filer. et login.php og et login_accept.php.
Grunden til dette er at så lære jeg hvordan man arbejder imellem siderne. Hvis nu jeg ikke vil ha at login.php skal være hoved siden. men bare en include fil et sted. Så vil jeg stå lidt på bar bund der.

et hurtigt spørgsmål.
Hvis jeg nu vil have Adminlvl trukket ud som session også.
Skal jeg så bare skrive sådan:
    $_SESSION["adminlvl"] = $daminlvl;



<?php
session_start();
require("db_connect.php");
mysql_connect($mysql_host, $mysql_user, $mysql_pw);
mysql_select_db($mysql_db);
$error = array();

if (isset($_POST["login"])) {
  $username = $_POST['username'];
  $password = $_POST['password'];

  $sql = mysql_query("SELECT * FROM Users WHERE username = '" . $username . "' AND password = '" . $password . "'");
  if (mysql_num_rows($sql) > 0) {
    $_SESSION["username"] = $username;
  }
  else {
    $error[] = 'Der er fejl i login.';
  }

}

if (isset($_SESSION["username"])) {
  print 'Velkommen ' . $_SESSION["username"];
}
else {

  if (count($error) > 0) {
    print '<div style="color: #FF0000;">' . implode("<br />", $error) . '</div>';
  }

echo '<form action="login.php" method="post">
<table>
  <tr>
  <td>Username:
  </td>
  <td>
    <input type="text" name="username" maxlength="100">   
  </td>
  <td>
  </td>
  </tr>

  <tr>
  <td>Password:
  </td>
  <td>
    <input type="password" name="password" maxlength="100">
  </td>
  <td>
  </td>
  </tr>

  <tr>
  <td>
    &nbsp;
  </td>
  <td>
    <input type="submit" value="login">
  </td>
  </tr>
  <tr>
  <td>
  </td>
  </tr>
</table>
</form>';
}
?>
Avatar billede Slettet bruger
09. december 2009 - 11:31 #10
Det der med session. Så skulle jeg måske bare lige skrive adminlvl rigtigt ;)
Avatar billede Slettet bruger
09. december 2009 - 22:03 #11
Slet ingen der kan hjælpe
Avatar billede thb Nybegynder
09. december 2009 - 22:06 #12
Forstår ikke at du vil have det i flere filer...

Prøv at ændre <input type="submit" value="login"> til <input type="submit" value="login" name="login">

Det var det jeg skrev at du skulle gøre for at det virkede.
Avatar billede Slettet bruger
09. december 2009 - 23:53 #13
Nåå troede bare at jeg skulle give den value.

Grunden til at jeg gerne vil have det i 2 filer er som jeg skrev.
1 Jeg kan bedre overskue koderne fra hinanden. Frem for en helt bunke i 1 fil.

Jeg prøver at at lave script for at lære.
Og jeg lære bedst ved at lege med det på den måde.
At ligge i session og overføre til andre sider osv.

Mit næste mål er at det skal sættes ind i et layout. Og når jeg så er logget ind, er det ikke meningen at der skal står "velkommen bruger" i login filen. Så er det meget rart at lære hvordan man gør det. Og det prøver jeg at lære lidt hen af vejen her.
Avatar billede thb Nybegynder
10. december 2009 - 00:01 #14
Kan godt forstå at du ikke gider at have et helt site i en fil, men synes da det giver god mening at have ting der omhandler login i samme fil.

Men det styrer du selvfølgelig selv.
Du siger det er for at lære, men så er det vel bare at give den gas nu, jeg har givet de dele af dit du skal bruge, så kan du selv lege med at flytte rundt på det til så mange filer du nu gerne vil have.
Avatar billede Slettet bruger
10. december 2009 - 00:10 #15
Er også igang.
Men har fået et problem. :P

Mangler en måde at logge af på :)
Avatar billede Slettet bruger
10. december 2009 - 00:27 #16
Nogen der kan forklare hvordan man laver et logout script til det login system jeg har?
Avatar billede Slettet bruger
15. januar 2010 - 18:25 #17
Lukker
Avatar billede thb Nybegynder
15. januar 2010 - 19:19 #18
Håber du kom frem til noget du kunne bruge !
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