![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkim!
Proszę o pomoc z następującym problemem. W stronie rejestracja.php mam kod ktory pobiera z bazy danych ilosc zarejestowanych uzytkownikow i zaleznie od limitu wyswietla jeden formularz rejestracyjny, a gdy limit zostanie osiagniety wyswietla drugi formularz. Kod ala: select z bazy ilości osob IF (liczba < max) { wyswielt formularz rejestracyjny_1 } ELSE { wyswielt formularz rejestracyjny_2 } Jezeli zostalo jeszcze jedno miejsce osobie wyswietli sie formularz_1 ta wpisze swoje dane i po wcisnieciu Wyslij zostanie otwarta strona PHPList z informacja o rerjestracji i prosba o aktywacje. Teraz jezeli osoba kliknie w przegladarce 'Wstecz' nadal na stronie bedzie wyswietlony fomularz_1 zmiast formularza_2 i osoba bedzie mogla wpisac kolejna osobe. Moj pomysl to zaczytanie strony ponownie po wcisniecu wstecz przegladarki. jak to wykonac? Ten post edytował qazzaq123 16.02.2009, 00:58:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie masz co nawet próbować tego rozwiązać w przedstawiony przez Ciebie sposób... Albo to co chcesz osiągnąć w ogóle nie będzie możliwe, albo nie będzie działało poprawnie w każdej przeglądarce.
Można to w pewien sposób rozwiązać przez użycie JS, ale to jest sposób bardzo zawodny. Twoim zadaniem jest w skrypcie PHP sprawdzać, czy operacja która ma zostać wykonana, jest dozwolona, bo tylko to da Ci bardzo dużą pewność, że wszystko poszło tak jak należy. Nie wiem jak wyglądają te dwa formularze i jak rozróżniasz, czy żądanie przyszło z formularza pierwszego czy drugiego, w każdym razie musisz sprawdzić, czy żądanie które przyjdzie z jakiegokolwiek formularza jest w ogóle dozwolone. Tyle teorii. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ta teorie rowniez znalem:) ale myslalem ze sie obejdzie przeladowaniem, jedna pojawilby sie wtedy rowniez problem iz kilka "ostatnich" osob w tym samym czasie mogloby zarejestrowac sie juz poza gorna granica osob.
W tym problem iz przycisk Submit w akcji przekazuje POST'em dane na strone juz nie moja tylko na strone PHPList'a i nie za bardzo usmiecha mi sie grzebac w tych stronach. Na razie rowniez teoretycznie podpowiedziano mi ze jezeli mam stona aa.php to formularz wysylam POSTem rowniez na strone aa.php sprawdzam ilosc osob w bazie i jezeli jeszcze nie max to musze wykonac 'redirecta' danych w POST na ta strone PHPList. Teraz pozostalo to tylko rozwiazac praktycznie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Czy ktos robil takiego redirecta, moglbym prosic o jakis przyklad? Ten post edytował qazzaq123 16.02.2009, 11:13:12 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
No więc w skrypcie robisz taki test:
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
OK. Dzieki za odpowiedz!
cURL dziala bez zarzutow i nie ma zabawy z zdanym JavaScript. cURL porzadne rozwiazanie. Jednak teraz pojawil mi sie problem zwiazany z wartoscia zwracana przez cURL. Mianowicie strona do ktorej wysylam w cURL'u (PHPList po zasubskrybowaniu) wyswietla strone z informacja o subskrypcji itd. Chcialbym ten komunikat jak najbardziej wyswietlac! I teraz PYTANIE czy mozna rezultat z cURL przeslac GET'em na inna strone i tam wyswietlic?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Sprobowalem zrobic to jak ponizej jednak i tak zawartosc strony wyswietla mi sie na stronie gdzie mam formularz a nie na stronie przekierowanej header() W czym jest problem?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? Na stronie gdzie mam formularz i wywoluje cURL Kod . . . // Wykonanie cURL $result = curl_exec($ch); $adres_strony = http://www.mojastrona.pl/ . "resultphplist.php?res=" . $result; //Proba przekierowania gdyz wartosc w result to strona html header('Location: $adres_strony'); exit(); Natomiast w pliku "resultphplist.php" znajduje tylko kod: Kod <?php
echo($_GET['res']); ?> |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bardziej profesjonalnie jest nie wyświetlenie tego Twojego formularza i wyświetlenie informacji o statusie rejestracji. Może z kodu zwróconej strony wytnij komunikat który Cię interesuje.
A co do tego co chciałbyś mieć... Przekierowanie robisz metodą GET, są tu dwa problemy. Pierwszy to taki, że zawartość $result musisz puścić przez funkcję urlencode() aby poprawnie przygotować link pod który odsyłasz, a drugie to to, że żądanie GET ma ograniczenie długości, którego POST nie ma. Długość adresu (część żądania GET) nie może przekroczyć 256 znaków. Ten post edytował likemandrake 19.02.2009, 00:16:33 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
"likemandrake" Wielkie dzieki za pomoc i cenne uwagi duzo mi pomogly i ulatwily Twoje informacje!
Znalazlem jeszcze dwa rozwiazania: [1] Jezeli ktos mialby podobny problem to mozna jeszcze rozwiazac to w taki sposob ze formularz POSTEM ze strony 'aa.php' mozna wyslac na strone 'bb.php' ktora ma w sobie tylko obsluge POSTA i tam wykonac cURL z wykonaniem strony rejestracji na PHPList, a rezlutat wyswielic na 'bb.php' stronie echo($result);. [2] W PHPList mozna konfigurowac strone 'Thank you page' jej naglowek, stopke i tresc. Mozna usunac wszystko z sekcji header oraz footer a tresc komunikatu wyswietlic na stronie z formularzem a nastepnie wykonac exit(). Przy takim wykonaniu trzeba pamietac tylko o: -Obsluga POST musi byc wstawiona w kodzie przed wyswietleniem formularza -Przed wykonaniem cURL upewnic sie ze wprowadzone dane do rejestracji w kazdym przypadku zarejestruja uzytkowika, gdyz w innym przypadku zostanie wyswietlona inna strona PHPList z bledem To na tyle wg mnie w tym temacie. Jeszcze raz dzieki! Ten post edytował qazzaq123 19.02.2009, 10:14:29 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
To teraz zasłużone "Pomógł" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 16.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Alez oczywiscie "klikniete". Jestem swiezy na forum, dzieki ze sie upomniales (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:53 |