Avatar billede nyhuus Nybegynder
19. maj 2004 - 13:37 Der er 21 kommentarer og
1 løsning

Hjæpl jeg er noob til php jeg skal bruge hjælp til mit login scri

her er mit script det er kun til passwhord men jeg vil gerne have bruger navn så jeg kan have flere login og jeg har aldrig brugt php jeg fandt det her på en sie og det virket :D
så plz hjælp mio

Scriptet:

PHP Tutorials 

If you want to password protect a file, then you can use this:

<form name="pp" method="post" action="check.php">
<input type="password" name="pass">
<input type="submit" value="Log In">
</form>

Ok we have a form and an input, called pass.
When they click Log In it will take them to check.php

So in check.php we have the following:

<?php
if ($_POST['pass'] == "PasswordHere") {
include ("welcome.php");
}
else {
header("Location: error.php");
}
?>

So this is an if and else statement, replace PasswordHere with the password
you want to use!

If the password in the form and your password match then it will keep
check.php but actually load inside it welcome.php
If its wrong it will redirect them to error.php

Script slut:

Jeg ville også grene om der var en der kunne lave en script der skal kunen sættes på html side hvor man skulle have logget ind for at kunne komme ind på siderne :D
Avatar billede Slettet bruger
19. maj 2004 - 13:42 #1
Har du adgang til noget MySQL ?
Avatar billede Slettet bruger
19. maj 2004 - 13:46 #3
Hvis du skal have mange brugere, ville noget database som MySQL være en god ide.
Hvis det blot er til dig og et par venner kan du jo gøre følgende:

<?php
if($_POST['username'] == "bruger1" AND $_POST['pass'] == "Password til bruger 1") {
    include ("welcome.php");
} elseif($_POST['username'] == "bruger2" AND $_POST['pass'] == "Password til bruger 2") {
    include ("welcome.php");
} elseif($_POST['username'] == "bruger3" AND $_POST['pass'] == "password til bruger 3") {
    include ("welcome.php");
} else {
    header("Location: error.php");
}
?>
Avatar billede Slettet bruger
19. maj 2004 - 13:47 #4
Til ovenstående metode, skal din formular se sådan ud:

<form name="pp" method="post" action="check.php">
Brugernavn: <input type="text" name="username">
Password: <input type="password" name="pass">
<input type="submit" value="Log In">
</form>
Avatar billede peaze Nybegynder
19. maj 2004 - 13:50 #5
Er det en nødvendighed at bruge MySQL til dette login script?
Avatar billede Slettet bruger
19. maj 2004 - 13:56 #6
Nej det er det skam ikke.
Men hvis han vil have mange brugere i sit loginsystem, ville det være en god måde at tjekke op om brugeren må logge ind eller ej. På den måde ville han også kunne lave noget brugeroprettelse, som sker helt dynamisk.
Avatar billede nyhuus Nybegynder
19. maj 2004 - 17:02 #7
kan i fortælle mig vhordan jeg laver mysql til dette og så hvordan mysql tabellen skal se ud jeg kan saktnes få mt sql :D
Avatar billede dennismp Nybegynder
19. maj 2004 - 20:15 #8
et forslag:

tabel (oprettes i mysql);
CREATE TABLE users (
  id int primary key auto_increment not null,
  username varchar(32) not null,
  password varchar(32) not null
);

INSERT INTO users(username,password) VALUES('admin','etkodeord');
INSERT INTO users(username,password) VALUES('nyhuusdk','etandetkodeord');
..

form:
<form method="post" action="check.php">
<input type="password" name="password">
<input type="text" name="name">
<input type="submit" value="Log In">
</form>

check.php
<?php
start_session();
$username = addslashes($_POST['username']);
$password = addslashes($_POST['password']);

mysql_connect("dinmysqlserver", "dinmysqlbruger", "ditmysqlkodeord") or die(mysql_error());
mysql_select_db("ditdatabasenavn") or die(mysql_error());

$sql = "SELECT 1 FROM users WHERE username='$username' AND password='$password'";

$res = mysql_query($sql) or die(mysql_error());
if( $row = mysql_fetch_array($res) ) {
  $_SESSION['authenticated'] = true;
  header("Location: welcome.php");
}
else {
  $_SESSION['authenticated'] = false;
  header("Location: error.php");
}
?>

checkpermission.php:
<?php
start_session();
if( !( isset($_SESSION['authenticated']) && $_SESSION['authenticated']) ) {
  header("Location: error.php"); // Vis error.php hvis man ikke har lov til at se siden
  exit;
}

.. i filer du ønsker at beskytte, således at man skal være logget ind, skal du skrive øverst:
<?php require("checkpermission.php"); ?>
og resten af siden efterfølgende
Avatar billede nyhuus Nybegynder
19. maj 2004 - 23:25 #9
skal der så ik bare være .. i filer du ønsker at beskytte, således at man skal være logget ind, skal du skrive øverst:
<?php require("check.php"); ?>
og resten af siden efterfølgende

???
Avatar billede nyhuus Nybegynder
19. maj 2004 - 23:26 #10
og kan det hele bruges sammen med html?
Avatar billede dennismp Nybegynder
20. maj 2004 - 19:34 #11
Nej, check.php undersøger om du har tastet korrekt kodeord ind. Hvis du har det, sætter den en session-variable (som følger brugeren) så andre sider "ved" at brugeren er godkendt.

Ok, lad os sige du har en telefonliste, hvor man skal være logget ind før man kan se den;

telefonlist.php: (den skal hedde .php)
<?php require("checkpermission.php"); ?>
<html>
  <head>
    <title>Min telefonliste</title>
  </head>
  <body>
... osv
  </body>
</html>
Avatar billede nyhuus Nybegynder
21. maj 2004 - 11:47 #12
Jeg kan ik få dem til at virke :(
Avatar billede dennismp Nybegynder
21. maj 2004 - 12:49 #13
Jeg har ikke en chance for at hjælpe dig, uden at kende problemet..
Avatar billede nyhuus Nybegynder
21. maj 2004 - 19:16 #14
hmm prøv då ind på www.naxx.frac.dk og bare skriv noget i admin den går ind og siger der er fejl i et eller andet
Avatar billede dennismp Nybegynder
21. maj 2004 - 20:15 #15
Ah, beklager, det skal ikke være start_session() med session_start().
Avatar billede nyhuus Nybegynder
21. maj 2004 - 22:11 #16
ok nu kommer den ik med fejl men jeg kan ik logge ind den bliver bare på sidne?
Avatar billede dennismp Nybegynder
22. maj 2004 - 01:06 #17
Hvordan ser dine forskellige filer ud?
Avatar billede nyhuus Nybegynder
23. maj 2004 - 12:39 #18
Cheak.php:
<?php
session_start();
$username = addslashes($_POST['username']);
$password = addslashes($_POST['password']);

mysql_connect("host", "name", "pass") or die(mysql_error());
mysql_select_db("my db") or die(mysql_error());

$sql = "SELECT 1 FROM users WHERE username='$username' AND password='$password'";

$res = mysql_query($sql) or die(mysql_error());
if( $row = mysql_fetch_array($res) ) {
  $_SESSION['authenticated'] = true;
  header("Location: naxx-admin.php");
}
else {
  $_SESSION['authenticated'] = false;
  header("Location: admin.html");
}
?>

checkpermission.php:
<?php
session_start();
if( !( isset($_SESSION['authenticated']) && $_SESSION['authenticated']) ) {
  header("Location: error.php"); // Vis error.php hvis man ikke har lov til at se siden
  exit;
}
?>
Avatar billede dennismp Nybegynder
23. maj 2004 - 12:58 #19
Hvordan ser admin.html ud?
Avatar billede nyhuus Nybegynder
23. maj 2004 - 18:19 #20
her har du admin.html

<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>main</title>
<meta name="Microsoft Theme" content="none, default">
</head>

<body bgcolor="#000000" link="#808080" vlink="#808080" alink="#808080" text="#C0C0C0">

<form method="post" action="check.php">
<p align="center">Admin Login</p>
<p align="center">Brugernavn
<input type="password" name="password">
</p>
<p align="center">Password&nbsp;
<input type="text" name="name">
</p>
<p align="center">
<input type="submit" value="Log In">
</p>
</form>
</body>

</html>
Avatar billede dennismp Nybegynder
23. maj 2004 - 18:51 #21
Prøv at lave denne om:
<input type="text" name="name">
til..
<input type="text" name="username">
Avatar billede nyhuus Nybegynder
11. december 2004 - 04:16 #22
lukket
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

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