Avatar billede akki Nybegynder
19. januar 2003 - 22:30 Der er 6 kommentarer

Problemmer med session og Iframe

Hey!!

Jeg skrive her i håb, om at nogen måske kan hjælpe mig.

Jeg har lavet en side, vedhjælp af iframe.

på denneside, er der mulighed for at logge på, men når man logger på via siden i iframe, er det som om at session ikke blive sat, jeg kan bla se det ved at brugernavnet ikke blive skrevet i velkommen xxx. Men loader jeg siden for sig selv, altså uden om iframe, så virker det hele.

mit script ser sådan ud

--------- tjekker user -----
<?
    session_start();
  addslashes($username);
  addslashes($passcode);
  $password = ($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 == $password)
  {
    $login = (true);
  }
  if ($dbpassword != $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();
  }
    session_register(username);
    session_register(password);
    session_register(profilid);
  $today = date("d-m-Y");
  require("db_ind.inc");
  mysql_query("UPDATE profiler set lastlogin = '$today' WHERE username = '$username'");
  header("Location: muligheder.php");
  }
?>

------- muligheder.php -------

<?
    session_start();
    ?>
<link href="../test.CSS" rel="stylesheet" type="text/css">
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellpadding="0">
  <tr>
    <td height="10" bgcolor="#006699"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">&nbsp;MJ-Privat
      &nbsp;::&nbsp;&nbsp;</font></strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong><font color="#FFCC00">Medlems
      siderne</font> :: </strong><a href="edit_profil_form.php"><strong>Ret profil</strong></a><strong>
      :: </strong><a href="upload.php"><strong>Upload</strong></a><strong> ::</strong>
      <a href="log_ud.php"><strong>Log ud</strong></a><strong> </strong></font>
    </td>
  </tr>
  <tr>
    <td align="left" valign="top"><p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
        Velkommen <b><? print $username ?></b> til vores medlems sider<br>
        </font></p>
      <table width="383" border="0" cellpadding="0">
        <tr>
          <td width="67%" align="left" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Du
            er logget på som brugerid nr:</font></td>
          <td width="33%" align="center" bgcolor="#006699"><strong><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><? print $profilid ?></font></strong></td>
        </tr>
        <tr>
          <td align="left" valign="top"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Dit
            bruger navn er :</font></td>
          <td align="center" bgcolor="#006699"><strong><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif"><? print $username ?></font></strong></td>
        </tr>
      </table>
      <p><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><br>
        <br>
        <br>
        </font></p>
      <p>&nbsp;</p>
      <p align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">//
        Martin J&oslash;rgensen ::</font></p>
      </td>
  </tr>
</table>
<strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font></strong>


selve siden kan ses på www.mlj-linux.tk

man kan for at teste, oprette en bruger, ellers kan man logge på som demo demo
Avatar billede sylvesternielsen Nybegynder
19. januar 2003 - 22:33 #1
Jeg har haft problemmet selv.. og et alternativ er at du opdatere hele siden samridigt med dit login...
Her skal du bare bruge et javascript istedet...
Avatar billede sylvesternielsen Nybegynder
19. januar 2003 - 22:36 #2
en anden måde er at du kan bruge session_set_cookie_params..
http://www.php.net/manual/en/function.session-set-cookie-params.php

Grunden er at du definere din session i fx. www.domæne.dk/side som din session læser.. Ved at sætte parametrene kan du så fortælle den at den tilhører www.domæne.dk og den virker så i alle subdirectories mm.
Avatar billede akki Nybegynder
19. januar 2003 - 22:51 #3
Har du tilfældigvis nogle eksempler.. enten på et script som opdatere det hele, eller på hvordan den session string skulle se ud for mit vedkomne.
Avatar billede sylvesternielsen Nybegynder
19. januar 2003 - 22:54 #4
Ja da..

Session parameter er noget i stil med: session_set_cookie_params("","","domæne.dk";

Java er:
<script language="JavaScript" type="text/javascript">
function skift(){
parent.location.href='http://www.domæne.dk'"; ?>'
}
</script>
Avatar billede akki Nybegynder
19. januar 2003 - 23:05 #5
hvordan skal jeg feks sætte det java script ind i min php fil.. hvor henne og hvilke..
Avatar billede sylvesternielsen Nybegynder
19. januar 2003 - 23:10 #6
Du sætter dette ind i head:

<script language="JavaScript" type="text/javascript">
function skift(){
parent.location.href='http://www.domæne.dk'"; ?>'
}
</script>

Når du så har gemt din session laver du en variabel som hedder fx. $login = "true";

i din body skriver du så: <body <? if ($login == "true"){ echo "onload=\"skift()\" >";
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