Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
login driller
Tags:
php
Bruger #4511
@ 26.09.03 12:46
1
Jeg har nu efterhånden haft en del problemer med mit login-script.
Nu er det så selve "login-handlingen" der volder problemer:
Mine koder ser sådan ud:
//show.php
form action="show.php?page=login-ok" method="post" name="login" id="login">
<input name="brugernavn" type="text" size="15" style="color: #000000; background-color: #DBE4F3; border: 1px solid #000000">
<
input name="password" type="password" size="15" style="color: #000000; background-color: #DBE4F3; border: 1px solid #000000">
<input name="login" type="image" src="logind.gif" width="60" height="15">
</for>
//login-ok.php(har lavet lidt om på på login koden fra en artikel herfra ukvikleren)
<?php
require("sql.php");
$login = &$HTTP_POST_VARS['show'];
if(empty($login)) {
echo 'Denne side kræver login adgang'; }
else {
$brugernavn = &$HTTP_POST_VARS['brugernavn'];
$password = &$HTTP_POST_VARS['password'];
if(empty($brugernavn) OR empty($password)) {
echo 'Et af felterne er tomme'; }
else {
aabn_sql();
$result_user = mysql_query("select brugernavn from brugere where brugernavn = '$brugernavn'")
or die (mysql_error()); $result_pw = mysql_query("select kodeord from brugere where kodeord = '$kodeord'")
or die (mysql_error());
$array_user = mysql_fetch_array($result_user); $array_pw = mysql_fetch_array($result_pw);
if($array_user['brugernavn'] == $brugernavn AND $array_pw['kodeord'] == $password) {
echo 'korrekt kodeord'; }
else { echo 'forkert kodeord';
}
} }
?>
Når jeg så prøver at logge ind, bliver denne aktiveret:
if(empty($login)) {
echo 'Denne side kræver login adgang'; }
Hvorfor gør den det når jeg er sikker på at alt er korrekt udfyldt?
På forhånd tak
7
svar postet i denne tråd vises herunder
1
indlæg har modtaget i alt
1
karma
Sorter efter stemmer
Sorter efter dato
1
Bruger #3143
@ 26.09.03 14:33
2
1.965
Der er en del småfejl i din html-kode. fx er der ikke et < foran form og der er linjeskift mellem et < og input og du mangler et m i form.
Desuden er de php-variabler du bruger til en gammel version af php.
&$HTTP_POST_VARS hedder $_POST
action i din form fører ikke til den side der tjekker for login.
Med dit script kan man skrive en anden persons brugernavn, og sit eget password, og man bliver logget ind. Brugernavn og password behøver ikke at høre sammen.
0
Bruger #4511
@ 26.09.03 12:50
1
lige et tillægsspørgsmål:
Kan man udføre hele login-handlingen i show.php. Altså så variablerne ikke skal sendes til login-ok men derimod til show.php
0
Bruger #4511
@ 26.09.03 17:47
1
Ja det kan jeg godt se
jeg har bare skrevet det ind hurtigt.. men det er ikke html'en der er problemet..
Hvordan kan jeg sikre mig at man kun kan bruge sit eget password og kodeord? Skal jeg ha ID med?
0
Bruger #3143
@ 26.09.03 17:52
2
1.965
Du skal kun bruge een query
$result_user = mysql_query("select brugernavn from brugere where brugernavn = '$brugernavn' and kodeord = '$kodeord'")
or die (mysql_error());
if(mysql_num_rows==1) {
echo 'korrekt kodeord'; }
else { echo 'forkert kodeord';
}
0
Bruger #4511
@ 26.09.03 17:57
1
Okay.. mange tak for det!
Hvis jeg nu vil ha' hele handlingen udført på kun een side, hvordan gør jeg så det? Eller er det ikke muligt?
0
Bruger #3143
@ 26.09.03 18:46
2
1.965
if($_POST[brugernavn]){
//side der tester om der er logget ind
}
else{
//login form
}
0
Bruger #4511
@ 26.09.03 20:07
1
Perfekt
Endnu en gang mange tak for hjælpen.. Der er lidt uvp til dig!
Mvh
-Kander
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags