繁体   English   中英

PHP不显示DIV / Contactform

[英]PHP doesnt show DIV / Contactform

这是我的工作代码,没有Boynux的最新建议。 现在,我将尝试将两者结合起来,如果发生错误,也许会得到红色的div框。 感谢大家的帮助,我想我现在已经非常接近我在想的结果。

的PHP

<section id="main-content">

<div class="text-intro"><h2>KONTAKT</h2></div>

<?php
if(isset($_POST['sendMessage'])) {
$to = "info@test.com";
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'E-mail: '.$email."\n";
$from = 'Message: '.$message;
$body_message = "Question";

echo "<div id=\"submitmessage\">Thank you.</div>"; 
mail($to, $body, $from);
} else {
echo "Please check you data.";
}
?>

<div class="columns features">
<br />
<form action="contact.php" method="post" id="contact-form" class="contact-form">
<textarea id='message' maxlength='10000' name='message' placeholder='Hello...'>   
</textarea>
<div class='crayonico'></div>
<input class='text-input' id='senderEmail' maxlength='50' name='email'   
placeholder='E-Mail' type='email'>
<div class='emailico'></div>
<input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit'  
value='SEND'>
</form>
<br /><br /><br /><br /><br />
</div>

的HTML

<section id="home-head" class="contact">     
<h1></h1>
</section>

<section id="main-content">

<div class="text-intro"><h2>CONTACT</h2></div>

<div class="columns features">
<br />
<form action="contact.php" method="post" id="contact-form" class="contact-form">
<textarea id='message' maxlength='10000' name='message' placeholder='HEllo...'>   
</textarea>
<div class='crayonico'></div>
<input class='text-input' id='senderEmail' maxlength='50' name='email' 
placeholder='E-Mail' type='email'>
<div class='emailico'></div>
<input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit'  
value='SEND'>
</form>
<br /><br /><br /><br /><br />
</div>

</section>
<section id="main-content">
<div class="text-intro"><h2>CONTACT</h2></div>
<div id="thanks"></div>
<div class="columns features">
<br />
<form action="contact.php" method="post" id="contact-form" class="contact-form">
<textarea id='message' maxlength='10000' name='message' placeholder='Hello...'>       </textarea>
<div class='crayonico'></div>
<input class='text-input' id='senderEmail' maxlength='50' name='email' placeholder='E- Mail' type='email'>
<div class='emailico'></div>
<input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit' value='SEND'>
</form>
<br /><br /><br /><br /><br />
</div>

<script>

 if($("#senderEmail").val()==''){
  // alert the message
  return false;
 }

</script>

对于验证,您可以使用jQuery之类的

    $("#sendMessage").click(function(e){
    e.preventDefault();
    if($("#senderEmail").val()=="") {
     alert('Email Blank');
     return false;
    } else {
     return true;
    }
  });

对于使用PHP在div中显示的消息

if ($mail_status){
$message = "Thanks for your mail...";
}else{
$message = "Please correct your data.";
}

现在,您可以在任何所需的div中echo$message

<div class="message_area"><?php echo $message;?></div>

更新

<section id="main-content">

<div class="text-intro"><h2>KONTAKT</h2></div>

<?php
if(isset($_POST['sendMessage'])) {
$to = "info@test.com";
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'E-mail: '.$email."\n";
$from = 'Message: '.$message;
$body_message = "Question";

echo "<div id=\"submitmessage\">Thank you.</div>"; 
mail($to, $body, $from);
} else {
$message = "Please check you data.";
}
?>

<div class="columns features">
<br />
<form action="contact.php" method="post" id="contact-form" class="contact-form">
<textarea id='message' maxlength='10000' name='message' placeholder='Hello...'>   
</textarea>
<div class='crayonico'></div>
<input class='text-input' id='senderEmail' maxlength='50' name='email'   
placeholder='E-Mail' type='email'>
<div class='emailico'></div>
<input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit'  
value='SEND'>
</form>
<div class="message_div">
    <?php
        if(isset($_POST['sendMessage'])) {
            if(isset($message)) {
                echo $message;
            }   
        }
    ?>
</div>
<br /><br /><br /><br /><br />
</div>

PHP不像ASP.NET或类似框架那样将模板和代码分开。 如果您不考虑其他框架,例如Symfony或CakePHP,则需要将完整的HTML输出输出到浏览器:

<?php
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = 'email@email.de ';
$subject = 'Message from a site visitor '.$field_name;
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
?>
<html>
    <head>
        <title>Email result</title>
    </head>
    <body>
         <div>
<?php
    if ($mail_status){
        echo "Thanks for your mail...";
    }else{
        echo "Please correct your data.";
    }
?>
         </div>
    </body>

对于表单验证,您可以使用javasctipt:

<div id="main-content">
    <div class="text-intro"><h2>CONTACT</h2></div>
    <div id="thanks"></div>
    <div class="columns features">
    <br />
    <form action="contact.php" method="post" id="contact-form" class="contact-form"  onsubmit="return validate ()>
        <textarea id='message' maxlength='10000' name='message' placeholder='Hello...'> </textarea>
        <div class='crayonico'></div>
        <input class='text-input' id='senderEmail' maxlength='50' name='email' placeholder='E-Mail' type='email'>
        <div class='emailico'></div>
        <input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit' value='SEND'">
    </form>
    <br /><br /><br /><br /><br />
</div>
<script language="javascript">
function validate()
{
    // for example I check sender email
    if ( document.getElementById ( 'senderEmail' ).value.length > 0 )
        return true;
    else
        alert ( "Sender address required" );
        return false;
}
</script>

但是请记住,使用JavaScript进行验证是不够的,因为用户可以简单地绕过此检查,请考虑再次检查PHP代码中的所有内容。

好的,这是一个完整的示例,但是请注意,这写得不好,完整的代码只是一个示例:

<html>
    <head>
        <title>Email result</title>
    </head>
    <body>
<?php

// function to compose email
function sendMail ( $sender, $message ) {
    $mail_to = 'email@email.de ';
    $subject = 'Message from a site visitor '.$field_name;
    $body_message .= 'E-mail: '.$field_email."\n";
    $body_message .= 'Message: '.$field_message;
    $headers = 'From: '.$field_email."\r\n";
    $headers .= 'Reply-To: '.$field_email."\r\n";
    return  mail($mail_to, $subject, $body_message, $headers);
}

// check if form submited?
if ( isset ($_POST['sendMessage']) ) {
    $email = trim ($_POST['email']);
    $message = trim ($_POST['message']);

    if ($email == null || strlen ($email) == 0 ) {
        $alert = "Sender address required.";
    } else if ( $message == null || strlen ($message) == 0 ) {
        $alert = "Empty messages is not allowed.";
    } else if ( sendMail ( $email, $message ) ) {
        $alert = "Thanks for your mail...";
    } else {
            $alert = "Please correct your data.";
    }
}
?>
<?php if ( isset ($alert) ): ?>
         <div style='color: red; font-weight: bold;'><?php echo $alert ?></div>
<?php endif; ?>
        <div id="main-content">
            <div class="text-intro"><h2>CONTACT</h2></div>
            <div id="thanks"></div>
            <div class="columns features">
            <br />
            <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" id="contact-form" class="contact-form"  onsubmit="return validate ()">
                <textarea id='message' maxlength='10000' name='message' placeholder='Hello...'></textarea>
                <div class='crayonico'></div>
                <input class='text-input' id='senderEmail' maxlength='50' name='email' placeholder='E-Mail' type='email'>
                <div class='emailico'></div>
                <input class='btn btn-input' id='sendMessage' name='sendMessage' type='submit' value='SEND'>
            </form>
            <br /><br /><br /><br /><br />
        </div>
        <script language="javascript">
        function validate()
        {
            // for example I check sender email
            if ( document.getElementById ( 'senderEmail' ).value.length > 0 )
                return true;
            else
                alert ( "Sender address required" );
                return false;
        }
        </script>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM