Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie błędów formularz
Forum PHP.pl > Forum > PHP
przemysuaw
Witam.

Mam formularz z prostą walidacją.

Jak walidacja nie przejdzie to zapisuję do tablicy i wyświetlam w odpowiednim miejscu:

Przypisanie do tablicy błędów:
  1. $errors['empty_email']='<p class="error">Proszę podać adres email</p>';


wycinek z formularza:
  1. <input type="text" name="email" id="email" value="<?php if (isset($errors['empty_email'])) { echo $errors['empty_email']; } else { echo'Email'; } ?>" />


Problem w tym, że zamiast wyświetlać: "Proszę podać adres email" wyświetla: "<p class="error">Proszę podać adres email</p>"

Co robię nie tak?


Kshyhoo
A musisz to w tablicy trzymać?
ctom
  1. <?php echo isset($errors['empty_email']) ? $errors['empty_email'] : ''; ?>
  2. <input type="text" name="email" id="email" value="<?php echo isset($errors['empty_email']) ? '' : 'Email'; ?>" />
przemysuaw
Zależy mi, tym bardziej, że w innym formularzu działa. Z tą różnicą, że w innych wyświetlam błędy w:
  1. <label> <?php if (isset($errors['empty_email'])) { echo $errors['empty_email']; } else { echo'Email'; } ?> </label>


A tutaj mam mały formularz do szybkiego kontaktu, więc błędy muszą być wyświetlane w inputach.

Nie mówiąc już o samym fakcie, że powinno działać, a nie działa smile.gif
ctom
ale w tych innych "wstrzykujesz" kod html w LABEL , a w powyższym chcesz wcisnąć kod html w INPUT

Kod
<input type="text" name="email" id="email" value="<?php if (isset($errors['empty_email'])) { echo strip_tags($errors['empty_email']); } else { echo'Email'; } ?>" />
przemysuaw
Cytat(ctom @ 10.12.2013, 19:50:48 ) *
ale w tych innych "wstrzykujesz" kod html w LABEL , a w powyższym chcesz wcisnąć kod html w INPUT

Kod
<input type="text" name="email" id="email" value="<?php if (isset($errors['empty_email'])) { echo strip_tags($errors['empty_email']); } else { echo'Email'; } ?>" />


Pomogło dzięki smile.gif.

Mam jeszcze jedno pytanie w formularzu w inputach wartość domyślna jest w kolorze:
  1. #footer_form input, #footer_form textarea{ color:#333; }


Natomiast jeżeli są błędy to chciałbym wyświetlić je w kolorze czerwonym:
  1. #footer_form input .error{ color:red; }


Niestety nie działa - być może strip_tags uniemożliwia odczytania klasy ?
ctom
oglądałeś Misia ? "Nie mieszajmy myślowo dwóch różnych systemów walutowych"


sprawdziłeś chociaż raz kod wynikowy ?
przemysuaw
Cytat(ctom @ 10.12.2013, 20:14:52 ) *
oglądałeś Misia ? "Nie mieszajmy myślowo dwóch różnych systemów walutowych"


sprawdziłeś chociaż raz kod wynikowy ?



Oglądałem, ale na łapanie dowcipów, chyba trochę za mało wiem o programowaniu.

W każdym razie wyczytałem że strip_tags usuwa wszystkie znaczniki, czyli jak zatem zmienić kolor w momencie wystąpienia błędu?
ctom
to co tu napisałeś :
Kod
#footer_form input .error{ color:red; }
przemysuaw
Cytat(ctom @ 10.12.2013, 20:24:31 ) *
to co tu napisałeś :
Kod
#footer_form input .error{ color:red; }


Tak niestety nie przechodzi ale tak:
  1. #footer_form .error { color:red; }


jak najbardziej smile.gif. Dzięki
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.