Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Pętla wykonująca się po wciśnięciu 'submit'
red9skull
post
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


Tak jak w temacie. Chodzi mi o to, że mam pętlę i chę żeby wykonywała się tylko i wyłącznie po wciśnięciu 'submit' w formularzu. Podejrzewam, że chyba JavaScript tu potrzebny ale nie jestem pewien.. Kiedy robię to w php z obojętnie jakim warunkiem to pętla wykonuje się w nieskończoność.. Pomożecie?
Powód edycji: [Spawnm] Przeniosłem.
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


  1.  
  2. if ($_POST['submit']) {
  3. // kod
  4. }


a w html:
  1. <input type="submit" name="submit" value="Wyslij"/>
Go to the top of the page
+Quote Post
red9skull
post
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


dalej pętla wykonuje się w nieskończoność :/
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




no to pokaż nam tą pętle...
Go to the top of the page
+Quote Post
red9skull
post
Post #5





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


  1. $licznik = 0;
  2. while($_POST['submit']) {
  3. $rozmowa = array();
  4. $licznik++;
  5. $rozmowa[$licznik] = $say;
  6. echo ($rozmowa[$licznik]);
  7. }
Go to the top of the page
+Quote Post
Heptan
post
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 14.07.2009

Ostrzeżenie: (0%)
-----


Twój warunek jest zawsze prawdziwy. Jeśli użytkownik wysłał formularz to zawsze będzie zwracać true. Ile razy ma wykonać się ta pętla?

if($_POST['submit']) {
/* tutaj pętla z odpowiednim warunkiem */
}

PS. Jeśli chcesz żeby pętla wykonała się bez odświeżania strony to rzeczywiście potrzebujesz JavaScript, a konkretnie onclick

Ten post edytował Heptan 13.08.2009, 14:27:11
Go to the top of the page
+Quote Post
red9skull
post
Post #7





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


chciałbym aby pętla wykonywała się tylko raz, po naciśnięciu submit

@EDIT:

  1. $licznik = 0;
  2. if($_POST['submit']) {
  3. while($_POST['submit']) {
  4. $rozmowa = array();
  5. $licznik++;
  6. $rozmowa[$licznik] = $say;
  7. echo ($rozmowa[$licznik]); }
  8. }


while($_POST['submit']) { // jaki ma tu być warunek?


Ten post edytował red9skull 13.08.2009, 14:32:00
Go to the top of the page
+Quote Post
Spawnm
post
Post #8





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




skoro raz to nie potrzebujesz pętli, daj if zamiast while.
Go to the top of the page
+Quote Post
Heptan
post
Post #9





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 14.07.2009

Ostrzeżenie: (0%)
-----


W takim razie po co Ci pętla? Pomyliłeś z instrukcją warunkową.

  1. if($_POST['submit']) {
  2. $licznik = 0;
  3. $rozmowa = array();
  4. $licznik++;
  5. $rozmowa[$licznik] = $say;
  6. echo ($rozmowa[$licznik]);
  7. }
Go to the top of the page
+Quote Post
red9skull
post
Post #10





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


nie zrozumieliście mnie ;] chodzi mi o to, żeby za każdym razem, kiedy wcisnę 'submit' dodawał się jeden element do tablicy $rozmowa. I jak wcisnę drugi, trzeci itd. to zachowały się poprzednie elementy tablicy.
Go to the top of the page
+Quote Post
Spawnm
post
Post #11





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




to albo daj tablicę w js albo stosuj sesje.
Go to the top of the page
+Quote Post
red9skull
post
Post #12





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


ok, jak zrobić tablicę w js?
Go to the top of the page
+Quote Post
Spawnm
post
Post #13





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Przeczytaj jakiś kurs to się dowiesz :/
Masz przylepiony temat z linkami do kursów.
Go to the top of the page
+Quote Post
red9skull
post
Post #14





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


a w php z sesjami byłoby łatwiej?
Go to the top of the page
+Quote Post
Fifi209
post
Post #15





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(red9skull @ 13.08.2009, 14:41:06 ) *
a w php z sesjami byłoby łatwiej?


Jak dla kogo, ale w php przynajmniej jak ktoś wyłączy js to będzie działało. (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
Heptan
post
Post #16





Grupa: Zarejestrowani
Postów: 19
Pomógł: 1
Dołączył: 14.07.2009

Ostrzeżenie: (0%)
-----


Jak już zacząłeś się uczyć php to spróbuj z sesjami. Przyda Ci się jeszcze nie raz.
Krótki i dobry artykuł nt sesji w php:
http://pl.wikibooks.org/wiki/PHP/Sesje
Go to the top of the page
+Quote Post
red9skull
post
Post #17





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 11.07.2009
Skąd: root

Ostrzeżenie: (10%)
X----


zacząłem uczyć się JS i PHP jednocześnie (IMG:style_emoticons/default/tongue.gif) ale dzięki za linka

Ten post edytował red9skull 13.08.2009, 14:47:19
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:16