Avatar billede zypher03 Nybegynder
28. januar 2003 - 20:11 Der er 6 kommentarer

Sorry, men et login spørgsmål igen...

Jeg har en menu der er lavet i tables, med et login script i bunden. (se login.php) og en .php side som tjekker brugernavn & password (se tjek_user.php)

Mit spørgsmål er da, hvordan kan jeg få den til at skrive om jeg er logget ind eller ej i menuen (F.eks. en table længere nede) i stedet for at skrive det i et nyt vindue. Jeg har selvfølgelig selv prøvet, men så fuckede den op i cookie'rne. Håber der er nogle der kan hjælpe, da jeg er temmelig ny i PHP.

LOGIN.php:


    <form action="tjek_user.php" method="get">

    Brugernavn:<br>
    <input type="text" size="30" name="username" maxlength="15" class="input"><p>

    Password:<br>
    <input type="password" size="30" name="passcode" maxlength="15" class="input"><p>

    <input type="submit" name="submit" value="Login" class="button">

  </form>


TJEK_USER.php:

<?
  addslashes($username);
  addslashes($passcode);
  $new_password = md5($passcode);
  require("db_ind.inc");
  $passquery = mysql_query("SELECT password, id FROM profiler WHERE username = '$username'");
  if (!mysql_num_rows($passquery))
  {
    echo "Ugyldigt brugernavn!<p>";
    exit();
  }
  else
  {
  if($row = mysql_fetch_array($passquery))
    {
      $dbpassword = $row["password"];
      $profilid = $row["id"];
    }
  if($dbpassword == $new_password)
  {
    $login = (true);
  }
  if ($dbpassword != $new_password)
  {
    echo "Forkert brugernavn eller password!!!<br>";
    echo "Hvis du ikke kan huske dit password, stÂr det i den mail du fik tilsendt ved oprettelsen. Skulle du ogs have mistet den mail, s kan du f den tilsendt, ved at trykker <a href=\"glemtkode.php\">her</a>.<br>";
    exit();
  }
  setcookie("coo_username","$username",time()+3600);
  setcookie("coo_password","$new_password",time()+3600);
  setcookie("coo_profilid","$profilid",time()+3600);
  $today = date("d-m-Y");
  require("db_ind.inc");
  mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$coo_username'");
  include ("index.php");
  }
?>
Avatar billede mufoxe Nybegynder
28. januar 2003 - 21:10 #1
Under login:
  if($dbpassword == $new_password)
  {
    $login = (true);
    $_Session["UserLoggedIn"] = true;
  }

Efter login på den side, hvor du ønsker at vise at en bruger logget ind:

if ($_Session["UserLoggedIn"]) echo "Du er nu logget ind";
Avatar billede zypher03 Nybegynder
28. januar 2003 - 22:16 #2
Perfekt. Nu skriver den at jeg er logget ind. So far so good. Men det forsvinder igen når jeg skifter side?
Forklaring: Den skriver "Du er nu logget ind" i min menu, men når jeg så skifter til ny side forsvinder det? Jeg bruger table's og ikke frames. Kan man klare den?
Avatar billede swaxi Nybegynder
29. januar 2003 - 02:07 #3
du skal have en session_start() på alle dine sider, for at holde sessionen "i live"
Avatar billede zypher03 Nybegynder
29. januar 2003 - 18:16 #4
Nej det virker desværre stadig ikke...! Har ellers lagt den ind på alle siderne. Andre forslag?
Den skriver også brugernavn & password i adresselinien, som ikke er særlig smart.
Avatar billede swaxi Nybegynder
30. januar 2003 - 15:02 #5
>Den skriver også brugernavn & password i adresselinien, som ikke er særlig smart

brug <form method="post"
fremfor <form method="get"
Avatar billede zypher03 Nybegynder
30. januar 2003 - 18:39 #6
Yep, det hjalp!
Thanx
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