Opsætning af login script
Jeg har et script som (nogenlunde virker) men det er virkeligt elendigt opbygget, så måske der er en ekspert derude der har lyst til at bidrage lidt!Det svar jeg gerne vil have er den mest hensigtsmæssige rækkefølge, at tjekke for div.
(og lille tillægsspg. hvordan sikrer jeg at feltet e-mail indeholder den korrekte syntax)
jeg vil gerne tjekke for:
begge password felter i opret bruger indeholder det samme.
at alle felterne i opret bruger er udfyldt.
tjekker om brugeren allerede eksisterer i DB.
Så vil jeg have:
En opret bruger funktion
En slet bruger funktion
En rediger bruger funktion
at det fungerer vha SESSIONS
KODE:
<?
// tester om brugeren er logget ind
$brugernavn = $_POST['brugernavn'];
if ((($brugernavn=="") && ($_SESSION['brugernavn']=="")) || ($slet == "udfyldt") || ($navi=="opret") || ($navi=="logud"))
{
$_SESSION[brugernavn] = "";
// udskriver login og opret ny bruger form
?>
<form name="login" method="POST" action="<? $_server['PHP_SELF'] ?>">
<input name="brugernavn" type="text" size="16">
<input name="password" type="password" size="16">
<input type="submit" class="knapper" Value="Log ind">
</form>
<form name="login" method="POST" action="<? $_server['PHP_SELF'] ?>">
<input type="hidden" name="navi" value="opret">
<input type="submit" class="knapper" Value="Opret ny bruger" size="5">
</form>
<?
}
// tester om brugernavn og password matcher en bruger i databasen
else if(!$_SESSION['brugernavn']=="")
{
$query = "SELECT * FROM bruger WHERE brugernavn = '$brugernavn'";
$result = mysql_query($query) or die ("Fejl i forespørgsel: $query. " . mysql_error());
$row = mysql_fetch_object($result);
?>
<img src="image/persimage/<? echo $row->profilbillede; ?>" width="100" height="100"><br>
<?
echo "Velkommen, " . $_SESSION['brugernavn'];
?>
</div>
<p><div class="txt">
<a href="<? $_server['PHP_SELF'] ?>?navi=rediger" STYLE="text-decoration: none;">Redigér profil</a>
<a href="<? $_server['PHP_SELF'] ?>?navi=logud" STYLE="text-decoration: none;">Log ud</a>
<?
}
else
{
$query = "select * from bruger";
$result = mysql_query($query);
while($field_data = mysql_fetch_array($result))
{
if((($brugernavn == $field_data[1]) && ($password == $field_data[2])) || (!$_SESSION['brugernavn'] == ""))
{
$valid_bruger = true;
$_SESSION['brugernavn'] = $field_data[1];
}
}
if(!$valid_bruger)
{
?>
<div class="stortxt">
<?
// hvis forkert brugernavn/password er indtastet
echo "Loginfejl: Forkert brugernavn/adgangskode";
echo "<br><a href=$PHP_SELF>Tilbage</a>";
?>
</div>
<?
}
// hvis brugernavn/password er korrekt
else if(!$_SESSION['brugernavn']=="")
{
// udskriver velkomsthilsen
$query = "SELECT * FROM bruger WHERE brugernavn = '$brugernavn'";
$result = mysql_query($query) or die ("Fejl i forespørgsel: $query. " . mysql_error());
$row = mysql_fetch_object($result);
?>
<img src="image/persimage/<? echo $row->profilbillede; ?>" width="100" height="100"><br>
<?
echo "Velkommen, " . $_SESSION['brugernavn'];
?>
</div>
<p><div class="txt">
<a href="<? $_server['PHP_SELF'] ?>?navi=rediger" STYLE="text-decoration: none;">Redigér profil</a>
<a href="<? $_server['PHP_SELF'] ?>?navi=logud" STYLE="text-decoration: none;">Log ud</a>
<?
}
}
?>
Som i kan se er koden meget rodet, men den virker.
Det jeg vel egentlig har brug for, er en ekspert oprydning :)
