Avatar billede kajbi Nybegynder
26. februar 2009 - 19:21 Der er 10 kommentarer og
2 løsninger

Log ind hjælp

Hey

Jeg ahr et problem med at jeg skal have min hjemmeside til at opdatere menuen når en bruger logget ind, og min index fil ser sådan her ud:

  <frameset rows="20%,80%">
    <frame src="include/top.htm"  frameborder="0" border="0" >
    <frameset cols="15%,85%">
      <frame name="menu" src="include/menu.php" frameborder="0" border="0" noresize>
      <frame name="main" src="e/forsiden.htm" frameborder="0" border="0" noresize>
    </frameset>
  </frameset>


Min logind fil ser sådan ud
$tael = mysql_query("SELECT login_username, login_password, login_id FROM kunde_login WHERE login_username = '$login_username' AND login_password = '$login_password' LIMIT 1") or die(mysql_error());
$antal = mysql_num_rows($tael);
if($antal == 1){

//Hvis det var rigtige oplysninger, skal vi sætte en session
$_SESSION[login] == 'true';

//Vi sætter også en session som vi skal bruge på profil.php
while($r = mysql_fetch_array($tael)) {
$s_login_username = $r["login_username"];
$s_login_password = $r["login_password"];
$s_login_id = $r["login_id"];
}
session_register ("s_login_username");
session_register ("s_login_password");
session_register ("s_login_id");

//Så sender vi brugeren til hans/hendes profil
mysql_query("UPDATE kunde_login SET login_ip = '$_SERVER[REMOTE_ADDR]' WHERE login_username = '$s_login_username'") or die(mysql_error());

echo '<meta http-equiv="refresh" content=" 0;URL=http://.dk/privat/include/menu.php" target"menu">';
echo 'Vent et øjeblik';
} else {
echo '<meta http-equiv="refresh" content=" 0;URL=http://.dk/privat/e/kunder/profil.php" target"main">';
echo '<meta http-equiv="refresh" content=" 0;URL=http://.dk/privat/e/kunder/fejl.php    " target"main">';
echo 'Vent et øjeblik';
}
}

Men når jeg har logget ind bliver menuen stadig ligesom om man har logget ind. Hvordan klarer jeg lige det nemmest?
Avatar billede kjeldsted Novice
26. februar 2009 - 20:00 #1
Du skal lave lave et kontrol på om brugeren er logget ind og så udføre en proces alt efter om du er logget ind eller ej. Vel noget á la:

<?
if(isset($_SESSION['s_login_username'],$_SESSION['s_login_password'])
{
echo "Menu hvis du er logget ind";
}
else
{
echo "Menu hvis du ikke er logget ind";
}
?>
Avatar billede kajbi Nybegynder
26. februar 2009 - 21:31 #2
Det har jeg
<?
session_start();
include("dbconnect.php");
if(!isset($s_login_username)) {
echo('<a href="../e/kunder/index.php" target="main">Log ind</a>');
} elseif(isset($s_login_username)) {
?>
<a href="../e/kunder/profil.php" target="main">Kundeforside</a><br>
<a href="../e/kunder/faktura.php" target="main">Dine faktura</a><br>
<a href="../e/kunder/logud.php" target="main">Log ud</a>
<?
}
?>

Problemmet er at jeg har en normal menu som altid vises, og så når man logger ind kommer der noget ekstra på menuen, men jeg skal trykke f5 for at det vises efter jeg er logget ind pga <frame> hvordan kan jeg lige gøre så man ikke skal trykke f5?
For det dur nemlig ikke at have den til at refresh hver 5 sek så blinker det.
Avatar billede hallubaloo Nybegynder
27. februar 2009 - 01:34 #3
du bruger da vel ikke frameset.. tsk tsk ;)
Avatar billede kajbi Nybegynder
27. februar 2009 - 07:56 #4
Jo det gør jeg jo :) Derfor det driller sådan!
Avatar billede hallubaloo Nybegynder
27. februar 2009 - 12:44 #5
Brug dog div elementer :)
Eller tabeler.. ja selv tabeller er bedre end frames.. frames er udfaset.. selv iframes er gone. Du kan ikke søgeoptimere en side optimalt, når den er lavet i frames.

Men hvis du ikke kender noget til div elementer, så se mere her:
http://www.w3schools.com/css/css_intro.asp
Avatar billede kjeldsted Novice
27. februar 2009 - 13:46 #6
Tja.

Kan nok ikke sige så meget andet end du bør droppe det frame-halløj. Giver kun anledning til bekrymring og problemer.
Avatar billede kajbi Nybegynder
27. februar 2009 - 16:00 #7
Der må da være et eller andet? :S
Avatar billede kjeldsted Novice
27. februar 2009 - 16:18 #8
Ikke andet end at du ligger en refresh (nok bedst i noget PHP (header())) i det vindue som du refresher når du opdatere siden.

Eller bede brugerene om at opdatere ;)

Men generelt bør du holde dig fra frames. Det er kun noget man får grå hår af.
Avatar billede kajbi Nybegynder
27. februar 2009 - 18:57 #9
Ligger i lige et svar begge 2?
Avatar billede hallubaloo Nybegynder
27. februar 2009 - 19:40 #10
Synes ikke jeg har hjulpet dig med dét her spørgsmål, men det bestemmer du. Brokker mig da ikke hvis du giver mig point ;)
Avatar billede haken Nybegynder
27. februar 2009 - 21:58 #11
Hvis du vil bruge frames kan du enten ligge login form i den frame menu'en ligger i.
Eller du kan lave en refresh af din menu frame v.h.a en onload=kald_funktion_der_refresher_menu() der ligger i body tag på den side du kommer til efter du er logget ind.
Avatar billede kjeldsted Novice
27. februar 2009 - 22:51 #12
Og hér har du så et svar
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