P4vlo
8.11.2009, 12:19:17
Witam,
W jaki sposób zrobić formularz, że po kliknięciu wyślij nie przekieruje do następnej strony a wyświetli na tej samej komunikat o braku jakiegoś komponentu lub o poprawnym wysłaniu, coś na wzór rejestracji na forum gdy czegoś nie podamy?
skowron-line
8.11.2009, 12:23:00
W formie odwołaj się do tego samego pliku.
<form action="index.php" method="post"> <input type="text" name="example"> <input type="submit" name="submit" value="click">
a później
if( isset( $_POST[ 'submit' ] )) {
if(empty( $_POST[ 'example' ] )) {
}
}
Boost
8.11.2009, 12:46:00
<form action="
<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="text" name="nazwa_inputa"><br>
<input type="text" name="nazwa_inputa2"><br>
<input type="submit" value="Dalej" name="wyslij">
</form>
<?php
if($_POST['wyslij']) {
if(!$_POST['nazwa_inputa']) {
}
if(!$_POST['nazwa_inputa2']) {
echo "Komunikat błędu z inputa 2giego"; }
}
?>
Pisane z palca
P4vlo
8.11.2009, 12:54:20
Boost
8.11.2009, 13:04:03
aaa
ty liczysz że my zrobimy wszystko za ciebie ?
ja i skowron-line już wystarczająco dużo daliśmy ci pomocy
teraz tylko : www.kurshtml.boo.pl
P4vlo
8.11.2009, 13:20:53
Nie chodzi mi o odwalenie tylko o nakierowanie, czy muszę w php wyświetlić połowę dokumentu do form action a potem w zależności od poprawności kolor czerwony tekstu lub zwykły?
black.old.cat
8.11.2009, 15:28:55
<?php
$temat = 'red';
$tresc = 'red';
$podpis = 'red';
if(isset($_POST['temat'])) {
// Sprawdzenie czy wprowadzone dane sa poprawne. Jezeli tak to ustawiamy: $temat = 'green';
}
if(isset($_POST['tresc'])) {
// Sprawdzenie czy wprowadzone dane sa poprawne. Jezeli tak to ustawiamy: $tresc = 'green';
}
if(isset($_POST['podpis'])) {
// Sprawdzenie czy wprowadzone dane sa poprawne. Jezeli tak to ustawiamy: $podpis = 'green';
}
if($temat == 'green' && $tresc == 'green' && $podpis == 'green')
{
// Wyslij wiadomosc.
echo 'Wiadomosc zostala wyslana.'; }
else
{
$temat_ = $_POST['temat'];
$tresc_ = $_POST['tresc'];
$podpis_ = $_POST['podpis'];
// Pozamieniaj zmienne tak zebys mogl je wyswietlic na stronie.
<pre>
<form action="" method="post">
<font color=$temat > temat </font><input type="text" name="temat" value="$temat_"><br>
<font color=$tresc > tresc </font><input type="text" name="tresc" value="$tresc_"><br>
<font color=$podpis> podpis </font><input type="text" name="podpis" value="$podpis_"><br>
<input type="submit" value="Wyslij">
</form>
</pre>
end;
}
?>
bloodscreen
8.11.2009, 20:52:18
Nie wiem czy o to Tobie chodzi ale jeżeli nie chcesz żeby po kliknięciu przekierowało Cię na inną stronę to wystarczy ze action w formie zostawisz pusty np:
<form action="" method="post"> <input type="text" name="x"> <input type="submit" value="wyślij">
Nie wiem czy o to chodzi ale tak to zrozumiałem
P4vlo
11.11.2009, 16:17:42
Chodziło mi o to co napisał @black.old.cat . Jeszcze jedno, w czym może być problem jeżeli 3 dni temu działała funkcja mail a teraz nie działa i nie wyświetla żadnych błędów?
black.old.cat
11.11.2009, 17:05:01
Jezeli twoja strona "stoi" na jednym z darmowych serwerow, to funkcja mail mogla zostac zablokowana, badz zostaly na nia nalozone jakies ograniczenia (np. wysylanie tylko 10 maili w ciagu godziny).
Jezeli natomiast masz wlasny serwer, to moze zmieniales cos ostatnio w ustawieniach ?
Sprawdz na innym serwerze ta funkcje dziala (tylko wczesniej upewnij sie ze nie ma na nim zablokowanej tej funkcji), jezeli nadal nie bedzie dzialala to sprawdz czy w kodzie na pewno nie ma bledow.
Jezeli nie wyswietla sie zaden komunikat o bledzie to przy sprawdzaniu kodu zwroc szczegolna uwage na instrukcje ktorych bledy sa tlumione.
Dla przypomnienia, do tlumienia bledow uzywany jest operator: @
P4vlo
11.11.2009, 19:11:38
Kod
<?PHP
if (mail("adres@adres.adres.adres", "temat", "tresc")) {
echo "Wiadomość wysłana!";
} else {
echo "Błąd podczas wysyłania wiadomości!";
}
mail("adres@adres.adres.adres", "temat", "tresc");
>?
Mój skrypt wygląda jak wyżej. Parę dni temu wszystko działało i w pewnym momencie przestało, nic nie zmieniałem. Mam wykupiony serwer.
black.old.cat
11.11.2009, 19:44:38
Zaloz nowy temat i tam zadaj pytanie jeszcze raz - offtop
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.