Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz Pola wymagane potrzebuje pomocy
Forum PHP.pl > Forum > PHP
quarku
Witam potrzebuje pomocy, nie wiem jak zmienic kod php aby pola (oznaczone *) byly wymagane. oto kod:


<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'dirtsquad@dirt-squad.pl'; // Adres e-mail adresata
$subject = 'Zgłoszenie Ofertowe'; // Temat listu
$message = 'Dziękujemy za wysłanie formularza'; // Komunikat
$error = 'Wystąpił błąd podczas wysyłania formularza'; // Komunikat błędu
$charset = 'utf-8'; // 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
{
?>

<font size="2">Imię, Nazwisko:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px"> <input name="reqImięiNazwisko" size="60" />*<br />
<font size="2">Adres:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqAdres" size="60" />*<br />
<font size="2">Kod:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqKod" size="10" />*<br />
<font size="2">Miejscowość:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqMiejscowosc" size="60" />*<br />
<font size="2">Telefon:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqTelefon" size="60" />*<br />
<font size="2">Email:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqEmail" size="60" />*<br />
<font size="2">Firma:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="Firma" size="60" /><br />
<font size="2">Nr Faktury:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqNrFaktury" size="60" />*<br />
<font size="2">Nazwa Produktu:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqNazwaProduktu" size="60" />*<br />
<font size="2">Nr Seryjny:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<input name="reqNrSeryjny" size="60" />

*<p style="margin-top: -10px; margin-bottom: 10px"><font size="2">Powód Reklamacji:</font></p>
<p style="margin-top: -10px; margin-bottom: 10px">
<textarea name="reqPowodReklamacji" cols="45" rows="4">Uzupełnij...</textarea>
*<br /><br /><br />
<!-- Przycisk WYŚLIJ -->
<input type="submit" value="Wyślij formularz" />
<!-- Przycisk WYCZYŚĆ DANE -->
<input type="reset" value="Wyczyść dane" />
</p>
</div>
</form>
<?php
}
?>


Bardzo dziekuje za pomoc!!!
blooregard
Na przykład tak:
  1. <?php
  2. $error = 0;
  3. if ($_POST[nazwa_pola] == '') {
  4. echo "proszę uzupełnić pole nazwa_pola";
  5. $error = 1;
  6. }
  7. ...
  8.  //i tak dla kazdego pola wymaganego
  9. if ($error) {
  10.  echo "proszę wypełnić wszystkie pola oznaczone *";
  11. } else {
  12. ... tu kod wysylajacy maila
  13. }
  14. ?>
Roly
@blooregard
Jeżeli już udzielasz odpowiedzi osobie początkującej to zadbaj o to żeby Twój kod był poprawny bo np ja znalazłem aż 2 błędy w tak krótkim skrypcie. Piszę to dlatego że potem przyjdzie Ci pracować z taką osobą która się uczyła z tego forum i niby wszystko pięknie ładnie działa ale kod to masakra

poprawiona wersja
  1. <?php
  2. $error = 0;
  3. if(isset($_POST['nazwa_pola']) && $_POST['nazwa_pola'] == '') {
  4.    echo "proszę uzupełnić pole nazwa_pola";
  5.    $error = 1;
  6. }
  7. //...
  8. //i tak dla kazdego pola wymaganego
  9. if ($error) {
  10.    echo "proszę wypełnić wszystkie pola oznaczone *";
  11. } else {
  12.    //... tu kod wysylajacy maila
  13. }
  14. ?>
nexis
Cytat(Roly @ 3.06.2009, 16:06:53 ) *
poprawiona wersja


  1. <?php
  2. // Informacja o błędach
  3. $error = false;
  4. // Sprawdzenie pola "nazwa_pola"
  5. if (empty($_POST['nazwa_pola'])) {
  6.   echo 'Proszę uzupełnić pole "nazwa_pola"';
  7.   $error = true;
  8. }
  9. // Podsumowanie błędów
  10. if ($error) {
  11.   echo 'Proszę wypełnić wszystkie pola oznaczone *';
  12. } else {
  13.   // kod
  14. }
  15. ?>
Roly
@nexis

oki zgadzam się smile.gif

PS
Jakoś dla mnie funkcja empty() wygląda dziwnie no ale może dlatego że mam większe doświadczenie w innych językach smile.gif
skowron-line
Proponuje jeszcze dodać
TRIM
dla wiadomych celów.
quarku
Wielkie dzieki panowie. Nie liczylem na gotowca, wystarczy mnie pokierowac:D

Pozdrawiam
blooregard
@Roly:
Cytat
Jeżeli już udzielasz odpowiedzi osobie początkującej to zadbaj o to żeby Twój kod był poprawny bo np ja znalazłem aż 2 błędy w tak krótkim skrypcie. Piszę to dlatego że potem przyjdzie Ci pracować z taką osobą która się uczyła z tego forum i niby wszystko pięknie ładnie działa ale kod to masakra


To miał być przykład, a nie działający kod.
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.