Login igen, jeg løbet sur i mit script
Hejsa.Jeg er løbet fuldstændig sur i mit Login script, jeg kan ikke finde fejlen, jeg vil da håbe at en af jer kan se fejlen, ellers må jeg begynde forfra.
Scriptet er lavet udfra forskellige eks. fra nettet.
Kan man læse sessions ?, forstået på den måde at indholdet af f.eks. $_session[User] kunne bruges ID i et forum eller lign.
Hilsen
Finn
Bruger.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<?php
$host = "localhost";
$user = "root";
$pass = "9lfisk";
$database = "Havnedata";
$db_navn = "Sejler";
include("minefiler/settings.php");
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
#Layer2 {
position:absolute;
left:0px;
top:0px;
width:200px;
height:185px;
z-index:2;
}
#Layer3 {
position:absolute;
left:0px;
top:0px;
width:200px;
height:185px;
z-index:2;
}
.style5 {
color: #FFFFFF;
font-weight: bold;
}
body,td,th {
font-family: Tahoma;
color: #FFFFFF;
}
a:visited {
color: #FFFFCC;
}
-->
</style>
</head>
<body>
<?php
// session besked bruges til at vise en besked ved fejl i login, $default_text
// Husk at vi startede sessions i settings.php !
// Er session besked sat ???
if(isset($_SESSION["besked"])) {
// Vis den for brugeren
echo $_SESSION["besked"];
// Og slet derefter session besked
unset($_SESSION["besked"]);
}
// Hvis brugeren IKKE er logget ind, vis loginformular
if(false == check_login()) {
?>
<div id="Layer2" style=" background-color:#FF0000; filter:alpha(opacity=40);-moz-opacity:.4;opacity:.4;"></div>
<div id="Layer3">
<table width="200" border="0" cellspacing="1" style="font-size:12px">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" class="style7">
<tr>
<td width="5%" rowspan="8"></td>
<td width="90%" ><span class="style5">Login:</span></td>
<td width="5%" rowspan="8"></td>
</tr>
<tr>
<td>Brugernavn</td>
</tr>
<tr>
<td><input type="text" name="brugernavn" /></td>
</tr>
<tr>
<td>Password</td>
</tr>
<tr>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td><input type="submit" value="Login" /></td>
</tr>
<tr>
<td><a href="">Har du glemt dit password ?</a></td>
</tr>
</form>
</table>
</div>
<?php
}else{
// Brugeren er logget ind, lav en log ud knap
?>
<div id="Layer2" style="background-color:#66CC66; filter:alpha(opacity=40);-moz-opacity:.4;opacity:.4;"></div>
<div id="Layer3" >
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<div align="center">Velkommen<br/>
<? echo $users['Navn']; ?><br/>
<input name="logud" type="submit" value="Log ud" />
</div>
</form>
</div>
<?php
} // end false tjek_login
?>
</body>
</html>
-------------------------------------------------------
Settings.php
<?php
$base_dir = "minefiler/";
$base_file = "bruger.php";
$defalut_file = $base_dir ."bruger.php";
function check_login() {
global $user;
if(isset($_SESSION["user"], $_SESSION["ip"]) && $_SESSION["ip"] == $_SERVER["REMOTE_ADDR"]) {
return true;
}
return false;
}
session_start();
if(isset($_POST["logud"])) {
$_SESSION = array();
session_destroy();
/*header("Location:http://". $_SERVER["HTTP_HOST"] . $base_file);
exit;*/
}
if(isset($_POST["brugernavn"], $_POST["password"])) {
$default_text = "Forkert bruger og/eller password!";
$db = @mysql_pconnect($host, $user, $pass) or die ("Kunne desværre ikke forbinde til databasen!");
@mysql_select_db($database, $db) or die ("Kunne desværre ikke forbinde til valgte database!");
$sql = 'SELECT Navn, Plads FROM Sejler WHERE Login = ' . $_POST["brugernavn"] .' AND Password = '. $_POST["password"];
$check = mysql_query($sql) or die ($default_text);
/*if(mysql_num_rows($check) != 0)*/
$users = mysql_fetch_array($check);
$_SESSION["user"] = $_POST["brugernavn"];
$_SESSION["ip"] = $_SERVER["REMOTE_ADDR"];
$_SESSION["Navn"] = $users['Navn'];
$_SESSION["plads"] = $users['plads'];
}else{
$_SESSION["besked"] = $default_text;
}
?>
--------------------------------------------------
Dette script bliver indsat på de sider der kun må læse, hvis man er logget ind.
<?php
include("settings.php");
if (check_login() == false){
include("./error.html");
exit;
} else {
}
?>
