Avatar billede clausberg Nybegynder
22. august 2007 - 21:35 Der er 9 kommentarer og
1 løsning

Send til ny side efter submit

Hey
Jeg vil gerne sende brugeren videre til en ny side efter tryk på submit i en login form.

Lige nu ser scriptet således ud:

<?
if($session->logged_in){
  echo "Velkommen <b>$session->username</b>. "
      ."<a href=\"userinfo.php?user=$session->username\">Din konto</a>&nbsp;"
      ."<a href=\"useredit.php\">Ret konto</a> &nbsp;";
  if($session->isAdmin()){
      echo "[<a href=\"admin/admin.php\">Admin Center</a>] &nbsp;";
  }
  echo "<a href=\"process.php\">Logout</a>";
}
else{
?>
<?
if($form->num_errors > 0){
  echo "<font size=\"2\" color=\"#ff0000\">".$form->num_errors." fejl fundet</font>";
}
?>
<form action="process.php" method="POST">
<input type="text" name="user" maxlength="30" size="5" class="login" value="<? echo $form->value("user"); ?>" />&nbsp;
<? echo $form->error("user"); ?>
<input type="password" name="pass" maxlength="32" size="5" class="login" value="<? echo $form->value("pass"); ?>" />&nbsp;
<? echo $form->error("pass"); ?>
<input type="hidden" name="sublogin" value="1" />
<input name="submit" type="image" src="pic/gif/submit.gif" alt="Login" />
<input type="checkbox" name="remember" <? if($form->value("remember") != ""){ echo "checked"; } ?> />Husk mig!&nbsp;
<a class="main" href="forgotpass.php">Glemt password?</a>
</form>
<?
}
?>

Men i stedet for at vise menuen, efter at brugeren har logget sig ind, vil jeg gerne sende brugeren automatisk til fx secretsite.php

Thanks!
Avatar billede jakobdo Ekspert
22. august 2007 - 21:43 #1
Hvordan du styrer din indlogning, kan jeg ikke se.
Men du kan jo smide brugeren til en anden side med:
header('Location: andenside.php');
exit();
Avatar billede clausberg Nybegynder
22. august 2007 - 21:51 #2
Vil det sige:

<?
if($session->logged_in){
header('Location: andenside.php');
exit();
}
else {
?>
bla bla bla

Jeg får fejl på det.
Avatar billede clausberg Nybegynder
22. august 2007 - 21:58 #3
øhh... jeg ved, at header ikke skal placeres der, men aller øverst i scriptet... så den funktion, kan jeg vel ikke bruge?
Avatar billede net-base.dk Nybegynder
22. august 2007 - 23:19 #4
header funktionen kan ikke bruges efter du har udskrevet noget til siden...
Avatar billede jakobdo Ekspert
23. august 2007 - 07:46 #5
Som net-base siger: Header skal ikke altid sættes øverst, den skal bare placeres inden der er sendt data til browseren, f.eks. via: echo 'data'; eller print 'data'; osv...
Avatar billede zurekk Nybegynder
23. august 2007 - 15:11 #6
Jeg bruger selv denne:
function redirect( $to )
    {
        if( headers_sent() )
            {
                echo "<script>document.location.href='$to';</script>";
            }
        else
            {
                @ob_end_clean();
               
                header( 'HTTP/1.1 301 Moved permanently!' );
                header( 'Location: ' . $to );
            }
    }

Der findes garanteret bedre alternativer, men jeg synes om den :)
Avatar billede clausberg Nybegynder
25. august 2007 - 00:27 #7
jeg tjekker det lige ud...
Avatar billede clausberg Nybegynder
06. november 2007 - 22:11 #8
smid et svar ;-)
Avatar billede jakobdo Ekspert
07. november 2007 - 07:45 #9
Hvem skal smide svar?
Avatar billede jakobdo Ekspert
19. november 2007 - 10:54 #10
Takker for point.
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