Avatar billede vac Nybegynder
24. maj 2010 - 13:31 Der er 10 kommentarer og
1 løsning

Login script

HEj
Jeg skal ha lavet en login side hvor man skal indtaste brugenavn og password og derefter blive sendt ti en side som åbner en forbindelse til en database. Alt ligger lokalt på maskinen, og jeg har lavet en side som åbner en forbindelse til den database, mangler bare en php side med login.
Avatar billede LPz Nybegynder
24. maj 2010 - 13:33 #1
Avatar billede claes57 Ekspert
24. maj 2010 - 13:35 #2
http://www.phpbuilder.com/columns/tim20000505.php3?page=1
inkl email ved glemt password, samt mulighed for at skifte email.
Avatar billede vac Nybegynder
24. maj 2010 - 14:12 #3
Det er ikke noget jeg kan bruge, sådanne svar kan jeg selv finde på google
Avatar billede arne_v Ekspert
24. maj 2010 - 15:21 #4
Hvorfor finder du dem saa ikke selv paa Google og laver det????
Avatar billede vac Nybegynder
24. maj 2010 - 16:29 #5
arne_v hvorfor skal du lige pludseligt blande dig i den her ???? du er ik med i det såååå.
Avatar billede davidabk Nybegynder
24. maj 2010 - 17:12 #6
Hej vac

Jeg er ganske ny til php men er kommet godt igang med det.
Jeg har netop fået lavet et ganske fint login system til et lille system jeg arbejder på, og jeg brugte en tutorial fra http://www.phpeasystep.com/workshopview.php?id=6.

Den er ganske simpel og alle koder er til at gennemskue. Dog har jeg selv lavet noget om på det grundet mine behov, men du kommer lidt rundt om principperne.

Jeg har dog ikke tilstrækkelig erfaring til at vurdere om sikkerheden er tilstrækkelig hvis den skal ud på www - men jeg skal også kun bruge det på et intranet!

Held og lykke
Avatar billede vac Nybegynder
24. maj 2010 - 18:00 #7
hej davidabk
Tak for det, det er bare en likal side så ikke på www, og den skal kunne logge ind og samtidig med at den logge ind skal den så vise hvad der er i den ene tabel fra min database.
Avatar billede vac Nybegynder
24. maj 2010 - 18:03 #8
davidabk den her kender jeg men den viser heller ikke det jeg skal bruge, altså min bruger id er sat som variabel så jeg skal ikke bruge en database med brugerne, men jeg skal ha vist indholdet af en database-tabel når jeg logger ind på siden.
Avatar billede davidabk Nybegynder
24. maj 2010 - 20:09 #9
Hej vac

Nå... så det skal serveres på et sølvfad?? lad gå:

Her kommer den første fil som skal hedde bruger_login.php :

<?php
session_start();
session_destroy();

$check_message = $_GET['sys_message'];

?>
<!--
Bruger login
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title></title>
</head>
<body>
<form name="login" method="post" action="main_table.php">
<table border="0" width="300" cellspacing="1" cellpadding="0" bgcolor="#666666" align="center">
    <tr>
        <td>
        <table width="100%" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
            <tr>
                <td colspan="3" bgcolor="#FFFFFF"><h1>Bruger Login</h1></td>
            </tr>
            <tr>
                <td width="65" bgcolor="#FFFFFF">Username</td>
                <td width="6" bgcolor="#FFFFFF">:</td>
                <td width="100%" bgcolor="#FFFFFF"><input name="username" type="text" id="username"></td>
            </tr>
            <tr>
                <td bgcolor="#FFFFFF">Password</td>
                <td bgcolor="#FFFFFF">:</td>
                <td bgcolor="#FFFFFF"><input type="password" name="password" id="password"></td>
            </tr>
            <tr>
                <td colspan="3" bgcolor="#FFFFFF">
                <font color="red"><i><?php echo $check_message; ?></i></font></td>
            </tr>
        </table>
        </td>
    </tr>
</table>
<table border="0" width="300" cellspacing="0" cellpadding="3" bgcolor="#FFFFFF" align="center">
    <tr>
        <td bgcolor="#FFFFFF" align="right"><input type="submit" title="login" name="Submit" value="Login"></td>
    </tr>
</table>
</form>   
</div>
</div>
</body>
</html>

Og her den primære fil som skal hedde main_table.php:

<?php
//database informations
$db_hostname = 'localhost';
$db_database = 'mit_projekt';
$db_username = 'bruger';
$db_password = 'kode';
$db_tbl_member = 'brugere';
$db_user_key = 'bruger_id';

//connect to MySQL
$connect = mysql_connect($db_hostname, $db_username, $db_password);
if (!$connect) die("Unable to connect to MySQL: " . mysql_error());

//make sure the right database is selected
mysql_select_db("$db_database")
    or die("cannot select DB");

//CHECK USER
//Get SESSION variables
session_start();
$logged_in_user = $_SESSION["logged_in_user"];
$logged_in_password = $_SESSION["logged_in_password"];

//Check if user is stored in the database
$check_user = "SELECT * FROM $db_tbl_member WHERE username='$logged_in_user'
and password='$logged_in_password'";
$check_user_result=mysql_query($check_user);

// Mysql_num_row is counting number of table row
$count=mysql_num_rows($check_user_result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){

?>
<html>
<head>
<title>B Project medlemmer</title>
</head>
<body>
<font color="#666666">Du er logget ind som: <?php echo $_SESSION["logged_in_member_name"]; ?> </font>

<a href="bruger_login.php?sys_message=<?php echo 'Du er nu logget ud af systemet';?>">
<img src="lock_break.png" title="log ud" align="right" alt="" border="0"/></a>

<div id="content">
<table border="0" width="800" cellspacing="1" cellpadding="3" bgcolor="#666666" align="center">
    <tr>
        <td bgcolor="#FFFFFF" colspan="3" align="center">
            <h1>PROJECT - BRUGERE</h1>
        </td>
    </tr>
    <tr  bgcolor="#FFFFFF">
        <td width="50%">
            <font color="#666666">fornavne</font>
        </td>
        <td width="40%">
        <font color="#666666">efternavn</font>
        </td>
        <td bgcolor="#FFFFFF" width="10%">
        <font color="#666666">mobil nr.</font>
        </td>
    </tr>

<?php
$member_db = "SELECT * FROM $db_tbl_member ORDER BY $db_user_ke";
$result = mysql_query($member_db)
    or die("Invalid query: " . mysql_error());
while ($member_row = mysql_fetch_array($result))
{
?>
    <tr>
        <td bgcolor="#FFFFFF" width="50%">
        <?php echo $member_row['fornavne']; ?>
        </td>
        <td bgcolor="#FFFFFF" width="40%">
        <?php echo $member_row['efternavn']; ?>
        </td>
        <td bgcolor="#FFFFFF" width="10%">
        <?php echo $member_row['mobilnummer']; ?>
        </td>
    </tr>
<?php
}
?>
</table>
</div>
</body>
</html>
<?php
//Echo if user is not logged in
}
else {
    ?>
<html>
    <meta http-equiv="refresh" content="0; URL=bruger_login.php
          ?sys_message=<?php echo 'Du blev logget ud af systemet';?>">
</html>
<?php
}
//CHECK USER - END
?>


Husk selv at tilret adgangen til mysql og at brugeren skal være oprettet i databasen!!!
Og.. der skal også lægges et lille billede ind i samme mappe som filerne som skal hedde "lock_break.png" (hvis anden filtype må du rette det i koden!

Held og lykke!
Avatar billede davidabk Nybegynder
24. maj 2010 - 20:11 #10
Vær lige opmærksom på at de felter du skal have ud af databasen skal fremgå af koden som det er tilfældet med "fornavne, efternavn, og mobilnummer" i den viste kode!
Avatar billede vac Nybegynder
24. maj 2010 - 22:10 #11
Det ser straks bedre ud :-) takker for det
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
Kurser inden for grundlæggende programmering

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