Ik heb onlangs Safari mee geinstalleerd met iTunes om ook m'n site eens in Safari te testen. Hier kwam ik tot de conclusie dat niet al m'n formulieren werken. Na wat uitzoeken blijkt dat m'n forms die ik check met
wel goed gaan, maar de forms met
dus niet.
Hier komt dus de $_POST['login'] vandaan.
Simpele oplossing: handel al je formulieren af met de werkende controle. Maar dat levert problemen op, omdat m'n login.php eigenlijk op iedere pagina ge-include wordt. Dus ook op de 'password vergeten' pagina, de registratie pagina, enzovoorts. Daarnaast kun je reageren als je eenmaal bent ingelogd, nog meer post data!
Kortom, als ik het met de request_method doe, dan pakt login.php telkens een post actie die niet voor login.php bedoeld is, met als gevolg een error melding, want login.php snapt de binnenkomende data niet. En bijvoorbeeld m'n registratie pagina, heeft input velden die hetzelfde heten als in m'n login form (denk aan username), dus daarop checken gaat ook niet.
In IE en FF werkt het prima, maar Safari geeft dus op de één of andere manier niet de submit mee ofzo.
Is iemand dit al eens tegengekomen en heeft iemand een suggestie om het op te lossen? Het is een kleine site en ondersteuning voor Safari is niet kritiek, maar wel prettig dat ik een oplossing heb voor de toekomst.
PHP:
1
| $_SERVER['REQUEST_METHOD'] == 'POST' |
wel goed gaan, maar de forms met
PHP:
1
| isset($_POST['login']) |
dus niet.
HTML:
1
| <input type="submit" onClick="doLogin(); return true;" value="login" id="login" name="login" class="submit"> |
Hier komt dus de $_POST['login'] vandaan.
Simpele oplossing: handel al je formulieren af met de werkende controle. Maar dat levert problemen op, omdat m'n login.php eigenlijk op iedere pagina ge-include wordt. Dus ook op de 'password vergeten' pagina, de registratie pagina, enzovoorts. Daarnaast kun je reageren als je eenmaal bent ingelogd, nog meer post data!
Kortom, als ik het met de request_method doe, dan pakt login.php telkens een post actie die niet voor login.php bedoeld is, met als gevolg een error melding, want login.php snapt de binnenkomende data niet. En bijvoorbeeld m'n registratie pagina, heeft input velden die hetzelfde heten als in m'n login form (denk aan username), dus daarop checken gaat ook niet.
In IE en FF werkt het prima, maar Safari geeft dus op de één of andere manier niet de submit mee ofzo.
Is iemand dit al eens tegengekomen en heeft iemand een suggestie om het op te lossen? Het is een kleine site en ondersteuning voor Safari is niet kritiek, maar wel prettig dat ik een oplossing heb voor de toekomst.
Research is what I'm doing when I don't know what I'm doing.