Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] poprawny adres emali
Forum PHP.pl > Forum > Przedszkole
runfree
witam!
nie znam php, różne opisy nic mi nie mówią, nerwy puszczają... i dlatego kieruję do Was prośbę. czy ktoś mógłby mnie poratować i poprawić mój kod tak aby była sprawdzana poprawność adresu email wpisywanego w budce 'Adres e-mail' ? z góry wielkie dzięki!!
kod html
Kod
<!--formularz kontaktowy-->
<form action="kontakt.php" method="post" onreset="if (!confirm('Czy na pewno chcesz wyczyścić cały formularz?')) return false">
<center>
Imię i Nazwisko:
<input type="text" name="imienazwisko"><br>
Adres e-mail:
<input type="text" name="twojemail"><br>
Grupa:
<input type="text" name="grupa"><br>
<textarea name="tresc" style="width: 315px; height: 100px">Tu wpisz treść wiadomości</textarea>
<p><input type="submit" value="Wyślij">&nbsp;&nbsp;&nbsp;<input type="reset" value="Czyść">
</p></center>
</form>
<!--koniec formularza-->

plik php
Kod
<?php
$adres="adres@wp.pl";
$temat="Wiadomość";
$tresc="Imie/Nazwisko: ".$_POST["imienazwisko"]."\n E-mail: ".$_POST["twojemail"]. "\n Grupa: ".$_POST["grupa"]."\n Wiadomość: \n ".$_POST["tresc"]."\n ";

if (!$_POST["twojmail"] || !preg_match("/^[-0-9a-zA-Z_\.]+@([-0-9a-zA-Z_\.]+\.)+([0-9a-zA-Z]){2,4}$/i", $_POST["twojmail"])) {
print "Podany adres e-mail jest nieprawidłowy"; exit;
}

if(function_exists('mail'))
{
    if(empty($_POST['imienazwisko']))
    {
        echo "Wypełnij wszystkie pola formularza.";
    }
    else if(empty($_POST['twojemail']))
    {
        echo "Wypełnij wszystkie pola formularza.";
    }
    else if(empty($_POST['grupa']))
    {
        echo "Wypełnij wszystkie pola formularza.";
    }
    else if(empty($_POST['tresc']))
    {
        echo "Wypełnij wszystkie pola formularza.";
    }
    else
    {
        mail($adres, $temat, $tresc);
       echo'Formularz został przyjęty. Dziękuje! <a href="http://www.wp.pl"><strong>Strona Główna</strong></a>';
    }
}
else
{
    echo "Niestety funkcja mail() jest wyłączona na tym serwerze. Nie mogę wysłać danych z formularza.";
}
?>
Max Damage
  1. <?php
  2. $email=$_POST['email'];
  3. if($email!=(ereg('^[a-zA-Z0-9.-]+@[a-zA_Z0-9.-]+[a-zA-Z0-9.-]+$',$email))) {
  4. echo "podany email jest nieprawidłowy";
  5. exit; 
  6. }
  7. ?>


Działa.
runfree
dziękuję za opowiedź! jednak nie działa. mimo błędnego maila i tak pojawiał się komunikat że formularz wysłano, ale wiadomośc nie docierała na skrzynkę.
zauważyłam jedną różnicie w kodach i
Cytat(Max Damage @ 6.07.2008, 19:01:16 ) *
  1. <?php
  2. ?>$email=$_POST['email'];
  3. ?>

poprawiłam na
  1. <?php
  2. $email=$_POST['twojemail'];
  3. ?>

 teraz jakikolwiek adres wpiszę zawsze jest zły.
no trudno, bedę szukać dalej.
Max Damage
A faktycznie niepotrzebnie powtórzyłem $email:

  1. <?php
  2. if(!(ereg('^[a-zA-Z0-9.-]+@[a-zA_Z0-9.-]+[a-zA-Z0-9.-]+$',$email))) {
  3. echo "Adres email jest niepoprawny";
  4. exit; 
  5. }
  6. ?>


Teraz jest ok smile.gif
runfree
działa smile.gif dziękuje!
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.