Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Formularz nie działa - strona html

macio96b 07 Gru 2017 08:56 156 10
  • #1 07 Gru 2017 08:56
    macio96b
    Poziom 8  

    mam problem, otóż na mojej stronie nie działa formularz kontaktowy - maile nie dochodzą. Załączam plik .php

    Code:
    <?php
    

    // Replace this with your own email address
    $siteOwnersEmail = 'grafik@spina.pl';


    if($_POST) {

    $name = trim(stripslashes($_POST['contactName']));
    $email = trim(stripslashes($_POST['contactEmail']));
    $subject = trim(stripslashes($_POST['contactSubject']));
    $contact_message = trim(stripslashes($_POST['contactMessage']));

    // Check Name
    if (strlen($name) < 2) {
    $error['name'] = "Proszę wpisać swoje imię.";
    }
    // Check Email
    if (!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) {
    $error['email'] = "Proszę wpisać aktualny adres e-mail.";
    }
    // Check Message
    if (strlen($contact_message) < 15) {
    $error['message'] = "Proszę wprowadzić swoją wiadomość. Powinna mieć co najmniej 15 znaków.";
    }
    // Subject
    if ($subject == '') { $subject = "Contact Form Submission"; }


    // Set Message
    $message .= "Email from: " . $name . "<br />";
    $message .= "Email address: " . $email . "<br />";
    $message .= "Message: <br />";
    $message .= $contact_message;
    $message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />";

    // Set From: header
    $from = $name . " <" . $email . ">";

    // Email Headers
    $headers = "From: " . $from . "\r\n";
    $headers .= "Reply-To: ". $email . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


    if (!$error) {

    ini_set("sendmail_from", "-f grafik(malpa)spina.pl"); // for windows server
    $mail = mail($subject, $message, $headers, "-f grafik(malpa)spina.pl");

    if ($mail) { echo "OK"; }
    else { echo "Coś poszło nie tak. Proszę spróbuj ponownie."; }

    } # end if - no validation error

    else {

    $response = (isset($error['name'])) ? $error['name'] . "<br /> \n" : null;
    $response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null;
    $response .= (isset($error['message'])) ? $error['message'] . "<br />" : null;

    echo $response;

    } # end if - there was a validation error

    }

    ?>


    Proszę o pomoc

    0 10
  • #2 07 Gru 2017 10:59
    pitron
    Poziom 18  

    Czy to kiedyś działało? Bo nie widzę namiarów na serwer smtp i port 25?

    0
  • #3 07 Gru 2017 11:00
    macio96b
    Poziom 8  

    pitron napisał:
    Czy to kiedyś działało? Bo nie widzę namiarów na serwer smtp i port 25?


    Niee nie działało, jest to świeża strona.

    0
  • #4 07 Gru 2017 17:44
    anmedia
    Poziom 39  

    pitron napisał:
    Czy to kiedyś działało? Bo nie widzę namiarów na serwer smtp i port 25?

    Kolego! a od kiedy w takich skryptach pdaje sie smtp???? I kto powiedzial ze musi byc 25?

    macio96b napisał:
    maile nie dochodzą.

    A ten kod to tak dla zartu tu wstawiles:

    Code:
    ini_set("sendmail_from", "-f grafik(malpa)spina.pl"); // for windows server
    
    $mail = mail($subject, $message, $headers, "-f grafik(malpa)spina.pl");

    0
  • #5 07 Gru 2017 17:47
    macio96b
    Poziom 8  

    Mam naprawdę? Będziesz tak miły i pomożesz?

    0
  • #6 07 Gru 2017 17:50
    anmedia
    Poziom 39  

    Chce, przeciez pokazalem, gdzie masz bledy (malpa) zamien na @
    Poza tym

    Code:
    $siteOwnersEmail = 'grafik@spina.pl';
    do niczego sie nie odwoluje! To caly skrypt. Przeciez to wlasnie ta zmienna odpowiada za dostarczenie wiadomosci na emaila. W kodzie jej nie ma!

    0
  • #7 07 Gru 2017 17:51
    macio96b
    Poziom 8  

    Mam "@" tylko w poście mi samo zamieniło

    0
  • #8 07 Gru 2017 19:16
    pitron
    Poziom 18  

    anmedia napisał:
    Kolego! a od kiedy w takich skryptach pdaje sie smtp???? I kto powiedzial ze musi byc 25?

    Kolega nie wyczerpał opisu swojego problemu, ale jeżeli używa jakiegoś darmowego serwera to funkcja mail może być wyłączona ze względów bezpieczeństwa.

    0
  • #9 07 Gru 2017 19:20
    anmedia
    Poziom 39  

    I tak i nie. Zgodze sie z komentarzem kolegi pitron, dlatego warto sprawdzic to w inny sposob. Np na szybko zainstalowac wordpressa i jakis formularz, albo najepiej zapytac u zrodla .... czy formularz bedzie dzialal.
    Po za tym, nie znam przypadkow, czy okoniecznosci podawania danych serwera smtp do dzialania formularza. Dlatego tak czesto skrypty wysylajace sa maile hakowane.

    0
  • #10 07 Gru 2017 19:22
    macio96b
    Poziom 8  

    Stoi na home, była sprawdzana na kilku innych, również płatnych serwerach z włączona funkcja mail.

    0
  • #11 07 Gru 2017 19:50
    anmedia
    Poziom 39  

    macio96b napisał:
    Stoi na home,

    Jesli chodzi o home - to warto poczytac na tym forum ze tam wiele skryptow, jak nie 90% nie dziala. Wiaze sie to z zabezpieczeniami tego dostawcy. Aktualnie jest to najgorszy dostawca uslug na polski rynku. A juz pisalem wczesniej ze zmienna :
    $siteOwnersEmail
    do niczego sie nie odwoluje. Tzn na poczatku ja podajesz ale dalej do niczego sie nie odwoluje. Kolejna sprawa, to nie caly skrypt, tylko czesc php odpowiedzialna za przetworzenie go. A reszta? Przyklad ponize, zmienna "$para" wysyla do wlasciciela maila, w skrycie w tej czesci jej nie ma.
    Inna sprawa to zmienna $mail w ktorej podany jest adres zwrotny. Tez nie ma gdzie i po co!
    Ponizej pokaze ci przetwarzanie formularza wyslanego do klienta, krotki, tresciwy i jasny :

    Code:
    <?php
    

    $para = tutaj podajes zemail firmowy' . ',';
    $para .= 'field_6';

    $where_form_is="http://".$_SERVER['SERVER_NAME'].strrev(strstr(strrev($_SERVER['PHP_SELF']),"/"));

    session_start();
    if( ($_SESSION['security_code']==$_POST['security_code']) && (!empty($_POST['security_code'])) ) {
    mail($para,"Formulario enviado desde www.xxxxxxx.es","Tu inscripción:

    Nombre: " . $_POST['field_1'] . "
    Apellidos: " . $_POST['field_2'] . "
    Direcci&oacute;n: " . $_POST['field_3'] . "
    Cargo: " . $_POST['field_4'] . "
    Tel&eacute;fono: " . $_POST['field_5'] . "
    Correo electr&oacute;nico: " . $_POST['field_6'] . "
    ¿Est&aacute; su empresa internacionalizada?: " . $_POST['field_7'] . "
    ¿Desea internacionalizarse?: " . $_POST['field_8'] . "
    Sector al que pertenece.: " . $_POST['field_9'] . "
    ¿Qu&eacute; espera de esta jornada?: " . $_POST['field_10'] . "


    Gracias por inscribirse. En breve contactamos con Usted. Por favor no responde a este email.
    Un saludo
    ");

    include("confirm.html");
    }
    else {
    echo "Invalid Captcha String.";
    }

    ?>

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo