4

[已解决]感谢所有回复的人。

我有一个在用户提交联系表单后运行的 PHP 脚本。此脚本在左上角显示一条消息,说明它是否正常工作或是否遇到问题。

现在我的问题是,如何将这些消息放入弹出框?我知道涉及到 JS,但我对此几乎一无所知。

(例如:http ://www.dylanvanheugten.nl/contact.php )


PHP

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Site Contact';
$to = 'info@dylanvanheugten.nl';
$subject = $_POST['subject'];
$human = $_POST['human'];

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

if ($_POST['submit']) {
    if ($name != '' && $email != '' && $subject != '' && $message != '') {
        if ($human == '12') {                
            if (mail ($to, $subject, $body, $from)) { 
                echo '<p>Uw bericht is verzonden.<br/> U krijgt binnen 3 werkdagen een bericht terug.</p>';
            } else { 
                echo '<p>Er is iets mis gegaan tijdens het versturen van uw bericht.<br/> Probeert u alstublieft nogmaals.</p>'; 
            } 
        } else if ($_POST['submit'] && $human != '12') {
            echo '<p>U heeft de spam preventie som foutief beantwoord.</p>';
        }
    } else {
        echo '<p>Alstublieft alle velden invullen.</p>';
    }
}

HTML

<form method="post" action="contact.php">
    <label>Naam</label>
    <input name="name" placeholder="Naam">

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

    <label>Onderwerp</label>
    <input name="subject" placeholder="Onderwerp">

    <label>Bericht</label>
    <textarea name="message" placeholder="Laat hier ook uw telefoonnummer achter als u telefonisch contact wilt."></textarea>

    <label><strong>*Spam preventie*</strong><br/>Wat is 11+1?</label>
    <input name="human" placeholder="11 + 1 =">

    <input id="submit" name="submit" type="submit" value="Verzend">
    <label><u>Alle velden zijn verplicht.</u></label>
</form>
4

6 回答 6

3

echo<script>这样的标签括起来。

echo '<script>alert("Alstublieft alle velden invullen");<script>';
于 2013-08-08T13:01:36.427 回答
2

与您可以从 PHP 打印 HTML 一样,您可以“打印”javascript。这是一个带有警报框的示例:

print("<script>window.alert('This is a javascript alert from PHP');</script>");

如果需要,您也可以将 PHP 变量放入语句中。

于 2013-08-08T13:00:33.097 回答
0

你可以简单地alert msg喜欢,

$msg='';
if ($_POST['submit']) {
    if ($name != '' && $email != '' && $subject != '' && $message != '') {
        if ($human == '12') {                
            if (mail ($to, $subject, $body, $from)) { 
                $msg='Uw bericht is verzonden.<br/> U krijgt binnen 3 werkdagen een bericht terug';
            } else { 
                $msg='Er is iets mis gegaan tijdens het versturen van uw bericht.<br/> Probeert u alstublieft nogmaals.'; 
            } 
        } else if ($_POST['submit'] && $human != '12') {
            $msg='U heeft de spam preventie som foutief beantwoord.';
        }
    } else {
        $msg='Alstublieft alle velden invullen.';
    }
    echo '<script>
             alert("'.$msg.'");
          </script>';
    // you can replace the above javscript code to any plugin like jquery ui modal box
}
于 2013-08-08T13:00:47.067 回答
0

将一些 javascript 添加到 html 标记的顶部,您可以在其中定义显示弹出窗口的方法。像这样的东西:

<script type="text/javascript">
function displayPopup()
{
 alert("Form submitted!");
}
</script>

然后在提交表单后在您的 PHP 中,只需在脚本标记中 调用方法displayPopup()方法。

你当然可以优化上面的方法,但它应该给你一个开始的地方。

于 2013-08-08T13:03:43.063 回答
0

将错误消息存储在变量中,然后将它们简单地回显到所需的 div 中。

if ($_POST['submit']) 
{
    if ($name != '' && $email != '' && $subject != '' && $message != '') 
    {
        if ($human == '12') 
        {                
            if (mail ($to, $subject, $body, $from)) 
            { 
                $message = '<p>Uw bericht is verzonden.<br/> U krijgt binnen 3 werkdagen een bericht terug.</p>';
            } else 
            { 
                $message = '<p>Er is iets mis gegaan tijdens het versturen van uw bericht.<br/> Probeert u alstublieft nogmaals.</p>'; 
            } 
        } else if ($_POST['submit'] && $human != '12') 
        {
            $message =  '<p>U heeft de spam preventie som foutief beantwoord.</p>';
        }
    } 
    else 
    {
        $message = '<p>Alstublieft alle velden invullen.</p>';
    }
}

在您的 HTML 中,您可以创建一个并在其中显示错误:

<div id="errorMessage"> <?php echo $message; ?> </div>
于 2013-08-08T13:05:35.180 回答
0

尝试使用此代码

if ($query) {
    echo "<script type='text/javascript'>alert('data Updated successfully!'); window.location.href = 'home.php';</script>";              
} else {
    echo "<script>alert('ERROR! Something Went wrong. Try Again')</script>";
}
于 2021-03-19T15:08:09.677 回答