Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Action w formularzu a html 4.01
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
bronx
witam

mam takie problem, zazwyczaj wprowadzam formularze tak:

  1. <?php
  2. if ( $_POST ) {
  3.  
  4. // wlasciwa czesc skryptu
  5.  
  6. }
  7.  
  8. else
  9.  
  10. {
  11.  
  12. // formularz
  13.  
  14. }
  15.  
  16. ?>


no iwłasnie tutaj pojawia sie problem, bo przy takm wstawianiu nie wykorzystuje atrybuty Action, ale gdy sprawrze to validatorem pokazuje takie coś:

Kod
Line 59 column 49: required attribute "ACTION" not specified.


i jak z tego wybrnąć ?
yavaho
Dlaczego nie wykorzystujesz atrybutu action? On jest wymagany i powinien w nim sie znajdowac adres (w Twoim przypadku) tej samej strony na ktorej jest formularz.
bronx
no ok spoko, tylko powiedz mi jaki ares mam wstawic skoro ten formularz jest na kazdej podstronie ? bo to jest formularz np. do subskrypcji. A nie chce żeby po wpisaniu swojego mejla i wysłaniu fomularza przeniosło go na inną strone
yavaho
Moze tak? jeden sposob z ponizszych:
  1. <?php
  2. <form action="'.getenv(REQUEST_URI).'" method="post">
  3. <form action="'.$_SERVER['REQUEST_URI'].'" method="post">
  4. <form action="'.$_SERVER["QUERY_STRING"].'" method="post">
  5. ?>


Albo sam skrypt przenies do osobnego pliku, a po wykonaniu skrypty przeniesiesz klienta spowrotem do tej samej strony na ktorej nacisnal submit (metoda odporna na odswiezanie strony).
  1. <?php
  2. if ( $REQUEST_METHOD == 'POST' ){
  3.  
  4. // wlasciwa czesc skryptu
  5.  
  6.  if(!empty($_SERVER['HTTP_REFERER']))
  7.    $link=$_SERVER['HTTP_REFERER'];
  8.  else
  9.    $link='index.php';
  10.  
  11.  header('Location: '.$link.'');
  12. }
  13. ?>
revyag
Może się mylę ale chyba można to prościej zrobić snitch.gif
Zostawić pole action puste smile.gif
  1. <form action="">
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.