Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] spradzanie czy podane dane to liczba
Forum PHP.pl > Forum > Przedszkole
krzychu0808
Witam....
mam formularz z polem gdzie użytkownicy wpisuję nr gg i chciałbym aby sprawdzał czy wpisują tam liczbę jak nie to error bo jak nie wpiszą nr gg to tak robie:
  1. <?php
  2. if (empty($_POST['usergg']))
  3. {
  4. echo '- Podaj Numer Gadu-Gadu<br/>';
  5. $error=1;
  6. }
  7. ?>


też mam pole e-mail i nie wiem jak sprawdzić czy ciąg znaków zawiera @. Tak sprawdzam czy wpisany jest e-mail:

  1. <?php
  2. if (empty($_POST['useremail']))
  3. {
  4. echo '- Podaj E-mail<br/>';
  5. $error=1;
  6. }
  7. ?>

Proszę o pomoc...
mike
to_jest_adres@emailowy?
piraciq
co do emaila polecam

Kod
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $_POST['email']))
    {
     echo  '- Podaj E-mail<br/>';
        $error=1;
    }



a co do pierwszego problemu to zainteresuj się tym

http://pl.php.net/manual/pl/function.is-int.php
l0ud
Co do numeru gg, ja to robię tak:
  1. <?php
  2. if (preg_match('!^[0-9]*$!',$gg) === 0) throw new validationError(1); //numer gg nie składa się z cyfr
  3. ?>

bo is_int sprawdza tylko typ zmiennej, a wiadomo, że będzie stringiem (z formularza), zaś is_numeric pozwala na niepotrzebne znaki w postaci chociażby kropki.

e-mail:
  1. <?php
  2. if (preg_match('/^[-_a-z0-9'+*$^&%=~!?{}]++(?:.[-_a-z0-9'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.]).[a-z]{2,6}|d{1,3}(?:.d{1,3}){3})(?:biggrin.gif++)?$/iD', $email) === 0) throw new validationError(2); //email jest niepoprawny
  3. ?>
krzychu0808
zrobiłem z tym e-mailem tak:
  1. <?php
  2. if (empty($_POST['useremail']))
  3. {
  4. echo '- Podaj E-mail<br/>';
  5. $error=1;
  6. }
  7. elseif (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST['email']))
  8. {
  9.  echo '- Format adresu E-mail jest niepoprawny<br/>';
  10. $error=1;
  11. }
  12. ?>

i wpisuje test@test.pl i mi wywala "Format adresu E-mail jest niepoprawny" wpisze samo test "Format adresu E-mail jest niepoprawny"
proszę o pomoc
piraciq
Cytat(krzychu0808 @ 31.07.2008, 10:34:26 ) *
zrobiłem z tym e-mailem tak:
  1. <?php
  2. if (empty($_POST['useremail']))
  3. {
  4. echo '- Podaj E-mail<br/>';
  5. $error=1;
  6. }
  7. elseif (!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST['useremail'])) 
  8. {
  9.  echo '- Format adresu E-mail jest niepoprawny<br/>';
  10. $error=1;
  11. }
  12. ?>

i wpisuje test@test.pl i mi wywala "Format adresu E-mail jest niepoprawny" wpisze samo test "Format adresu E-mail jest niepoprawny"
proszę o pomoc


sprawdz tak :]
krzychu0808
dziękuje za pomoc l0ud zrobiłem tak:
nr gg:
  1. <?php
  2. elseif (preg_match('!^[0-9]*$!',$_POST['usergg']) === 0)
  3. {
  4. echo '- Zły format Numeru Gadu-Gadu<br/>';
  5. $error=1;
  6. }
  7. ?>


e-mail:
  1. <?php
  2. elseif (preg_match('/^[-_a-z0-9'+*$^&%=~!?{}]++(?:.[-_a-z0-9'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.]).[a-z]{2,6}|d{1,3}(?:.d{1,3}){3})(?:biggrin.gif++)?$/iD', $_POST['email']))
  3. {
  4.  echo '- Format adresu E-mail jest niepoprawny<br/>';
  5. $error=1;
  6. }
  7. ?>
l0ud
Albo jestem dziś ślepy, albo nie widzę porównania do zera w drugim kodzie tongue.gif W tej chwili to raczej działa odwrotnie, niż powinno smile.gif
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.