Avatar billede faehunden Nybegynder
03. september 2001 - 16:48 Der er 24 kommentarer og
1 løsning

Problem med login system

Hej, jeg har følgende kode :

<script language=\"PHP\">
  include \"function.php\";
  db_connect();
 
  session_start();
 
  if ($login) {
  $check = mysql_query(\"SELECT username, pass FROM users WHERE username = \'$username\' AND pass = \'$pass\'\");
    if (mysql_num_rows($check)==0) {
</script>

  <script language=\"JavaScript\">
    alert(\"Forkert brugernavn eller kodeord\")
  </script>

<script language=\"PHP\">

} else {
  if ($rememberpass) {
  setcookie(\"remuser\", $username, time()+1209600);
  setcookie(\"rempass\", $pass, time()+1209600);
  }
  if ($autologin) {
    setcookie(\"autologin\", $usrname, time()+1209600);
    header(\"Location: community.php\");
  } else {
    $user = $username;
    session_register(\"user\");
    header(\"Location: community.php\");
  }
}
}
 
</script>

Hvis nogen kan tyde det, så er det et mindre login system :-) Nu har jeg så et problem, for når man logger ind så kan man vælge om ens kodeord skal huskes og om man skal logges ind automatisk. Det virker også fint, men hvis man så vælger f.eks. at den skal huske kodeord og brugernavn, og man senere logger af, og logger på uden at sætte kryds i \'husk oplysninger\' så husker den det alligevel (Sletter ikke de cookies der tidligere er blevet sat) :(

Hvis det er til at forstå, så håber jeg nogen kan fortælle mig hvordan jeg skal gøre.

På forhånd tak :-)
Avatar billede milpoer Nybegynder
03. september 2001 - 16:50 #1
Du skal sætte cookiesne om

setcookie(\"remuser\", $username, time()+0);
  setcookie(\"rempass\", $pass, time()+0);
Avatar billede faehunden Nybegynder
03. september 2001 - 16:53 #2
Det der er meningen er at de to cookies skal slettes, for brugeren ønsker jo ikke længere at oplysningerne skal huskes...

Jeg prøvede så at sætte en if (!$remeberpass) ind og så slette de to cookies med setcookie(\"rempass\"); men det virkede ikke :(
Avatar billede milpoer Nybegynder
03. september 2001 - 16:54 #3
Det er også det de bliver ved at sætte time()+0

så slettes de efter 0 sekunder.
Avatar billede faehunden Nybegynder
03. september 2001 - 16:55 #4
Fuck, jeg skal vist til at have briller :-) Men jeg har da før kunnet slette dem med

setcookie (\"rempass\");

hvorfor virker det så ikke???
Avatar billede milpoer Nybegynder
03. september 2001 - 16:58 #5
Ved ikke... ? Men virker det nu. ?
Avatar billede faehunden Nybegynder
03. september 2001 - 17:00 #6
Nej :( Har lige prøvet at sætte det ind...
Avatar billede faehunden Nybegynder
03. september 2001 - 17:04 #7
Nu ser det så dådan her ud, men den sletter ikke de to cookies alligvel

if ($rempass) {
  setcookie(\"remuser\", $username, time()+1209600);
  setcookie(\"rempass\", $pass, time()+1209600);
  } else {
  setcookie(\"remuser\", $username, time()+0);
  setcookie(\"rempass\", $pass, time()+0);
  }
  if ($autologin) {
    setcookie(\"autologin\", $usrname, time()+1209600);
    header(\"Location: community.php\");
  } else {
    $user = $username;
    session_register(\"user\");
    header(\"Location: community.php\");
  }
Avatar billede milpoer Nybegynder
03. september 2001 - 17:04 #8
prøv at skrive time() istedet for time()+0
Avatar billede faehunden Nybegynder
03. september 2001 - 17:06 #9
Hjalp heller ikke :(
Avatar billede milpoer Nybegynder
03. september 2001 - 17:08 #10
prøv lige at sætte den til time()-3600 så skulle den være slette for en time siden..
Avatar billede faehunden Nybegynder
03. september 2001 - 17:11 #11
Nope, virker stadig ikke, så det kan vel kun være noget med at den altså stadig tror at $remeberpass er sat selvom man ikke har sat kryds i det felt.
Avatar billede milpoer Nybegynder
03. september 2001 - 17:12 #12
ja.. for det her skulle altså virke...

Når men jeg håber du for det til at virke (og at der trods alt falder lidt point af til mig)

Avatar billede faehunden Nybegynder
03. september 2001 - 17:14 #13
Det håber jeg også, og lidt point kan det da nok blive til :-)

Og for en god ordens skyld må jeg også hellere lige vise min <form> hvis det nu er den det er galt med

<form method=\"post\" action=\"community.php\">
                    <input type=\"hidden\" name=\"login\" value=\"1\">
                    <b class=\"underskrift\">Brugernavn</b><br><input type=\"text\" name=\"username\" class=\"felt\" size=\"31\" value=\"<?php echo $remuser ?>\"></input><br>
                    <b class=\"underskrift\">Kodeord</b><br><input type=\"password\" name=\"pass\" class=\"felt\" size=\"31\" value=\"<?php echo $rempass ?>\"></input><br>
                    <input type=\"checkbox\" name=\"rempass\">Husk login oplysninger fremover<br>
                    <input type=\"checkbox\" name=\"autologin\">Log mig automatisk ind fremover<br><br>
                    <center><input type=\"submit\" value=\"Log ind\" class=\"submit\"></input></center>
</form>
Avatar billede milpoer Nybegynder
03. september 2001 - 17:15 #14
if ($rempass)  // du skal finde noget den skal sammenlign med værdien som det felt returnere..
{
  setcookie(\"remuser\", $username, time()+1209600);
  setcookie(\"rempass\", $pass, time()+1209600);
  } else {
  setcookie(\"remuser\", $username, time()+0);
  setcookie(\"rempass\", $pass, time()+0);
  }
  if ($autologin) {
    setcookie(\"autologin\", $usrname, time()+1209600);
    header(\"Location: community.php\");
  } else {
    $user = $username;
    session_register(\"user\");
    header(\"Location: community.php\");
  }
Avatar billede milpoer Nybegynder
03. september 2001 - 17:17 #15
<form method=\"post\" action=\"community.php\">
                    <input type=\"hidden\" name=\"login\" value=\"1\">
                    <b class=\"underskrift\">Brugernavn</b><br><input type=\"text\" name=\"username\" class=\"felt\" size=\"31\" value=\"<?php echo $remuser ?>\"></input><br>
                    <b class=\"underskrift\">Kodeord</b><br><input type=\"password\" name=\"pass\" class=\"felt\" size=\"31\" value=\"<?php echo $rempass ?>\"></input><br>
                    <input type=\"checkbox\" name=\"rempass\">Husk login oplysninger fremover<br> // sæt en value på som er henholdvis true og false
                    <input type=\"checkbox\" name=\"autologin\">Log mig automatisk ind fremover<br><br> // sæt en value på som er henholdvis true og false
                    <center><input type=\"submit\" value=\"Log ind\" class=\"submit\"></input></center>
</form>

OGså..


if ($rempass==true)
{
  setcookie(\"remuser\", $username, time()+1209600);
  setcookie(\"rempass\", $pass, time()+1209600);
  } else {
  setcookie(\"remuser\", $username, time()+0);
  setcookie(\"rempass\", $pass, time()+0);
  }
  if ($autologin) {
    setcookie(\"autologin\", $usrname, time()+1209600);
    header(\"Location: community.php\");
  } else {
    $user = $username;
    session_register(\"user\");
    header(\"Location: community.php\");
  }
Avatar billede milpoer Nybegynder
03. september 2001 - 17:18 #16
Det er også bedre at lave det til type=\'radio\' da du kun kan vælge den ene så.. Enten HUSK eller Husk IKKE
Avatar billede milpoer Nybegynder
03. september 2001 - 17:19 #17
Kan jeg ikke prøve at se siden det ligger på. ?
Avatar billede milpoer Nybegynder
03. september 2001 - 17:19 #18
Virker noget af alt det jeg har skrevet ?
Avatar billede faehunden Nybegynder
03. september 2001 - 17:21 #19
Gør jeg ikke det??? Hvis man har sat kryds i feltet så har $rempass vel en værdi, og ellers har den vel ikke... (Skal lige siges at $rememberpass i den kode jeg har vist altså i den oprindelige kode er $rempass så det er ikke der fejlen ligger, ellers ville den jo også altid slette de 2 cookies)
Avatar billede faehunden Nybegynder
03. september 2001 - 17:22 #20
Intet af det du har foreslået ind til videre har virket, og det er lidt svært hvis du skal se siden, for den er ikke uploadet endnu (da den jo ikke er færdig)
Avatar billede milpoer Nybegynder
03. september 2001 - 17:23 #21
prøv nu alligevel og sætte en value på
input type=\"checkbox\" name=\"rempass\">Husk login oplysninger fremover<br>

og sætte den til at tjekke om $rempass er lig den værdi..

if ($rempass==værdien)

Avatar billede faehunden Nybegynder
03. september 2001 - 17:24 #22
Det er jo meningen at man skal kunne vælge begge dele, så den f.eks. både husker det og logger dig ind automatisk fremover :-)
Avatar billede faehunden Nybegynder
03. september 2001 - 17:26 #23
YES, det virkede :-) Havde ellers prøvet at sætte en value på før, men havde så en detalje i PHP koden :-) Mange tak for hjælpen.
Avatar billede milpoer Nybegynder
03. september 2001 - 17:31 #24
Velbekom da.. :0)

Er websitet online så man kan se det ?
Avatar billede faehunden Nybegynder
03. september 2001 - 17:33 #25
www.msspa.dk der kan du se den nuværende version, og det er så den som jeg er i gang med at lave fuldstændigt om, helt fra bunden :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester