webForumDet fria alternativet

Lite frågor angånde min inloggnings script.

3 svar · 451 visningar · startad av Forcevision

ForcevisionMedlem sedan mars 2007217 inlägg
#1

Hejsan !

På min första sida där man loggar in ser det ut som följande:

<?php 
if (!isset($_POST['submit'])) { 
echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">' . "\n"; 
echo "\t" . '&nbsp;Användarnamn:<br />' . "\n";
echo "\t" . '&nbsp;<input type="text" name="username" class="knapp"/><br />' . "\n";
echo "\t" . '&nbsp;Lösenord:<br />' . "\n";
echo "\t" . '&nbsp;<input type="password" name="password" class="knapp"/><p>' . "\n";
echo "\t" . '&nbsp;<input type="submit" name="submit" class="knapp" value="Access" /></p>' . "\n";
echo '</form>' . "\n";
} else { 
    $conn = mysql_connect('localhost', 'användarnamn', 'lösen') or die(mysql_error()); 
    mysql_select_db('databas') or die(mysql_error()); 

    $username = mysql_real_escape_string($_POST['username']); 
    $password = mysql_real_escape_string(sha1($_POST['password'])); 

    $query = mysql_query("SELECT uid, username, password FROM login WHERE username = '$username' AND password = '$password' LIMIT 1") or die(mysql_error()); 
    $count = mysql_num_rows($query); 

    if (!$count) 
        die('<p>Felaktigt användarnamn eller lösenord.</p>'); 

    $row = mysql_fetch_assoc($query); 

    if ($username == $row['username'] && $password == $row['password']) { 
        $_SESSION['sess_user'] = $username; 
      echo "<script type='text/javascript'>location='login.php'</script>";
    } else 
        die('<p>Felaktigt användarnamn eller lösenord.</p>'); 

    mysql_close($conn); 
} 
?>

När man skrivit in fel lösen eller användarnamn står det som ni ser i scripten Felaktigt användarnamn eller lösenord. men jag skulle vilja att scripten hänvisar till en annan sida hur skall jag skriva i koden istället då ?

Mvh Forcevision

LedelMedlem sedan dec. 2004736 inlägg
#2

header("Location: anotherFile.php");

ForcevisionMedlem sedan mars 2007217 inlägg
#3

Okej skriver jag det i die('<p>Felaktigt användarnamn eller lösenord.</p>'); istället för Felaktigt användarnamn ?

Så det blir som följande
die('<p>header("Location: anotherFile.php");</p>');

Är det rätt ?

Mr TMedlem sedan maj 20071 061 inlägg
#4

Nej.
skriv header("Location: anotherFile.php") på en egen rad. Helt enkelt, byt ut din die() rad mot header().
Kör också en exit; på raden efter (kanske en die funkar också)

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)