PHP redirict na login.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Bas  van de Steeg

Bas van de Steeg

18/02/2012 14:59:17
Quote Anchor link
Eey mensen.
Ik probeer mijn login systeem nu zo te maken dat wanneer ik inlog met mijn Admin gebruikersnaam en wachtwoord de pagina meteen weer refresht (Zelfde effect als F5).
Alleen als ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('Location: http://vandesteeg.org/index.php');

gebruik dan veranderd er niks aan de pagina omdat de info dan in in je cache geheugen staat. Vandesteeg.org kun je het voorbeeld vinden. Als je daar inlogt met Admin,admin123 dan maakt die de session wel aan maar dan moet je eerst de pagina refreshen voordat de wijzigingen plaatsgevonden zijn.
 
PHP hulp

PHP hulp

03/12/2021 01:27:02
 
- SanThe -

- SanThe -

18/02/2012 15:11:47
Quote Anchor link
Ik zie het probleem niet.
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 15:14:25
Quote Anchor link
Als ik inlog dan gebeurt er niks. Zodra ik de pagina refresh(f5) dan pas zie ik dat ik ingelogt ben. Maar het moet zo zijn dat als ik inlog de pagina automatish refresht en dat ik dan zie dat ik ingelogt ben. Maar dat gebeurt dus niet.
 
- SanThe -

- SanThe -

18/02/2012 15:16:47
Quote Anchor link
Daar had ik hier geen last van.
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 15:19:45
Quote Anchor link
Oh oke , welke browser gebruik je ? Heb het namelijk op IE 8 en chrome en op firefox
geprobeert.
 
- SanThe -

- SanThe -

18/02/2012 15:32:16
Quote Anchor link
FF
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 16:24:40
Quote Anchor link
Iemand misschien nog een optie ?
 

18/02/2012 16:44:08
Quote Anchor link
gebruik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php header('Refresh: 5') ?>
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 16:50:56
Quote Anchor link
Tevergeefs......
 
Wouter J

Wouter J

18/02/2012 16:57:56
Quote Anchor link
Laat het form doorsturen naar een pagina waar je het afhandelt en zet het dan doormiddel van de header location weer terug naar de pagina waar je vandaan komt.
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 17:07:17
Quote Anchor link
Wouter , op deze manier werkt dit inderdaad.
Maar kan ik dan het beste de error meegeven via een $_GET['error'] ?
Errors van Gebruikersnaam verplicht enzo wachtwoord is tekort,,,
 
Wouter J

Wouter J

18/02/2012 17:12:26
Quote Anchor link
Dat kun je beter op de pagina zelf afhandelen. Iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$errors
= Array();
if( $_SERVER['REQUEST_METHOD'] == 'POST' )
{

  if( !isset($_POST['name') || $_POST['name'] == '' )
    $errors[] = 'U moet een naam invullen';
  if( !isset($_POST['pass') || $_POST['pass'] == '' )
    $errors[] = 'U moet een wachtwoord invullen';

  if( count($errors) =< 0 )
  {
# geen fouten
    header('Location: login-afhandelen.php');
  }
}

?>

Login-afhandelen.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
// handel het hele form af en log de user in
header('Location: index.php');
?>
 
Bas  van de Steeg

Bas van de Steeg

18/02/2012 17:15:38
Quote Anchor link
Ah oke bedankt wouter :) Ik ga er even naar kijken maar denk dat dit wel gaat lukken.
 
Maikel Doeze

Maikel Doeze

18/02/2012 17:46:08
Quote Anchor link
Het valt me altijd op dat iedereen exit(); vergeet na een header redirect terwijl deze wel vereist is. IE wil zonder deze exit ook nog wel eens de hele redirect negeren.
 
Wouter J

Wouter J

18/02/2012 17:49:34
Quote Anchor link
@Maikel, naar mijn mening vertel je nu 2 verkeerde dingen:
1) Een exit() na een redirect header is niet verplicht. Sterker nog, die exit zou nooit gelezen worden, omdat de pagina al wordt doorgezonden.
2) PHP is een server-side taal, deze dingen worden dus op de server afgehandeld en niet aan de client-side. Dus of je nou IE, Chrome, Opera of Safari gebruikt, het is allemaal hetzelfde. Het verschil ligt hem in welke server je gebruikt voor de website.
 
Bas  van de Steeg

Bas van de Steeg

19/02/2012 09:29:34
Quote Anchor link
@Wouter
Op php.net staat wel dat je exit(); kan gebruiken omdat alle code die na een redirect niet meer te lezen. Maar dit lijkt mij al te gebeuren als je doorgestuurt word.

Toevoeging op 19/02/2012 09:59:09:

Function.Header
 
Thomas R

Thomas R

19/02/2012 13:07:08
Quote Anchor link
Je kunt volgens mij geen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php header("Location: ..."); ?>

gebruiken hier. Ik had precies hetzelfde probleem en heb het hiermee opgelost:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php  
if($wachtwoord == $_POST['wachtwoord']) //Zoiets gebruik je waarschijnlijk om te kijken of het wachtwoord klopt.
{
    echo "<meta http-equiv='REFRESH' content='0; url=http://www.jouwdomein.nl/beveiligdepagina.html'>"; //Deze echo zorgt er dus voor dat de pagina refresht in 0 seconden en naar de opgegeven url gaat.
}
?>
Gewijzigd op 19/02/2012 13:11:36 door Thomas R
 
Obelix Idefix

Obelix Idefix

19/02/2012 13:09:36
Quote Anchor link
Waarom zou je hier geen header kunnen gebruiken volgens jou?
 
Thomas R

Thomas R

19/02/2012 13:13:06
Quote Anchor link
Ik heb ergens gelezen dat wanneer je een header aanroept, er geen html inhoud boven de header mag staan. Als je een header aanroept moet die dus helemaal bovenaan de pagina komen te staan. Ik kwam hier laatst achter want zat met hetzelfde probleem te kampen en vond dit even goede oplossing.
 
Obelix Idefix

Obelix Idefix

19/02/2012 13:15:01
Quote Anchor link
Waar staat in dit script dan html-output (voor de header)?
Gewijzigd op 19/02/2012 13:15:35 door Obelix Idefix
 
Thomas R

Thomas R

19/02/2012 13:16:52
Quote Anchor link
Ik weet niet of het erbij staat want hij laat maar één lijn zien van zijn sccript. Ik kan daaruit niet opmaken of hij er wel of geen html voor heeft staan dus gaf ik een andere oplossing.
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.