[php] Na invullen wachtwoord terug naar 'originele pagina' *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik heb een online webshop gemaakt met php. Ik heb dit beveiligt door aan het begin van elke pagina te zetten:

code:
code:
1
2
3
4
5
6
<?php 
session_start();  
if(!isset($_SESSION["user"])){  
header("Location: login.php");  
} 
?>


maar waneer iemand nog niet is ingelogt gaat hij naar login.php en als je je daar inlogt kun je niet terug. is het mogenlijk ofzo om de login dan in een popup ofzo te laten zien en dat je dan inlogt je op vernieuwen kunt klikken?

[ Voor 12% gewijzigd door Verwijderd op 31-07-2004 13:29 ]


Acties:
  • 0 Henk 'm!

  • Scaror
  • Registratie: September 2003
  • Laatst online: 02-09 22:39

Scaror

Don't watch this!

Ik begrijp je probleem niet helemaal. Bedoel je dat de gebruiker, die naar pagina X wilde en doorgestuurd werd naar login.php, na inloggen gelijk naar pagina X gaat? Ik dat geval kun je toch X als argument meegeven:
Location: login.php?page=X
Na inloggen redirect je dan weer naar X.

[ Voor 9% gewijzigd door Scaror op 31-07-2004 13:30 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ja hoor, dat kan. Je stuurt bijvoorbeeld een pagina met een stukje javascript naar de client.
Je kunt ook de gegevens van de opgevraagde pagina meesturen naar de inlogpagina, middels een session of (en dat is wat ik zou doen) in de url. Na het inloggen stuur je de client simpelwer weer terug naar from whence it came;

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
owja slim idee en als hij dan ingelogt is laat ik hem terugkeren bij x ik ga het proberen

Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
wel opletten dat als je een url als "pagina1.php?var=blaat" meegeeft je eerst die url via rawurlencode omzet, anders kun je problemen gaan krijgen ;-)

Acties:
  • 0 Henk 'm!

  • Luxx
  • Registratie: Februari 2001
  • Laatst online: 20-05 12:47

Luxx

Hijs nu het zeil gezwind...

Je kan zoiets ook met een include oplossen.. als de user inlogt include je de content, anders include je een loginscript. Let er wel even op dat je voor je includes een extentie neemt die ook niet direct op te vragen is(via je .htaccess ofoz). Een gebruiker krijgt deze dan wel nooit te zien, maar voor de zekerheid.

HYEHEHEHEEHHEEHee, hier had iets zinnigs kunnen staan, maar dat is niet.


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21-09 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Titel iets opgepoetst. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bedankt het werkt
code van products.php3:
code:
1
2
3
4
5
6
<?php  
session_start();  
if(!isset($_SESSION["user"])){  
header("Location: login.php?history=products.php3");  
}  
?>

stukje uit login.php:
code:
1
2
$history = $_GET['history']; 
header("Location: $history");

[ Voor 29% gewijzigd door Verwijderd op 31-07-2004 13:45 ]


Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
wat dacht je van:
code:
1
2
3
4
if (! isset($_SESSION["session_user"])) 
{
    header("Location: notlogged.php?from=".urlencode($_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']));
}


is iets algemener, kan je gewoon op elke pagina plakken ;-)

[ Voor 15% gewijzigd door mouse256 op 31-07-2004 13:48 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ok snap het al ga eens proberen

[ Voor 119% gewijzigd door Verwijderd op 31-07-2004 13:53 ]


Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
neen, ik heb dit stukje code gewoon vanop een eigen site gecopy/pase, die notlogged.php moet login.php worden. De pagina waarop je zit bepaald het script zelf door die $_SERVER["PHP_SELF"], dan moet je dus niet op elke pagina dat zelf gaan invullen. Die query_string er achter is voor eventuele argumenten mee te geven...

ok, te laat dus met men uitleg ;-)

[ Voor 8% gewijzigd door mouse256 op 31-07-2004 13:54 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet niet precies wat er gebeurt als je de Location header gebruikt; of de $_SERVER["REQUEST_URI"] variabele dan het nieuwe of het oude script wordt, om maar iets te noemen.

Maar je zou kunnen schipperen met $_SERVER["REQUEST_URI"] en $_SERVER["HTTP_REFERER"] om de gebruiker terug te sturen naar de "vorige" pagina.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
volgens mij werkt dit niet want eerst kon ik ook niet met vroige terug. dus hij slaat de pagina die je invoert niet op in je history. dat bedoel je toch?

Acties:
  • 0 Henk 'm!

  • mouse256
  • Registratie: Mei 2003
  • Laatst online: 30-12-2024
die $_SERVER["REQUEST_URI"] is mss ook te gebruiken, maar ik meen mij te herinneren dat ik die eerst wou gebruiken maar ik daarmee op een probleem ben gestoten, maar zeker ben ik er niet van.
de refereren daarentegen zou ik niet gebruiken. Normaal stuurt een browser die mee, maar ik weet dat norton personal firewall de referer uitschakeld. Ik weet niet wat andere firewalls ermee doen, maar dit lijkt mij geen goede oplossing. De vorige pagina via de url meegeven is volgens mij niet erg ingewikkeld en werkt altijd...
Pagina: 1