Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Nie wysyła informacji do bazy dot. Maila
Forum PHP.pl > Forum > Przedszkole
maly_pirat
Znalazłem taką funkcję:
  1. <?php
  2. function check_mail($email)
  3. {
  4. $ok = "/[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+.[a-zA-Z]{2,4}/";
  5. return (preg_match($ok, $email))true: false;
  6. }
  7. ?>


Sprawdza poprawność maila. Problem leży w tym, że gdy dodam $mail (żeby wysyłało informacje do bazy w rejestracji)
to nic się nie dzieje.
  1. <?php
  2. if(!check_mail($mail))  {$error .= 'Podany Mail '.$mail.' jest niepoprawny!<br />';}
  3. ?>


Sprawdza czy mail jest poprawny czy nie, na tym etpaie dobrze sprawdza go.
No i skrypt jedzie dalej, jeżeli nie ma błędów, wrzuć do bazy danych uzytkownik dane:
  1. <?php
  2. $sql = "INSERT INTO `uzytkownik` (`id`, `login`, `haslo`, `gg`, `ip`, `datarejestracji`) 
  3.  VALUES (NULL, '$login', '$haslo', '$gg', '$ip', '$datarejestracji')";
  4.  mysql_query($sql);
  5. echo "rejestracja - ok";
  6. ?>


To tak z części skryptu rejestracji mojej, wina tej funkcji czy jak że mail nie chce się wrzucać do bazy?
Aha,
  1. <?php
  2. function filter($co)
  3. {
  4. $co = addslashes($co);
  5. $co = strip_tags($co);
  6. return $co;
  7. }
  8. ?>


Taką mam funkcje, na początku kodu
później filtruje dane:
$_POST, itd
i dopiero mail jest sprawdzany jezeli ok, to sie dalej wykonuje skrypt.
ViX
spróbuj napisać funkcje check_mail na funkcji ereg()
gosc
wpisz po wysłaniu do bazy danych
echo mysql_error();
barthpl
Po pierwsze podana przez Ciebie funkcja sprawdzająca jest nie do końca poprawna, ponieważ wg niej mail "#$barthpl@barth.pl" jest poprawny a chyba zgodzisz się że tak nie jest. Wyrażenie do sprawdzania poprawności maila to na przykład:
  1. <?php
  2. function check_mail($email)
  3. {
  4. $pattern = "/^(([a-zA-Z0-9]+)([a-zA-Z0-9._-]*)@([a-zA-Z0-9_-]+)([a-zA-Z0-9._-]+)([a-zA-Z]+))$/i";
  5. return preg_match( $pattern, $email ) == 1;
  6. }
  7. ?>
szopen
Cytat(maly_pirat @ 31.08.2008, 09:31:48 ) *
  1. <?php
  2. $sql = "INSERT INTO `uzytkownik` (`id`, `login`, `haslo`, `gg`, `ip`, `datarejestracji`) 
  3.  VALUES (NULL, '$login', '$haslo', '$gg', '$ip', '$datarejestracji')";
  4.  mysql_query($sql);
  5. echo "rejestracja - ok";
  6. ?>


To tak z części skryptu rejestracji mojej, wina tej funkcji czy jak że mail nie chce się wrzucać do bazy?

Ale... gdzie Ty tego maila wrzucasz? Tzn. w jakim zapytaniu? Bo w tym powyżej go po prostu nie ma, więc jak ma się "wrzucić"...
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.