Loading:


    Formularz do wysyłania wiadomości z walidacją danych

    Skrypt tworzy standardowy formularz używany na stronach do kontaktu z właścicielem. Dodatkowo wyposażony jest w walidacje danych wprowadzonych przez użytkownika.



    Napisz Artyku³

    Listing


    //Plik HTML ****************************************
    <HTML>
    <HEAD>
    <TITLE>Wysyłanie poczty</TITLE>
    </HEAD>
    <BODY>
    <FORM METHOD="post" ACTION="sendmail.php">
    <TABLE border="1">
    <TR>
    <TD COLSPAN="2" ALIGN="center" BORDERCOLOR="#FFFFFF">
    <H2>Wysyłanie poczty</H2>
    </TD>
    </TR>

    <TR>
    <TD BORDERCOLOR="#FFFFFF">Do</TD>
    <TD BORDERCOLOR="#FFFFFF">
    <INPUT TYPE="text" NAME="do" SIZE="20">
    </TD>
    </TR>

    <TR>
    <TD BORDERCOLOR="#FFFFFF">Temat</TD>
    <TD BORDERCOLOR="#FFFFFF">
    <INPUT TYPE="text" NAME="temat" SIZE="20">
    </TD>
    </TR>

    <TR>
    <TD BORDERCOLOR="#FFFFFF">Treść</TD>
    <TD BORDERCOLOR="#FFFFFF">
    <TEXTAREA NAME="contents" ROWS="5" COLS="40">
    </TEXTAREA>
    </TD>
    </TR>

    <TR>
    <TD COLSPAN="2" ALIGN="CENTER" BORDERCOLOR="#FFFFFF">
    <INPUT TYPE="submit" VALUE="Wyślij">
    </TD>
    </TR>
    </TABLE>

    </FORM>
    </BODY>
    </HTML>


    //Plik PHP sendmail.php *************************
    <?PHP

    function check_email($email)
    {
      $wyr = "^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*";
      $wyr .= "@([a-zA-Z0-9_-]+)(\.[a-zA-Z0-9_-]+)*(\.[a-zA-Z]{2,4})$";
      if(ereg($wyr, $email)){
        return true;
      }
      else{
        return false;
      }
    }

    function sendmail($do, $temat, $contents)
    {
      if($do == "" || $temat == "" || $contents == ""){
        print("Proszę wypełnić wszystkie pola formularza");
      }
      else if (mail($do, $temat, $contents)){
        print("List został wysłany na adres $do");
      }
      else{
        print("Nie udało się wysłać listu na adres $do");
      }
    }
    if(isSet($_POST['do']) && isSet($_POST['temat']) && isSet($_POST['contents'])){
      if(!check_email($_POST["do"])){
        echo("Niepoprawny adres w polu do!");
      }
      else{
        sendmail($_POST["do"], $_POST["temat"], $_POST["contents"]);
      }
    }
    else{
      echo("Proszę wypełnić wszystkie pola formularza!");
    }
    ?>
     




    Dodano przez: igor
    Ranga: Administrator serwisu Punktów: 0
    Komentarze użytkowników
    Uwaga! Skrypt ten będzie działał poprawnie w tylko starszych wersjach PHP niż 5.3.0, gdyż użyto tutaj funkcji ereg, która jest wycofywana z użycia (właśnie dziś sam się na to naciąłem). W wersjach 5.3.x i wyższych - można ujrzeć komunikat ostrzegawczy po użyciu tej funkcji a od wersji 6.0 nie będzie dostępna. W zamian trzeba używać funkcji preg_match
    autor: Azgheros | 4636 | 2009-12-30 17:58:13


      • Tre¶æ komentarza
        Kod do komentarza (opcjonalnie)
        PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
        Autor
        Token
        token

         

         








    funkcje.net
    Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2025 v.1.5 | design: diviXdesign & rainbowcolors