Avatar billede TiHs Nybegynder
15. november 2006 - 17:35 Der er 7 kommentarer og
1 løsning

Skrive en rigtig header location: sidenmanforsøgteatåbne

Hej eksperter

Hvordan skriver jeg en header der automatisk
finder tilbage til den side man forsøgte at åbne
via et link ?
Lige nu dirigerer jeg brugerne ind på en login side som så registrer deres login og smider dem ind på en fælles side. Fra fælles side kan de så vælge siden igen. Men hvordan skriver jeg en header der smider en ind på den side man forsøgte at åbne i første omgang ?
Avatar billede zynzz Praktikant
15. november 2006 - 17:44 #1
Du vil gerne have brugerne til at gå tilbage til hvor de kom fra ?

$_SERVER['HTTP_REFERER']
Avatar billede coderdk Praktikant
15. november 2006 - 17:51 #2
F.eks. kan du i stedet for at dirigere brugerne hen på en loginside, vise login på den side de er på.

logincheck.php:

<?php

  session_start();
  if ( empty( $_SESSION['username'] ) )
  {
    // Brugeren er ikke logget ind
    if ( $_SERVER['REQUEST_METHOD'] == 'POST' )
    {
        // Brugeren har POST'et en form, forhåbentlig login-formen!
        // SQL her til at validere brugeren
        $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        header('location: ' . $url );
        exit;
    }
    else
    {
        // Vis login-formen her, action på formularen skal sættes til $_SERVER['REQUEST_URI']
        exit;
    }
  }

?>

Den side require du så bare på de steder der kræver login... :)
Avatar billede coderdk Praktikant
15. november 2006 - 17:52 #3
Og husk at sætte $_SESSION['username'] ved login, eller ret det i min kode ;)
Avatar billede coderdk Praktikant
15. november 2006 - 17:53 #4
Hvis du hellere vil videresende dem til en loginside, så send bare urlencode( $_SERVER['REQUEST_URI'] ) med som GET-parameter til den side...
Avatar billede TiHs Nybegynder
15. november 2006 - 19:32 #5
Kan jeg ikke gøre det nemmere som zynzz skriver det ?
Når login.html submitter til login.php ... så sætter jeg jo en session ... hvis den så bliver ok, så vil jeg sende bruger til siden han kom fra, else header Location login.html igen .....
Og inde på den side bruger går ind på tjekker den stadig på id så det kan være bruger bliver smidt til login.html igen der også ....

så jeg mangler lige det jeg kan skrive i min login php:

<?php
session_start();
mysql_connect('localhost', 'brugernavn', 'kode');
mysql_select_db("databasenavn");

$brugernavn = $_POST[brugernavn];
$brugernavn = strip_tags($brugernavn);
$brugernavn = mysql_real_escape_string($brugernavn);

$kodeord = $_POST[kodeord];
$kodeord = strip_tags($kodeord);
$kodeord = mysql_real_escape_string($kodeord);

$tael = mysql_query("SELECT brugernavn, aid FROM bruger WHERE brugernavn = '$brugernavn' AND kodeord = '$kodeord'") or die(mysql_error());
$antal = mysql_num_rows($tael);
if($antal == 1){

$row = mysql_fetch_array($tael);

$_SESSION['loget_in'] = $row[1];

$_SERVER['HTTP_REFERER']
*//Denne ovenstående jeg er i tvivl om hvad jeg kan/skal skrive for at sende
*//bruger tilbage til siden han forsøgte at åbne.

} else {
header('Location: login.html');
}
?>
Avatar billede TiHs Nybegynder
15. november 2006 - 19:33 #6
troede det skulle skrives som en header på en eller anden måde
Avatar billede TiHs Nybegynder
15. november 2006 - 20:02 #7
F.eks. denne header sender mig tilbage til min index.htm ... men jeg vil gerne tilbage til den side der tjekkede om jeg var logget ind, som så sendte mig til login.htm som så eksekverer login.php der sender mig til nedenstående ... men skulle dog være siden jeg forsøgte at gå ind på ...

header("Location: http://" . $_SERVER['HTTP_HOST']
                    . dirname($_SERVER['PHP_SELF'])
                    . "/" . $relative_url);
Avatar billede TiHs Nybegynder
16. november 2006 - 14:30 #8
manglede 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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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