Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: formularz
Forum PHP.pl > Forum > PHP
unnament
Stworzylem formularz, chcialbym zrobic, zeby trzeba bylo wpisywac wszystkie pola po min. 3 literki. Jak to zrobic?
cyphelf
Jeśli chcesz to zrobić w php, po odebraniu zmiennej z formularza to użyj funkcji strlen:

  1. <?php
  2. if (strlen($string)<3) {
  3. //lancuch jest krotszy niz 3 znaki
  4. }
  5. ?>


Natomiast jeśli chcesz to zrobić jeszcze po stronie przeglądarki to możesz użyć np. takiej funkcji:

Kod
<script type="text/javascript">
function testinput(id) {
    if (document.getElementById(id).value.length<3) {
        alert ('Wartosc musi miec przynajmniej 3 znaki')
    }
}
</script>


Potem przykładowo możesz ją wywołać przy naciśnięciu przycisku:

  1. <input type="text" id="input1" />
  2. <input type="button" onclick="testinput('input1');" />
  3. </form>
atomek_16
@cyphelf:
hej.
Nie będę zakładał nowego tematu, tutaj zapytam.
Jak zablokować skrypt, jeżeli np. w login na początku ktoś da spację? (jedną, dwie lub więcej...?)

np. " Karol"

?

Dzięki za odp.
skowron-line
mozesz np usunac spacje bo moze ona wynikac z bledu popelnionego przy wpisywany
trim
funkcja ta usuwa spacje na poczatku i na koncu sa jeszcze odmiany tej funkicji ktore usuwaja spacje albo na poczatku albo na koncu stringa


--edit--
a jesli chodzi o zablokowanie skryptu to zrob sprawdzanie wypelnionego pola

  1. <?php
  2. if($login == 'karol')
  3.  {
  4.  echo'pokaz skrypt';
  5. }
  6. else
  7. {
  8. echo'brak dostepu';
  9. }
  10. ?>

bo chyba o to chodzi a jesli nie to napisz

pzdr
unnament
  1. <?php
  2. <script type="text/javascript">
  3. function testinput(id) {
  4. if (document.getElementById(id).value.length<3) {
  5. alert ('Wartosc musi miec przynajmniej 3 znaki')
  6. }
  7. }
  8. </script>
  9. ?>


Oki, ale gdzie mam wpisac nazwy pol do ktorych ten skrypt sie odwoluje? mam pola, login, mail haslo. I gdzie te pola mam wpisac w tym godzie?
unnament
wyskakuje mi blad:
  1. <?php
  2. Warning: Wrong parameter count for strlen() in /home/accounts_u/unnament/public_html/php/skrypt.php on line 12
  3. ?>


dlaczego:P?

jak mam w folrmularzu pola login, email i haslo, to zeby ten skrypt sprawdzal czy jest min 3 literki to musi wygladac tak??:

  1. <?php
  2. if (strlen($login, $email, $haslo)<3) {
  3. //lancuch jest krotszy niz 3 znaki
  4. }
  5. ?>
Ludvik
strlen przyjmuje jeden argument... jeżeli chcesz coś takiego zrobić to:
  1. <?php
  2. if (strlen($login) > 3 && strlen($haslo) > 3 && strlen($email) > 3) { /* ... */ }
  3. ?>

Zaglądnij do manuala, zapoznaj się z podstawami, wtedy sam wyłapiesz te błędy...
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.