Avatar billede akki Nybegynder
07. februar 2003 - 15:24 Der er 2 kommentarer

Hjælp til cookie og iframe

Jeg har fundet mig et login script.. men af en eller anden grund blive min cookie ikke sat, hvis jeg logger mig på via en iframe.. hvis jeg åbner samme side op som en ny side, så virker det.

mit script ser sådan ud.. håber at nogen har en løsning til dette problem..

-------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'");
  header("Location: muligheder.php");
  }
?>

----muligheder.php----

<?
  require("db_ind.inc");
  $passquery = mysql_query("SELECT password FROM profiler WHERE username = '$coo_username'");
  if (!mysql_num_rows($passquery))
    {
      echo "Ugyldigt brugernavn!<p>";
      exit();
    }
  else
    {
      $row = mysql_fetch_array($passquery);
      $dbpassword = $row["password"];
      if($dbpassword == $coo_password)
        {
          $login = (true);
        }
      if ($dbpassword != $coo_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();
        }
      else
        {
          setcookie("coo_username","$coo_username",time()+3600);
          setcookie("coo_password","$coo_password",time()+3600);
          setcookie("coo_profilid","$coo_profilid",time()+3600);
        }
    }
?>
</p>
<p><a href="sikker.php">Tjek om dit login r&oslash;g igennem</a></p>
<p><a href="ops.php">brugeroplysninger</a></p>
<p><a href="log_ud.php">logud</a></p>
<p><a href="edit_profil_form.php">Rette profil</a></p>


Jeg håber at der sider en blant jer der kan hjælpe mig..
Avatar billede Slettet bruger
07. februar 2003 - 15:37 #1
Hmmm... tror dit problem har noget med sikkerhedsindstillingerne i browseren at gøre... hvis du bruger explorer kan du sandsynligvis se et øje og et STOP skilt nede i højre hjørne på status menuen!?
Avatar billede kastermester Nybegynder
07. februar 2003 - 20:52 #2
Eller også skal du skrive setcookie("xxx", "xxxx", "xxxx", "/"); mener jeg det er, check lige www.php.net/setcookie der står noget om nogle ekstra paramentre som du nok skal sætte, en af dem skal være "/".
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