簡體   English   中英

WordPress的聯系表格不起作用-可能是由於functions.php中的代碼

[英]Wordpress Contact Form does not work - probably due to code in functions.php

下面是我的wordpress聯系表的代碼,可能有一些錯誤,因為當我輸入頁面網址http://muzykablog.pl/時,該網址會自動跳轉到http://muzykablog.pl/page-kontakt.php?msg_sent =真 ...

這是我的聯系頁面(page-kontakt.php)中的代碼:

<h4>Send Us Mail</h4><br/>


    <?php
if ($_GET[msg_sent]=='true' ) {
    echo '<div>Your message has been sent!</div>';
}elseif ($_GET[msg_sent]=='false') {
    echo '<div>An error occurred sending your message.</div>';
}else{
?>           

                                <form method="post" action="functions.php">
            <label>Name</label>
            <input name="name" placeholder="Type Here">

            <label>Email</label>
            <input name="email" type="email" placeholder="Type Here">

            <label>Message</label>
            <textarea name="message" placeholder="Type Here"></textarea>

            <label>*What is 2+2? (Anti-spam)</label>
            <input name="human" placeholder="Type Here">

            <input id="submit" name="submit" type="submit" value="Submit">

        </form>

        <?php } ?>

這是我的函數頁面(functions.php)中的代碼:

// KONTAKT - MESSAGE SENDING FUNCTIONS FOR page-kontakt.php


    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $from = 'From: http://muzykablog.pl/'; 
    $to = 'piterdeja@gmail.com'; 
    $subject = 'Hello';
    $human = $_POST['human'];

    $body = "From: $name\n E-Mail: $email\n Message:\n $message";

    if(mail($to, $subject, $body, $from)){
    header('Location:page-kontakt.php?msg_sent=true');
}else{
    header('Location:page-kontakt.php?msg_sent=false');
}

這里一定有錯誤

最好查看mail()函數。 但是看到代碼后,它似乎總是會返回true或false,因此它將重定向到?msg_sent = false或?msg_sent = true。 由於某些原因,頁面在加載時總是發送表單。 您必須避免這種情況。 表單的動作是functions.php也是很少見的。 您是否要在主頁上放置表格?

我認為還有更多更深層次的問題,但是可以在您的functions.php中進行安排(不是很專業)

if($_POST['human']!=""){

$name = $_POST['name'];

$email = $_POST['email'];

$message = $_POST['message'];

$from = 'From: http://muzykablog.pl/'; 
$to = 'piterdeja@gmail.com'; 
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if(mail($to, $subject, $body, $from)){
header('Location:page-kontakt.php?msg_sent=true');
}else{
header('Location:page-kontakt.php?msg_sent=false');
} 
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM