Momenteel werk ik aan een website waar gebruik gemaakt wordt van 1) Joomla!, 2) phpBB3 en 3) wikimedia. Al deze systemen hebben eigen loginsystemen.
Die van phpBB3 wordt gebruikt als 'main' login systeem. Als je een account aanmaakt op het forum (phpBB3 forum) dan wordt deze account ook automatisch gemaakt in Joomla! en in Wikimedia.
Nu wil ik één centraal login formlier hebben, zodat de gebruiker niet drie keer hoeft in te loggen. Dit brengt echter meer met zich mee dan dat ik gedacht had. Ik kom absoluut niet uit de complexiteit die bijv. phpBB3 met zich meeneemt. Elk script verwijst weer naar een ander script die op haar beurt weer naar een functie verwijst en so on.
Ik heb momenteel één pagina met daarop alle login formulieren centraal. Is er een manier om al deze formulieren tot één formulier samen te voegen?
Ik weet de code niet, maar hier is een voorstel:
Je maakt zelf een klein login scriptje, wat alledrie de sessies, daar werkt het mee, denk ik, aanmaakt!
Uiteraard! Ik zal als ik zometeen terug kom van werk of anders morgen een update plaatsen. Moet me nu gaan haasten voordat ik te laat kom.
Update, 22.59 Okay, hier ben ik weer. Het probleem waar ik dus echt mee te kampen kreeg is dat deze 3 afzonderlijke systemen dusdanig ingewikkeld in elkaar zitten (begrijp me niet verkeerd, ik kan prima met PHP overweg, maar dit is arabisch voor mij) en dat ik dus wel de formulieren van een afstand weet aan te roepen, maar dat ik niet kan traceren welke sessie's er precies aangeroepen worden.
2 ideeen die ik nog heb, vind ze wel lelijk, maar ze werken waarschijnlijk wel.
Maar een formulier gebruiken, action="" zetten, op die pagina met het login formulier dan een php code toevoegen die zo requesten stuurt naar die andere paginas's waarbij POST variables worden meegestuurd (met sockets en dergelijke)
of maak gebruik van AJAX code om naar alle drie de pagina's een request te sturen.
Zo zou je 3 login formulieren kunnen samenvoegen tot één. Het mooist zou zijn als je dat van BigBoss zou kunnen toepassen. Anders die met die sockets binnnen PHP en als laatst (vanwege de javascript) de AJAX oplossing.
Okay, dat eerste lijkt me helaas niet erg realistisch. Ik heb uren (Letterlijk, helaas) in de code gezeten, maar de functie's zijn mij echt te ingewikkeld. De community van phpBB3 is ook niet erg behulpzaam.
De sockets, wat je daarmee bedoeld is bijv. dat hij eerst inlogt in systeem 1, en dat aan het einde van systeem een redirect staat naar systeem 2 etc? Kan ik daar een wat uitgebreidere beschrijving van krijgen? Alvast erg bedankt, I hate these kind of trouble.
Hier staat een class die je zou kunnen gebruiken, let er wel op dat de $sPostData een string verwacht, die zou je kunnen maken met http_build_query($_POST, null, '&'); vervolgens stuur je een request naar alle drie de login pagina's (dus het zijn geen redirects)
ehm, aan de locatie van het script heb ik niets, dan zie ik alleen je html, zou ik het willen verhelpen dat zou ik ook de bron moeten zien van de php code. Dus in vervolg de broncode laten zien.
Dat is juist goed, want dat betekend dat het gelukt is. Als goed is ben je nu bij alle drie ingelogd. Ik heb het even gecontroleerd of het script werkte. En mijn test werkte goed. Ik weet natuurlijk niet zeker of het ook daadwerkelijk bij jouw werkt, want ik heb immers niet die drie onderdelen geinstaleerd, maar het zou moeten werken.
Dus zou zeggen controleer het of je nu ingelogd bent. Zo ja, dan kan je net zoiets maken voor het uitloggen.
Hmm het wilt toch niet werken. Het doet zeg maar wat ik hierboven beschrijf, alleen wordt je niet ingelogd. Ik heb zelf even de formlieren nader bekeken en een aantal dingen vielen mij op.
Het formulier van joomla heeft naast de naam en wachtwoord variablen ook nog een aantal hidden variablen. Moeten deze niet meegestuurd worden, en kunnen deze ervoor zorgen dat het gehele systeem ineens niet meer werkt?
Ja die velden moeten er ook nog bij. De waardes van die velden, verschillen deze elke keer? of blijven ze constant? anders zou je $aNewPost = array_merge($aNewPost, array('veldnaam' => 'waarde')); kunnen doen als het joomla is, dus:
Het script wilt dus nog steeds niet werken. Omdat ik dacht dat het misschien aan Joomla! lag (zoals hierboven vermeld) heb ik dat eruit gehaald, maar dat wilt ook niet werken. Dit is de wiki waar het op zou moeten werken, en dit is het phpBB forum. Ik heb echt van alles geprobeerd, maar niets lukt