Zodra iemand via een link naar website komen dan is er nog geen sessie gestart, zodra iemand op een button klikken dan worden hun netjes doorverwezen naar een andere pagina, ik heb liever dat als een popup wordt getoont met fancybox of andere framework. Ik kan alleen locatie opgeven, hoe krijg ik dat voor elkaar?
Wat bedoel je?

Zodra iemand (enkelvoud) via een link naar [mijn] website komt, dan wordt er geen sessie gestart.
Dus iemand opent een URL in zijn browser. Er wordt dan geen sessie (ik denk met session_start() ?) gestart. Prima.

Zodra iemand (enkelvoud) op een button knop klikt, dan worden hun zij netjes doorverwezen naar een andere pagina.
Dus: ze openen een andere URL in hun browser via een link.

iIk heb liever dat, als popup wordt getoontd met Fancybox of een ander framework.
Ik heb het vermoeden dat je het woordje 'als' beter kan weglaten.
Wil je een Fancybox tonen in plaats van gewoon een link?

Ik kan alleen locatie opgeven,. Hhoe krijg ik dat voor elkaar?
Je hebt het hier over een Fancybox? Daarin kan je inderdaad alleen maar een locatie opgeven.



Nu ontstaat onduidelijk de vraag hoe je een sessie kan starten via Fancybox. Is dat wat je wilt weten?
Zo ja: zet in de pagina die je opent in je Fancybox helemaal bovenaan de pagina de volgende code:

<?php
session_start();
?>
Eddy bedankt voor het verbeteren.

Stel je stuurt een link naar iemand www.voorbeeld.nl/product.php?id=14 dan is sessie nog niet gestart omdat bij index een form er is voor de sessies en dat is niet uitgevoerd. Bij het product pagina kan je producten bestellen, zodra je op bestel of toevoegen drukt krijg je doorverwijzing dat wil ik aanpassen naar popup scherm met dat form erin.
Waarom niet gewoon direct, op elke pagina, de sessie starten?
Dat moet sowieso wel, als iemand ingelogd is en hij bezoekt die pagina (maar er is geen session_start()), dan is hij dus niet ingelogd...

Je kan ook een lege sessie maken, maar dan is die er tenminste wel. Je moet toch altijd blijven controleren of de sessie juist gevuld is.
Sessie start nadat form is verstuurd, maar zonder form is dat wel handig dan?
Johan de wit op 29/12/2014 02:50:31

Sessie start nadat form is verstuurd, maar zonder form is dat wel handig dan?


Dat is geen enkel probleem. Je moet er alleen niet vanuit gaan dat variabelen in de sessie standaard aanwezig zijn dus moet je altijd controleren of ze bestaan met isset(). Bijvoorbeeld zoiets:

<?php

session_start();

if(!isset($_SESSION['login'])
$_SESSION['login'] = FALSE;


// vanaf nu zal $_SESSION['login'] altijd bestaan en kan ik hem gerust gebruiken.

?>

Slimmeriken onder ons zullen hiervoor een functie gebruiken:

<?php

initSessionVar($key, $defaultValue = FALSE)
{
if(!isset($_SESSION[$key])
$_SESSION[$key] = $defaultValue;
}

session_start();

initSessionVar('login');
initSessionVar('username', 'anoniem');

?>

Reageren