[已解决] 感谢所有回复的人。
我有一个PHP脚本,在用户提交联系表单后运行。 此脚本在左上角显示一条消息,说明它是否正常工作或是否遇到问题。
现在我的问题是,如何将这些消息放入弹出框? 我知道有JS参与,但我几乎不知道。
(例如:http://www.dylanvanheugten.nl/contact.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>';
}
}
<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>
答案 0 :(得分:3)
使用echo
这样的<script>
标记封闭您的echo '<script>alert("Alstublieft alle velden invullen");<script>';
。
{{1}}
答案 1 :(得分:1)
就像你可以从PHP打印HTML一样,你可以'打印'javascript。这是一个带警告框的示例:
print("<script>window.alert('This is a javascript alert from PHP');</script>");
如果需要,您也可以将PHP变量放在语句中。
答案 2 :(得分: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
}
答案 3 :(得分:0)
在html标记的顶部添加一些javascript,您可以在其中定义显示弹出窗口的方法。像这样:
<script type="text/javascript">
function displayPopup()
{
alert("Form submitted!");
}
</script>
然后在PHP中提交表单时,只需在脚本标记中调用方法 displayPopup()方法。
你当然可以优化上面的方法,但它应该给你一个开始的地方。
答案 4 :(得分: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>
答案 5 :(得分: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>";
}