sebap123
31.10.2011, 10:21:08
Mam pewien problem w skrypcie i średnio wiem jak się za to zabrać. Wymyśliłem sobie system logowania, który działa na zasadzie, że na każdej stronie jest formularz logujący, który wysyła dane do skryptu zaloguj.php, a następnie przesyła informację zwrotną - czy logowanie było pomyślne czy nie i przekierowuje użytkownika na tą samą stronę, z której się logował. Taki mechanizm jest na niektórych forach, czy też sklepach. Tak na szybko to na facebooku coś takiego tez jest.
Wysłanie formularza to rzecz banalna. Po prostu postem wszystko idzie do skryptu łącznie z aktualna stroną i to działa. Jednak nie wiem jak zwrócić informację. Od razu mówię, że nie chciałbym po prostu w skrypcie mieć header, który ma instrukcję location dana strona i w linku rezultat, tylko wysłać to metodą POST.
Coś próbowałem z fsockopen, ale to tez nie jest chyba to, bo z tego co zauważyłem, to to po prostu wyświetla stronę docelową, a nie na nią przekierowuje.
Tak więc, ma ktoś może jakiś inny pomysł?
peter13135
31.10.2011, 10:36:08
Możesz wyświetlać formularz z ukrytymi polami które zawierają informacje które potrzebujesz i wysłać go automagicznie za pomocą submit().
Inna możliwosć jaką widzę, to użycie sesji (one właśnie do takich problemów zostały stworzone).
cycofiasz
31.10.2011, 10:39:45
A dlaczego musi to być POST? Masz na stronie nawigację opartą na formularzach POST czy jak?
Rozwiązanie podał peter13135, jedyne logiczne.
sebap123
31.10.2011, 10:40:30
No sesja może i być, ale chciałem trochę więcej finezji czy tez różnorodności

A jak wygląda taki kod, który automagicznie wysyła formularz? Jakoś nigdy takiego nie spotkałem.
A co do tej sesji, to rozumie, że masz na myśli po prostu przypisać sesję i przekierować na żądaną stronę i tam sprawdzać dane a potem sesję usunąć - bo sesja samego użytkownika jeśli sie uruchomi to się uruchomi w momencie weryfikacji danych z formularza.
peter13135
31.10.2011, 11:12:04
<form id="formularz" method="post">tutaj dajesz inputy
</form> <script>document.getElementById('formularz').submit()
</script>
Ale ja byłbym za sesjami, w programowaniu nie zawsze trzeba być innowacyjnym, czasami lepiej jest skorzystać z utartych sprawdzonych schematów.
sebap123
31.10.2011, 14:56:19
Dzięki za pomoc. Jednak po namyśle, rzeczywiście użyję sesji. A ten automagiczny formularz może kiedy indziej użyję.