![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zacząłem się uczyć PHP i podjąłem się wymyślonego przeze mnie projektu - małego spambocika. Z samym napisaniem programu, żeby działał nie było problemów, ale przy upiększaniu się jeden pojawił. Chodzi o to, że chcę program zapętlić tak, aby po wpisaniu danych skrypt pracował do momentu zamknięcia karty przeglądarki (na razie, później będę się z tym dalej bawił). Aktualnie program wykonuje raz pętlę, a później wraca do pustego formularza. Szukałem naprawdę długo rozwiązania swojego problemu, bo w taki sposób się więcej nauczę, ale w tym momencie czuję się bezsilny. Próbowałem już wszystkich sposobów, na które wpadłem, ale bezskutecznie. Dużo osób szukało pomocy z zablokowaniem ponownego przesyłania danych z formularzy, a ja szukam czegoś zupełnie odwrotnego. Pamiętam, że przy jakimś tam bardziej amatorskim formularzu dane były przechowywane w linku i może tędy droga, ale nie mam pojęcia jak się za to zabrać. Oto kod:
Wiem, że amatorszczyzna, ale dopiero zaczynam. ![]() Z góry dziękuję, pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
zamiast for użyj while(1) lub for( ; ; )
Ten post edytował toaspzoo 22.08.2013, 22:03:26 -------------------- LS Easter egg < |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Myślałem o tym, ale wtedy nie aktualizowałyby mi się na bieżąco statystyki wysłanych wiadomości.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Co za problem to wrzucić do iteracji?
-------------------- LS Easter egg < |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem Twojej koncepcji. Odświeżania do iteracji nie wrzucę, bo header musi być na początku. Wypisywania statystyk też tam nie dam, bo tak czy inaczej będzie trzeba przeładować stronę, aby zaktualizować tekst. Mógłbyś sprecyzować o co Ci chodziło?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 778 Pomógł: 84 Dołączył: 29.07.2010 Skąd: Gliwice / Pławniowice Mistrz niezmordowanej klawiatury. Ostrzeżenie: (20%) ![]() ![]() |
Aktualizacja w Ajax, a statystki zapisywane do bazy np. co 5 iterację (żeby nie przeciążać).
-------------------- LS Easter egg < |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Z użyciem AJAX-a dałbym sobie radę, bo kilkukrotnie się na niego natknąłem, ale chcę to napisać czystym PHP.
Da radę ktoś pomóc? Bardzo mi na tym zależy, bo utknąłem w miejscu i nie mogę się ruszyć dalej. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Bezsensu ten skrypt - tu się prosi po prostu o progres bar.
Twój sposób nie ma racji bytu - wykonujesz przekierowanie na samym początku skryptu więc jak ma przejść dalej i wysłać e-mail? Jeżeli chcesz iść tym tropem to musiałbyś wysłać e-mail przed przekierowaniem ale wtedy nic nie wyświetlisz do przeglądarki. Przekierowanie z wyświetleniem czegokolwiek w przeglądarce wymaga JavaScriptu, nie ma opcji użyć PHP. Ogólnie kod jest uproszczony rozumiem bo nie widzę żeby chociaż $mail było definiowane? -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Okay, ta odpowiedź mnie satysfakcjonuje - dzięki.
Dopiero zaczynam zabawę z PHP, nigdzie nie przeczytałem, że $mail trzeba definiować, a skoro działało, to nie dociekałem dalej. Czyli będzie trzeba się zagłębić w JS. ![]() Temat do zamknięcia. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
nigdzie nie przeczytałem, że $mail trzeba definiować, a skoro działało, to nie dociekałem dalej. To skąd skrypt ma wiedzieć gdzie wysłać maila. Dane w formularza znajdują się w tablicy, nie zmiennych no chyba, że register_globals masz włączone - jeżeli tak zmień kurs / książkę jak najszybciej. -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że nie robiłem tego jak powinienem, ale z żadnego kursu nie korzystałem. Jakieś tam podstawy C++ oraz HTML znałem i zacząłem pisać, a jak czegoś nie wiedziałem, to googlowałem. Teraz na pewno przeczytam jeden czy dwa kursy PHP, a później JS, żeby nie uczyć się złych nawyków.
Możesz mi jeszcze napisać jak to powinno prawidłowo wyglądać? Chodzi mi o tą deklarację. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
No najnormalniej:
$mail = $_POST['mail']; -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Już wiem o co chodzi. Myślałem, że mam zadeklarować funkcję, a Tobie chodziło o parametr, który zresztą idiotycznie nazwałem tak samo jak funkcja. Wcześniej rzeczywiście miałem w tamtym miejscu "$_POST['mail'", ale jakoś w trakcie to zmieniłem, nie wiem czemu. Wszystko działało, więc myślałem, że taki zapis też jest prawidłowy, a do tego znacznie krótszy.
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
$mail to nie to samo co $_POST['mail'] - to zupełnie dwie różne zmienne, jedynym wyjątkiem gdy mogą być takie same to włączenie dyrektywy w ustawieniach PHP o której wspomniałem wcześniej.
-------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście w krasnalu jest standardowo włączone. Jak już wcześniej pisałem, wcześniej używałem odwołania do tablicy, ale pod wpływem czegoś zmieniłem to na krótszą wersję i działało, więc zostawiłem. Więcej z mojego "sposobu" korzystać nie będę, a co do dyrektywy - chyba lepiej będzie ją wyłączyć?
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Krasnal stanął na wersji PHP 4 (czy tam 5 ale jakaś stara wersja) i nie jest rozwijany - dawno nie powinno się go używać.
O samym register piszą sami twórcy PHP: http://php.net/manual/en/security.globals.php -------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie czego używać? WebServ będzie odpowiedni czy jest coś bardziej interesującego?
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Na pewno znajdziesz w sieci jakieś artykuły z porównaniem.
Praktycznie każdy będzie lepszy niż krasnal, a do takich małych projektów nie ma znaczenia jaki wybierzesz, byle prosty. Ja korzystałem kiedyś z XAMPP. -------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 22.08.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję, temat do zamknięcia.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 17:55 |