echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes."; echo "<br>";
else { echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes."; echo "<br>";
Når jeg bruger dette script, så logges der ikke ind, den går til else funktionen. Klikker jeg så på login een gang til med blanke boxe, logger den ind og skriver 'logged in'.
Jeg er ikke særligt god til dette her, og gør det som en tjeneste for en anden - så hvis I dør af grin beklager jeg.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
1) Dine forms har ingen method-attribut på. Det skal de have, og jeg foreslår at du vælger "post" (alternativet er "get").
Dette betyder kort sagt at du skal rette dine form-relaterede linjer, fra:
echo "<form action=\"$PHP_SELF\">";
- til:
echo "<form action=\"$PHP_SELF\" method='post'>";
2) Når du har gjort dette, vil det der er skrevet i input-felterne i formen efterfølgende kunne aflæses som:
$_POST["usr"] og $_POST["password"]
Du bruger imidlertid $usr og $password. Dette har virket i tidligere versioner af PHP, og det gør det stadig en del steder. Hvis dem som har installeret den pågældende PHP ved hvad det er de har med at gøre så dur $usr og $password imidlertid ikke mere, og det vil derfor give dig en fejl hvis du fortsætter med at bruge dem.
3) Endelig har du sat name-attributten af dine submit-knapper til at hedde "submit":
okay .. Jeg er næsten med, men ikke helt .. Du har helt ret i, at det var i gamle dage man gjorde som jeg skriver, for det er nemlig noget jeg har skrevet for lang tid siden jeg prøver at få til at virke.
Hvad skal dette her ændres til? Jeg forstår det ikke helt .. $result = mysql_query("select pass, bruger from brugere where bruger='$usr'") or die(mysql_error());
echo 'dette er elsen'; echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
else { echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
Jeg vil iøvrigt anbefale ret kraftigt at du gør noget for at stille din kode pænt op. Det gør underværker for at gennemskue og læse koden, og dermed også for at vedligeholde den:
if ($submit) { $usr = $_POST['usr']; $password $_POST['password'];
$result = mysql_query("select pass, bruger from brugere where bruger='$usr'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) // linie 16 { $password = $row['pass']; $nick = $row['nick']; }
if ($pass == $password && $nick == $usr) { session_register("$usr"); echo 'logget ind'; } else { echo 'dette er elsen'; echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
echo $pass; echo '<p>'; echo $nick; } } else { echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
jeg sætter stor pris på din hjælp - men det virker stadig ikke. Den gør stadig det samme .. Jeg har brugt din kode fra 22:30:18 med rettelsen 22:30:52, og den gør det stadig.
if (isset($_POST["knap"])) { $usr = $_POST['usr']; $password = $_POST['password'];
$result = mysql_query("select pass, bruger from brugere where bruger='$usr'") or die(mysql_error());
while ($row = mysql_fetch_array($result)) // linie 16 { $password = $row['pass']; $nick = $row['nick']; }
if ($pass == $password && $nick == $usr) { session_register("$usr"); echo 'logget ind'; } else { echo 'dette er elsen'; echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
echo $pass; echo '<p>'; echo $nick; } } else { echo "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"../css/style.css\"></head><body background=\"../pics/bg1.gif\">"; echo "To log in, enter your username and password in the designated boxes. If you are not yet a registred user, sign up <a href=\"signup.php\">here</a>."; echo "<br>";
Som en afsluttende bemærkning synes jeg at du skal lave din while-løkke om - den skal jo kun køre en gang (while bruger man normalt nor man ikke på forhånd ved hvor mange gange løkken vil gennemløbes).
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.