Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][XML] formularz wap sie pamieta
Forum PHP.pl > Forum > Przedszkole
Raffuss
Dziwna sprawa.. mam formularz, ktory przekazuje sobie 4 zmienne przez $_POST. W momencie wysylania przekazywane sa do nastepnej strony, ktora najpierw sprawdza czy formularz zostal wyslany, nastepnie tworzy array() dla gromadzenia danych o bledach, sprawdza czy 3 pozostale zmienne zostaly wyslane oraz czy sa puste, jesli wartosc jest true tworza komunikat bledu zapisany do array(). W chwili wyrzucenia komunikatu bledu user moze powrocic do strony z formularzem Wszystko dziala wysmienicie z jednym drobnym ale.. 
Powracajac do formularza, nawet za czas jakis, on sobie automatycznie uzupelnia pola, jesli ktores wczesniej bylo wypelnione, dokladnie tym co wpisalem. Odswiezenie nic nie pomaga, zreszta mam ustawione Cache-Control: no-cache, must-revalidate. Przypomne ze wszystkie zmienne ida POST'em. Dlaczego wiec potrafia powrocic do strony poprzedniej..?

Kodzik formularza:
  1. <p><b>Nick:</b><br/>
  2. <input name="nick" type="text" emptyok="false" maxlength="16" /><br/>
  3. <b>Tresc:</b><br/>
  4. <input name="descript" type="text" emptyok="false" maxlength="300" /><br/>
  5. <b>2 + 4 =</b><br />
  6. <input name="code" type="text" emptyok="false" maxlength="8" /><br />
  7. <anchor>Dodaj komentarz
  8. <go href="comment2.php?nr=<? echo $nraud;?>" method="post">
  9. <postfield name="nick" value="$(nick)"/>
  10. <postfield name="descript" value="$(descript)"/>
  11. <postfield name="code" value="$(code)"/>
  12. <postfield name="send" value="submitted"/>                        
  13. </go>
  14.                        </anchor></p>


Skrypt odbierajacy comment2.php:
  1. <?php
  2. if (isset($_POST['send'])) { //wlaczamy obsluge formularza
  3.  
  4.                                        //zapisywanie bledow w tablicy
  5.                        $errors = array();
  6.                                                //sprawdzanie pola nick brak or puste
  7.                        if (!isset($_POST['nick']) OR empty($_POST['nick'])) {
  8.                            $errors[] = 'Nie podano nicka.';
  9.                                                }
  10.                        //sprawdzenie pola komentarza brak or puste
  11.                        if (!isset($_POST['descript']) OR empty($_POST['descript'])) {
  12.                            $errors[] = 'Nie wpisano komentarza.';
  13.                        }
  14.                        //sprawdzenie czy pole z dodawaniem posiada wylacznie cyfry
  15.                        if (!ctype_digit($_POST['code'])) {
  16.                            $errors[] = 'Nie wpisano kodu.';
  17.                        }
  18.                        //sprawdzenie czy wynik dodawania w formularzu zgadza sie ze stanem faktycznym
  19.                        if ($_POST['code'] != '6' ) {
  20.                            $errors[] = 'Bledny wynik dodawania';
  21.                        }
  22. if (empty($errors)) { //sukces! idziemy dalej!
  23. require_once ('./config.php'); //pobieramy ustawienia
  24.  
  25.                            echo "<p>Dane odebrane</p>";
  26.  
  27.                        } else {
  28.  
  29.                            echo '<p>Wystapily nastepujace bledy:<br />';
  30.                                                        foreach ($errors as $error) {
  31.                                echo "".$error."<br />\n";
  32.                            }
  33.                                                        echo "# <a href=\"comment.php?nr=".$nraud."\">Powrot</a><br/></p>";
  34.                                                    }
  35. ?>


Ot taka zagadeczka na dziś smile.gif

Naprawde nikt nie ma pojecia dlaczego tak sie dzieje..? Przeciez ktos tu musi znac dobrze php..
jareeny
Ale to nie wina PHP, tylko przeglądarki
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.