Avatar billede Slettet bruger
10. marts 2006 - 16:49 Der er 4 kommentarer og
1 løsning

Noglen som kan hjælpe med et php login system

Hej noglen som kan hjælpe mig med et php LOGIN system et mega godt et jeg har søget på nettet og jeg har fundet mange php login systemer men mange af dem var dårlige og virket ikke  så vil spøåre om noglen som har en kanon god php login system og som vil dele det med mig ?
Avatar billede overchord Nybegynder
10. marts 2006 - 17:25 #1
Jeg bruger en ret simpel model selv, som er rimeligt standard.

Inkluder flg form paa din login side:
<FORM METHOD="POST" ACTION="main.php">
<TABLE WIDTH = 400 ALIGN="center"><TR>
<TD WIDTH = 200>Enter your Name:</TD>
<TD><input type="text" name="name"></TD></TR>
<TR>
<TD>Password:</TD>
<TD><input type="password" name="pw"></TD></TR>
<TR>
<TD COLSPAN=2>
<input type="SUBMIT" value="Login"></TD></TR>
</TABLE>
</FORM>

Herefter opretter du main.php:
<?php

include 'conn.php';


// Add slashes to the username, and make a md5 checksum of the password.
$uid = $_POST['name'];
$_POST['user'] = addslashes ($_POST['name']);
$_POST['pass'] = md5 ($_POST['pw']);
$result = mysql_query ("SELECT count(id) FROM  brugertable WHERE Password='$_POST[pass]' AND Brugernavn='$_POST[user]'") or die ("Couldn't query the user-database.");
$num = mysql_result ($result, 0);
if (!$num) {

// display the login form.
header ("Location: index.html"); - eller hvad din login side ellers hedder
die ();
} else {


// Start the login session
session_start();
// We've already added slashes to the username and MD5'd the password
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];

header ('Location: ennyside.php'); - her directer du bare

}
?>


Resten af dine php sider skal inkludere en autorisering: auth.php:
<?php

include 'conn.php';
// Start the login session
session_start();
if (!$_SESSION['user'] || !$_SESSION['pass']) {
// What to do if the user hasn't logged in
// We'll just redirect them to the login page.
header('Location: login.html');
die();
} else {
// If the session variables exist, check to see
// if the user has access.

$result = mysql_query("SELECT count(id) FROM BrugerTabel WHERE Password='$_SESSION[pass]' AND Brugernavn='$_SESSION[user]'") or die("Couldn't query the user-database.");
$num = mysql_result($result, 0);
if (!$num) {
// If the credentials didn't match,
// redirect the user to the login screen.
header('Location: login.html');
die();
}
}
?>
Avatar billede overchord Nybegynder
10. marts 2006 - 17:26 #2
Som du kan se har jeg inkluderet en conn.php i starten af hver fil, denne fil indeholder blot informationen of forbindelse til databasen med navn og login.
Avatar billede Slettet bruger
10. marts 2006 - 17:37 #3
Hej overchord  tak for det men jeg mangler en hvor man kan oprat en bruger også login hvis man har et brugernavn eller så skal man oprat en bruger :) sådan et system kigger jeg efter :)
Avatar billede udvikler Nybegynder
10. marts 2006 - 18:13 #4
<?php
    $host=""; //host
    $user=""; //brugernavn
    $pass=""; //kodeord
    $db=""; //databasenavn

    mysql_connect($host,$user,$pass);
    mysql_select_db($db);

    if ($_POST[opret]) {

        $brugernavn = $_POST['brugernavn'];
        $kodeord = $_POST['kodeord'];

    if (empty($_POST[brugernavn]) || empty($_POST[kodeord])) {
    echo "Du skal skrive både et brugernavn og kodeord";
    } else {

    $brugernavn = mysql_real_escape_string($_POST['brugernavn']);

    $res_find_bruger = mysql_query("SELECT * FROM brugere WHERE brugernavn = '$brugernavn'") or die (mysql_error());
    if (mysql_num_rows($res_find_bruger) == 1){
    echo "Brugeren findes allerede";
    echo "<br>";
    } else {

    $kodeord = mysql_real_escape_string(md5($_POST[kodeord]));
    $dato = date('d/m/Y H:i:s');
    $point = "5";
    $bruger = mysql_real_escape_string($_POST[brugernavn]);
    mysql_query("INSERT INTO brugere (brugernavn, kodeord, point, dato) VALUES ('$bruger','$kodeord', '$point', '$dato')") or die(mysql_error());

    }
    }
    }
    ?>

    <form action="" method="post">
    <input type="text" name="number" value="Billede kode"> (Skriv cifrene som du ser på billedet ovenfor) <br>
    <input type="text" name="brugernavn" value="Brugernavn" maxlength="12"><br>
    <input type="password" name="kodeord" value="Kodeord"><br>
    <input type="submit" name="opret" value="Opret">
    </form>
Avatar billede udvikler Nybegynder
10. marts 2006 - 18:16 #5
lige nogle ting som skulle fjernes (nogle overflødige ting, fordi jeg har taget det fra mit eget system)

<?php
    $host=""; //host
    $user=""; //brugernavn
    $pass=""; //kodeord
    $db=""; //databasenavn

    mysql_connect($host,$user,$pass);
    mysql_select_db($db);

    if ($_POST[opret]) {

        $brugernavn = $_POST['brugernavn'];
        $kodeord = $_POST['kodeord'];

    if (empty($_POST[brugernavn]) || empty($_POST[kodeord])) {
    echo "Du skal skrive både et brugernavn og kodeord";
    } else {

    $brugernavn = mysql_real_escape_string($_POST['brugernavn']);

    $res_find_bruger = mysql_query("SELECT * FROM BrugerTabel WHERE brugernavn = '$brugernavn'") or die (mysql_error());
    if (mysql_num_rows($res_find_bruger) == 1){
    echo "Brugeren findes allerede";
    echo "<br>";
    } else {

    $bruger = mysql_real_escape_string($_POST[brugernavn]);
    $kodeord = mysql_real_escape_string(md5($_POST[kodeord]));
    mysql_query("INSERT INTO BrugerTabel (brugernavn, kodeord) VALUES ('$bruger','$kodeord')") or die(mysql_error());

    }
    }
    }
    ?>

    <form action="" method="post">
    <input type="text" name="brugernavn" value="Brugernavn" maxlength="12"><br>
    <input type="password" name="kodeord" value="Kodeord"><br>
    <input type="submit" name="opret" value="Opret">
    </form>
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