Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcja isset a type="image".
Forum PHP.pl > Forum > Przedszkole
zulv
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
nospor
Zrób sobie
print_r($_POST);
a doznasz olśnienia.
zulv
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.
markonix
Nadaj przyciskowi graficznemu atrybut name i value, a potem wykonaj ponownie print_r($_POST).
nospor
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'])
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.