Doorsturen naar andere view op commando
Hoe zou ik mensen door kunnen sturen naar een andere pagina op commando doormiddel van alleen PHP. Voorbeeld:
User logt in -> in queue wachten op goedkeuring -> admin says yes = door naar andere pagina, no = opnieuw invullen
Iemand?
thx
Moet er real-time worden gecontroleerd? Dan is een setTimeout of setInterval in combinatie met een AJAX-request die de toegang controleert voldoende.
Hoe ziet deze queue er precies uit?
Los hiervan, dit is niet echt een normale gang van zaken als dit een website betreft. Deze nemen niet echt vaak on-the-fly handmatige beslissingen, deze zijn vaak al voorgeschreven. Toegepast op het bovenstaande voorbeeld: op het moment dat iemand in probeert te loggen dan bestaat deze persoon in de administratie van het systeem en kan deze toegang krijgen, of niet. Dat wordt niet dan en daar nog eventjes bepaald, de informatie wordt opgezocht, en als deze er is, en klopt, dan geef je iemand toegang, anders niet.
Wat ik eerdere zou verwachten is dat je het bovenstaande zou splitsen in registratie en aanmelding, zodat beheerders ook op een aparte tijd en plaats iemand kunnen goedkeuren zodat deze persoon kan inloggen.
Waar je misschien naar op zoek was is een zogenaamde Location header. Dit commando instrueert de browser om na afloop van het laden van de pagina een andere pagina te laden. Dit "na afloop van het laden van de pagina" is nogal belangrijk. De code van het script en alle output gaat gewoon verder na het aanroepen van de header(), deze transporteert je niet direct automagisch naar de nieuwe locatie (interne link) tenzij je alle verdere executie van code en output stopt, dit doe je door direct na de Location header een exit-statement toe te voegen. In de bovenstaande link kun je lezen hoe dat verder in zijn werk gaat zodat je dit nooit meer verkeerd doet, met alle mogelijke veiligheidsimplicaties van dien.
Overigens, de actie voor het verwerken van het inlogformulier zou je ook in een apart codesegment moeten regelen. Dus ook als een login mislukt, ook dan zul je teruggestuurd moeten worden naar het inlogformulier (of een pagina met een foutmelding) middels zo'n Location header.
Gewijzigd op 19/06/2019 17:04:36 door Thomas van den Heuvel
Als iemand de login form submit, wil ik real time de actie kunnen bepalen. Dus doorsturen naar pagina1 of pagina2 vanuit een admin panel. Met enkel gebruik van Sql en php
Dan zul je dus ook AJAX en dus JavaScript moeten gebruiken.
Zou je me op weg kunnen helpen?
ook ben ik best wel benieuwd waarvoor je dit wilt bouwen?
Gewijzigd op 19/06/2019 21:29:38 door - Ariën -
Als je geen zin hebt om je in AJAX te verdiepen kun je ook heel lomp de pagina met een <meta http-equiv="refresh" content="60"> elke minuut (60 seconden) verversen en dan aan de PHP kant steeds controleren of er reeds toestemming is verleend (nog niet = zelfde pagina nogmaals tonen, weer na een minuut verversen, enz). Maar onder water via AJAX pollen is wel wat netter.
Klaas Nat op 19/06/2019 19:58:10:
Als iemand de login form submit, wil ik real time de actie kunnen bepalen. Dus doorsturen naar pagina1 of pagina2 vanuit een admin panel. Met enkel gebruik van Sql en php
Een betere vraag is wellicht, waarom zou je dit in hemelsnaam willen doen? Dit klinkt allemaal nogal niet-deterministisch.
Met andere woorden, zou je hier wat meer over kunnen vertellen, bijvoorbeeld een concrete case ofzo, waar uit blijkt dat dat voor dat geval een zinnige aanpak is. Want het klinkt nogal apart allemaal.
Om maar te zwijgen van favoritisme, corrumpeerbaarheid van dit systeem et cetera.
Gewijzigd op 19/06/2019 23:45:57 door Thomas van den Heuvel
op chess.com kan je bijvoorbeeld kiezen tussen nieuws, mijn partijen en nog een paar. De gebruiker stelt dit zelf in via zijn profiel.
dan moet je per gebruiker de pagina in een database opslaan en dan weergeven via header, location
Op mijn eigen site kan de iedereen, dus ook niet leden, zijn voorkeur opslaan. dit gebeurd met een koekje.
https://www.janr.be/sc_post-gent/kiesstart.php.
Jan
Gewijzigd op 20/06/2019 07:17:27 door Jan R
Om in eerste instantie te kunnen weten of iemand "op goedkeuring wacht", hoe gaat dat in zijn werk? Hierbij zou je misschien van push notifications gebruik kunnen maken.