webForumDet fria alternativet

om en session är tom kommer det fram en text

PHP

5 svar · 308 visningar · startad av filipbh

Medlem sedan juli 2002405 inlägg
Frågan#1

ja menar att om man är inloggad och sedan loggar ut så stängs alla sessioner. men om man trycker "back" så kommer man tillbaka till senaste sidan. men alla databas finns inte. hur gör man då så att det står typ "du är inte inloggad, var vänlig o logga in igen"...eller nåt liknande...tacksam för hjälp

Medlem sedan mars 20007 896 inlägg
#2

Försök med att skicka med headers:

header( "Cache-control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "Expires: 0" );

Dessa ska alltså skickas först på sidan som du inte vill att man ska kunna komma tillbaka till, innan någon output till webläsaren görs.

Välkommen till webForum, filipbh! :bire

Medlem sedan juli 2002405 inlägg
#3

det funkade tyvärr inte =( ja la in det i php-taggen överst på nyheter o så loggade ja ut. tröck back o sidan kunde visas, fast dock ej med databas-informationen...

Medlem sedan mars 20007 896 inlägg
#4

Gör tre testsidor:
sida1.php

<?php
session_start();
$_SESSION[ 'blah' ] = "Weee!";
echo "<a href=\"sida2.php\">Sida2!</a>";
?>

sida2.php

<?php
session_start();

header( "Cache-control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header( "Expires: 0" );

if( $_SESSION[ 'blah' ] == "Weee!" ) {
     echo "<a href=\"sida3.php\">sida3!</a>";
}
else {
     echo "Nooooo!";
}
?>

sida3.php

<?php
session_start();
$_SESSION[ 'blah' ] = "Ändrat!";
echo "Tryck bakåt!";
?>

Om du nu först går till sida1.php, klickar dig till sida2.php - vad står det då? Om du sen klickar dig till sida3.php och när den laddat klart, trycker bakåt - vad står det då?

Det borde ju fungera, tycker jag.

Medlem sedan maj 200256 inlägg
#5

Jag har helt enkelt: if(session_is_registered){Gör sidan}else{logga in igen} Funkar inte det eller är det bara en dum idé att ha så av någon anledning?

Medlem sedan mars 20007 896 inlägg
#6

Nä, det är ingen dum idé - men det hjälper inte här, eftersom att man ändå kan trycka på bakåt-knappen. Man måste tala om för webläsaren att sidan måste laddas om när man går in på den igen.

264 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)