Door
Tim Wolf
op 05-02-2016 16:37
gewijzigd op 05-02-2016 16:50
5.934 views
Goedemiddag PHPHulp,
Ik loop tegen de volgende fout aan in mijn script:
<?php if(isset($_SESSION['username'])){echo '<center>
<a class="btn btn-default" data-dismiss="model" data-toggle="modal" data-target="#faq">
Antwoorden op veel vragen</a></center><br><center>
<p style="color:white">Welkom'.htmlentities($_SESSION['username'], print '
Je kunt hierboven op Antwoorden op veel vragen drukken om antwoorden te krijgen
en even een korte handleiding te kijgen.'
.htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8';}
else { echo '<center><p style="color:white">
Je moet ingelogd zijn om deze link te zien<br><br></p></center>'; } ?>
Dit is een van de simpelste vragen denk ik (maar ik word er nu ondertussen gek van)
De error die die geeft is:
Parse error: syntax error, unexpected ';' in /home/privé gebruikersnaam/public_html/index.php on line 322
Het kan er ondertussen rommelig uitzien want ik heb er overal ; toegevoegd en verwijderd.
Je moet gewoon een manier hebben om site 2 gegevens van site 1 te laten halen. Je kunt heel eenvoudig een session id oid meesturen tussen de 2 sites, waarbij ik session id eigenlijk tussen aanhalingstekens zou moeten zetten. Wat ook kan is iets als (op site 2):
1. Controleer of cookie geset is
2. Zo niet, redirect naar een pagina op site 1 die de session id's e.d. op site 1 kent. Zo ja, zie stap 5
3. Stuur gebruiker door naar site2/?session=... vanuit de pagina op site 1
4. Set cookie met de gegevens die binnengekomen zijn
5. Done
Helemaal gelijk,
Ik moet dus iets vinden dat cookies worden opgeslagen in cache ofzo en dat de 2de site hem kan ophalen?
En dat gaat dus niet. Hoogstens met een iframe waarop je op de andere site inlogd, en dan twee cookies aanmaakt voor de twee domeinnamen met een vaste ID erin.
Je zit dan wel met het feit dat als iemand '3th party sites' voor cookies uit heeft gezet, dat het niet werkt. Daar kom je niet omheen dan.
ik snap eigenlijk niets van stackoverflow. Je kunt de post van mensen omlaag of omhoog doen, hij kan in de plus of in de min, voor de ene werkt het wel en de andere niet. Maar ik ga me wat meer informeren over OpenID
[size=xsmall]Toevoeging op 10/02/2016 20:32:13:[/size]
Sorry Ariën bericht nog niet gelezen. Maar ik moet dus cookies en sessies uit mijn hoofd zetten en aan de gang gaan met OpenID?
OpenID is volgens mij meer bedoeld als centrale inlogdatabase, en niet direct voor een cross-site login. Dan zul je toch echt met cookies en een iframe moeten werken, voor zolang de gebruiker dat ondersteunt. Ik denk dat Ghostery-logins dat al zal blokkeren.
Ik ga dan met cookies werken, met iframes ga ik nooit meer werken ;)
Ik weet dat het vrij simpel is maar als het al niet wordt opgeslagen. Is er een site met een voorbeeld als ik het nog niet heb?
Ik ga dan met cookies werken, met iframes ga ik nooit meer werken ;)
Dan kan je dus nooit een inlogactie van site B op site A verwerken. Opsich kan je met AJAX dan mogelijk ook doen, maar dan heb je wel een Acces-Control-Allow-Origin header nodig.
OpenID is volgens mij meer bedoeld als centrale inlogdatabase, en niet direct voor een cross-site login. Dan zul je toch echt met cookies en een iframe moeten werken, voor zolang de gebruiker dat ondersteunt. Ik denk dat Ghostery-logins dat al zal blokkeren.
Het voorbeeld was OpenID, een cross site login kan op eenzelfde manier werken. Het enige dat je daarvoor hoeft te doen is zorgen dat één van de sites de controle heeft over de sessies/logins, en de andere site hier ook gebruik van maakt.
Dus: Als je op site 2 nog geen cookie hebt redirect je naar een session handler op site 1, welke terug redirect met bijvoorbeeld een token, zodat je op site 2 ook een cookie kunt setten.