Avatar billede ranx Nybegynder
14. februar 2008 - 11:17 Der er 9 kommentarer

Ændring af PHP side efter brug af loginform

Hej,

Jeg har en php side med en login og password form i en tabel med kun 1 række og 1 tabeldata.

Selve login osv fungere fint, men jeg vil gerne have det sådan at når man har logget ind så skal formen
erstattes at en tekst hvor der f.eks. står "Hej XXX, du er logget ind."

Dvs. afhængig af om man er logget ind eller ej så vises den tabel forskelligt.

Hvordan gør man det smartest? skal man refreshe sin side automatisk efter login på en måde og så have en:

if(loggedin)
TABEL1
else
TABEL2

eller hvordan?

På forhånd tak
Avatar billede mussepower5 Nybegynder
14. februar 2008 - 13:21 #1
Prøv med det her.. den vil skrive en bar ud hvor den siger: jeg >username<( hvis du er logget ind  ellers siger den bare >hej gæst<:

<?php
session_start();
if(isset($_SESSION['user']))
{echo "<div id=p9> hej, " . $_SESSION['user'];</div>";}
else
{echo "<div id=p9>hallo,
  g&aelig;s </div>";}
  ?>
Avatar billede ranx Nybegynder
14. februar 2008 - 14:03 #2
Hej,

Tak for buddet men der er ikke noget problem med en echo f.eks.

Problemet ligger i at lave en Tabel/TR/TD ud fra om man er logget ind eller ej.


<table>
if(isset($_SESSION['user']))
{
<tr> <td> du er logget på.</td> </tr>
}
else
{
<tr> <td> du er IKKE logget på</td> </tr>
}
  ?>
</table>


Noget i den stil jeg havde tænkt mig men det kan jeg ikke få til at virke?
Avatar billede mussepower5 Nybegynder
14. februar 2008 - 17:22 #3
ahhh. så burdte du kunne skrive

<?php
session_start();
if(isset($_SESSION['user']))
{echo "<table><tr><td>Du er logget på!</td></tr></tabel>";}
else
{echo "<table><tr><td>Du er ikke logget på!</td></tr></tabel>";}
  ?>
Avatar billede mussepower5 Nybegynder
14. februar 2008 - 17:22 #4
hov.. der var en fjel..
<?php
session_start();
if(isset($_SESSION['user']))
{echo "<table><tr><td>Du er logget på!</td></tr></tabel>";}
else
{echo "<table><tr><td>Du er ikke logget på!</td></tr></tabel>";}
  ?>

rettes til

<?php
session_start();
if(isset($_SESSION['user']))
{echo "<table><tr><td>Du er logget på!</td></tr></table>";}
else
{echo "<table><tr><td>Du er ikke logget på!</td></tr></table>";}
  ?>
Avatar billede moddi100 Seniormester
14. februar 2008 - 23:18 #5
Nu ved jeg ikke lige hvad du skal bruge det til, men ellers kan du jo bare åbne en helt ny side, når der logges ind:

<?php
session_start();
if(isset($_SESSION['user']))
{
  header("Location: side2.php");
}
else
{
// Din tabel her
}
?>
Avatar billede mussepower5 Nybegynder
15. februar 2008 - 18:32 #6
hm.. du skal alså forklare det bædre.. vil du havde den til at lave en table hvor den skal sige Du er logget ind! ( Hvis du er logget ind ) og Du er ikke logget ind! ( hvis du ikke er logget ind ) eller skal den smide dig ind til en anden hjemmeside når du logger ind ( når du trykker på log in )eller skal den smide dig til en anden hjemmeside hvis du IKKE er logget ind? eller hvad??
Avatar billede ranx Nybegynder
15. februar 2008 - 20:36 #7
Nu har jeg fået koden til at virke:

Dette virker:

if($userdata['session_logged_in'])
{
echo('Du er logget ind!');
}
else
{
?>
<table>
    <tr> <td> Du er ikke logget ind! </td> </tr>           
</table>
<?php
}

Problemer er bare at man skal trykke på F5 (altså refresh) for at det træder igennem. Kan man få den til at automatisk refreshe efter man har kørt if eller elsen?
Avatar billede ranx Nybegynder
15. februar 2008 - 21:36 #8
Uddybning:

Jeg har nemlig at hvis den hopper ned i ELSE'en.

Så går den på en side i en iframe med onlick. Det er også perfekt. Men selve siden med formen bliver ikke refreshed.

Er det muligt i så fald at have 2 onclick? altså efter at man trykker på Form knapper går ned i en frame og derefter refresher hele siden?
Avatar billede moddi100 Seniormester
17. februar 2008 - 18:49 #9
Jeg kan ikke helt følge med i, hvad du siger der sker, men så vidt jeg kan se burde det virke. Hvis du altså har sat <form action="<?php echo $_SERVER['PHP_SELF']; ?>">??
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