Autor Zpráva
PetrVB
Profil *
Někde jsem našel, upravil a úspěšně používal tento formulář:

<?php
function wptuts_get_the_ip() {
    if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
        return $_SERVER["HTTP_X_FORWARDED_FOR"];
    }
    elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
        return $_SERVER["HTTP_CLIENT_IP"];
    }
    else {
        return $_SERVER["REMOTE_ADDR"];
    }
}

function wptuts_contact_form_sc($atts) {
    extract(shortcode_atts(array(
        "email" => get_bloginfo('admin_email'),
        "label_name" => 'Jméno a příjmení',
        "label_email" => 'E-mail',
        "label_message" => 'Text zprávy',
        "label_submit" => 'Odeslat zprávu',
        "error_empty" => 'Před odesláním vyplňte všechna pole',
        "error_noemail" => 'Zadaná e-mailová adresa není ve správném tvaru.',
        "success" => 'Vaše zpráva byla úspěšně odeslána.'
    ), $atts));

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        $error = false;
        $required_fields = array("your_name", "email", "message");

        foreach ($_POST as $field => $value) {
            if (get_magic_quotes_gpc()) {
                $value = stripslashes($value);
            }
            $form_data[$field] = strip_tags($value);
        }

        foreach ($required_fields as $required_field) {
            $value = trim($form_data[$required_field]);
            if(empty($value)) {
                $error = true;
                $result = $error_empty;
            }
        }

        if(!is_email($form_data['email'])) {
            $error = true;
            $result = $error_noemail;
        }

        if ($error == false) {
            $email_subject = "Zpráva z webu " . "[" . get_option('home') . "]";
            $email_message = $form_data['message'];
            $headers  = "From: ".$form_data['your_name']." <".$form_data['email'].">\n";
            $headers .= "Content-Type: text/plain; charset=UTF-8\n";
            $headers .= "Content-Transfer-Encoding: 8bit\n";
            wp_mail($email, $email_subject, $email_message, $headers);
            $result = $success;
            $sent = true;
        }
    }

    if($result != "") {
        $info = '<div class="info-form">'.$result.'</div>';
    }
    $email_form = '<form class="contact-form" method="post" action="'.get_permalink().'">
        <div>
            <label for="cf_name">'.$label_name.':</label>
            <input type="text" name="your_name" id="cf_name" size="40" maxlength="50" value="'.$form_data['your_name'].'" />
        </div>
        <div>
            <label for="cf_email">'.$label_email.':</label>
            <input type="text" name="email" id="cf_email" size="40" maxlength="50" value="'.$form_data['email'].'" />
        </div>
        <div>
            <label for="cf_message">'.$label_message.':</label>
            <textarea name="message" id="cf_message" cols="50" rows="10">'.$form_data['message'].'</textarea>
        </div>
        <div>
            <input type="submit" value="'.$label_submit.'" name="send" id="cf_send" />
        </div>
    </form>';
    
    if($sent == true) {
        return $info;
    } else {
        return $info.$email_form;
    }
} add_shortcode('contact', 'wptuts_contact_form_sc');
?>

Teď najednou nechodí vyplněné údaje z formuláře na mail. Pravděpodobně mi to bloknul hosting. Myslíte, že je to vzhledem k výše uvedenému kódu možné?

Chci kód nahradit nějakým pluginem. Může mít hosting u pluginu také důvod k blokování odesílání?
Davex
Profil
PetrVB:
Pravděpodobně mi to bloknul hosting.
Je zbytečné spekulovat. Zeptej se na to podpory hostingu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: