Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sprawdzenie formularza, Mam taki problem z formularzem
adziozone
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 26.02.2011

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


Witam,

Mam taki problem z formularzem, chciałbym żeby była w nim funkcja taka ze jak jakaś rubryka nie jest uzupełniona to żeby poniżej wyświetlał się komunikat np. „wypełnij wszystkie rubryki” z góry dzięki za pomoc.

<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'adziozone@op.pl'; // Adres e-mail adresata
$subject = ' kontakt'; // Temat listu
$message = 'Dziękujemy za wysłanie formularza'; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
$charset = 'iso-8859-2'; // Strona kodowa
//////////////////////////////

$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";
$body = '';
foreach ($_POST as $name => $value)
{
if (is_array($value))
{
for ($i = 0; $i < count($value); $i++)
{
$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
}
}
else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
}
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">

<!-- Komentarz -->
<p align="right">
<b>
<font size="3" color="#ffffff">Imię i nazwisko:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</b>
<font color="#000080">
<input maxLength="24" name="Imię i nazwisko:[]" size="30" style="font-weight: 700" value="<?= $imie; ?>" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</font>
<br><br>
<b>
<font size="3" color="#ffffff">Adres e-mai:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</b>
<font color="#000080">
<input maxLength="29" name="Adres -mail:[]" size="30" style="font-weight: 700" value="<?= $adres; ?>" >
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</font>
<br>
<b>
<font size="3" color="#ffffff">Telefon:</font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</b>
<font color="#000080">
<input maxLength="29" name="Telfon:[]" size="30" style="font-weight: 700" value="<?= $telefon; ?>">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
</font>
<br>
</p>
<p align="right">
&nbsp;&nbsp;&nbsp;
<b>
<font size="3" color="#ffffff">Treść:
</b>
</font>
<textarea rows="8" name="tresc[]" cols="40"></textarea>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>
&nbsp;&nbsp;&nbsp;
<br>
<center>
<input type="submit" name="wyslij" value="Wyślij" style="background-color: #000000; font-family: Verdana; color: #FFFFFF; font-size: 8pt; font-weight: bold; border: 1px solid #FFFFFF; ">
&nbsp;&nbsp;&nbsp;
<input type="reset" name="reset" value="Wyczyść" style="background-color: #000000; font-family: Verdana; color: #FFFFFF; font-size: 8pt; font-weight: bold; border: 1px solid #FFFFFF; ">
</center>
<input type="hidden" name="location" value="dziekuje.htm">

</form>
<?php
}
?>




Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adziozone
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 26.02.2011

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


Nie o to chodziło dokładnie , bo napis "Uzupełnij wszystkie pola." żeby nie było widoczne zawsze tylko jak ktoś naciśnie "wyślij" to w tym momencie jak nie są wszystkie pola uzupełnione to żeby pojawiał się komunikat. Jak widzicie błędy proszę mówić, ja jestem laikiem z php (IMG:style_emoticons/default/smile.gif)

Znalazłem taki skrypt, ten wyświetla komunikat ze jakaś rubryka nie jest wypełniona, ale nie wiem jak z tych dwóch zrobić jeden. Proszę o pomoc w rozwiązaniu problemu.

<?php


// Funkcja wy¶wietlaj±ca formularz

function formularz($imie = "", $nazwisko = "", $zawod = "",

$email = "", $mailing_checked = false ) {

?>

<form action="" method="post">

Imię:<br />

<input name="imie" value="<?= $imie; ?>" /><br />

Nazwisko:<br />

<input name="nazwisko" value="<?= $nazwisko; ?>" /><br />

Zawód:<br />

<input name="zawod" value="<?= $zawod; ?>" /><br />

Adres e-mail:<br />

<input name="email" value="<?= $email; ?>" /><br />

<input type="checkbox" name="mailing"

value="checked"<?php if ($mailing_checked) echo " checked" ?>

/>Chcę otrzymywać informacje handlowe<br /><br />

<input type="submit" value="Wy¶lij" name="submit"/>

</form>

<?php

}

?>

<body>

<?php

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

// Sprawdzamy, czy użytkownik zaznaczył pole wyboru i ustawiamy warto¶ć

// odpowiedniej zmiennej

$mailing = false;

if (isset($_POST["mailing"]))

$mailing = true;

// Wy¶wietlamy formularz z wpisanymi warto¶ciami poszczególnych pól

formularz($_POST["imie"], $_POST["nazwisko"],

$_POST["zawod"], $_POST["email"], $mailing);

// Sprawdzamy, czy wszystkie pola zostały zapełnione

if (empty($_POST["imie"]) || empty($_POST["nazwisko"])

|| empty($_POST["zawod"]) || empty($_POST["email"])) {

echo "<p style=\"color:red\">Musisz wypełnić wszystkie pola!</p>";

} else {

echo "<p>Dziękujemy za wypełnienie formularza!</p>";

}

} else {

// Je¶li strona ładowana pierwszy raz, wy¶wietlamy pusty formularz

formularz();

}

?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 5.10.2025 - 05:22