Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Funkcja isset a type="image".
zulv
post 24.08.2011, 13:48:40
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.08.2011

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


To mój pierwszy post na forum więc chciałem wszystkich przywitać.
Niedawno zacząłem się uczyć php i napotykając na problem, którego nie mogę rozwiązać trafiłem tutaj:)

Chodzi mi o wykorzystanie funkcji isset wzgledem forumlarza.

Mam taki sobie o to fragment kodu:

  1.  
  2. if (isset($_POST['submit'])) {
  3. echo 'dziala';
  4. }
  5.  
  6. <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  7. <input type="submit" value="Dodaj" name="submit" />
  8. </form>


Ten kod ładnie działa, w momencie naciśnięcia przycisku 'Dodaj'. Wywował sie z powrotem ten kod i pętla if zostanie wykonana bo zmienna submit istnieje.

Teraz chciałbym zmienić ten średnio ładny przycisk na jakiś jpg

czyli mam tak:

  1. if (isset($_POST['submit'])) {
  2. echo 'dziala';
  3. }
  4.  
  5. <form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  6. <input type="image" src="images/login-btn.png" " name="submit"/>
  7. </form>


Teraz problem się pojawia bo o ile mam ładny przycisk jpg to nie może się wykonać pętla if nawet jeżeli zmienie na
  1. if(isset($_POST['image'])


Prosiłbym Was o rady jak to rozwiązać.

Pozdrawiam
Go to the top of the page
+Quote Post
nospor
post 24.08.2011, 13:52:00
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zrób sobie
print_r($_POST);
a doznasz olśnienia.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
zulv
post 24.08.2011, 16:33:49
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 24.08.2011

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


Zrobiłem tak jak napisałeś ale niestety nie rozumiem tego.

Wypisały mi się wszystkie zmienne, które zostały użyte w formularzu.

Array ( [nr_klienta] => [q] => [submit_x] => 59 [submit_y] => 21 )

Jeżeli teraz dam warunek:

if(isset($_POST['submit_x'])

to petla i tak wykonuje sie zawsze a chcialbym, zeby wykonywala sie jak w zwyklym formularzu z przyciskiem typu sugmit, dopiero po nacisnieciu guzika ktory ma teraz type=img

Ktoś pomoże bo próbuje naprawdę chyba wszystkiego i nie mogę z tego wybrnąć ? Przez to stoję w miejscu.

<input type="image" src="images/login-btn.png" title="Zaloguj się" alt="Zaloguj" width="103" height="42" style="margin-left:90px;" name="submit" value='1' id="submit"/>

Do tego napisałem taki warunek:

if (isset($_POST['submit'])) {

echo 'udalo sie';

}

I to działa za pierwszym razem, kiedy wrzuce to na serwer. Potem już to value jest jakby cały czas gdzieś przechowywane i niestety warunek jest zawsze spelniany nawet jezeli ni klikne w ten button.

Myslalem, zeby czyscic ta zmienna za kazdym razem ale niestetty wtedy ten warunek nigdy nie bedzie spelniony bo przeciez w action mam <?php echo $_SERVER['PHP_SELF']; ?>



Na razie chwilowo rozwiązałem to tak, że zrobiłem taki warunek

if (!empty($_POST['nr_klienta']) && !empty($_POST['pass']))

Czy wykonuje pętle w momencie kiedy nr_klienta i pass jest wypelniony ale nie do konca podoba mi sie to rozwiazanie.

Jeżeli ktoś wie jak można zrobić, zeby wykonywalo instrukcje if wtedy i tylko wtedy gdy zostal klikniety button typu image. Typu submit bylo proste niby tylko zmiana typu a ten sposob zupelnie nie działa.
Go to the top of the page
+Quote Post
markonix
post 24.08.2011, 19:15:45
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Nadaj przyciskowi graficznemu atrybut name i value, a potem wykonaj ponownie print_r($_POST).


--------------------
Go to the top of the page
+Quote Post
nospor
post 25.08.2011, 06:41:02
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Coś kręcisz....


Ten kod:
if(isset($_POST['submit_x'])
Jest właśnie prawidłowy.
Type IMG dodaje do nazwy submita właśnie _x oraz _y i dlatego masz robić
if(isset($_POST['submit_x'])


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:13