【发布时间】:2016-03-31 13:31:22
【问题描述】:
我的contact.php确实有点问题:(
我的页面需要一个联系表格(非常简单,只需姓名、电子邮件和消息)。 它工作得很好,但即使输入为空,它也会发送消息。我的输入确实有“必需”,但它似乎不起作用。我的php技能不是那么好。但是你肯定明白问题出在哪里。
如果有空字段,表单不应发送消息并显示警报。
我当前的代码:
HTML
<form method="post" id="myform" action="contact.php">
<div class="field half first">
<label for="name">Ihr Name</label>
<input type="text" name="name" id="name" required="required">
</div>
<div class="field half">
<label for="email">Ihre E-Mail</label>
<input type="text" name="email" id="email" required="required">
</div>
<div class="field">
<label for="message">Ihre Nachricht</label>
<textarea name="message" id="message" rows="5" required="required"></textarea>
</div>
<ul class="actions">
<li>
<a href="" class="button submit">Senden</a>
</li>
</ul>
</form>
contact.php
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_message = $_POST['message'];
$mail_to = 'mail@gmail.com';
$subject = 'Nachricht von '.$field_name;
$body_message = 'Von: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Nachricht: '.$field_message;
$headers = 'Von: '.$field_email."\r\n";
$headers .= 'Antworte an: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Ich bedanke mich für Ihre Nachricht. Bald werde ich Sie kontaktieren./ Thank you for your message.');
window.location = 'http://';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Senden fehlgeschlagen./ Could not send the message');
window.location = 'http://';
</script>
<?php
}
?>
任何想法,如何解决这个小问题? :(
【问题讨论】:
-
简单:
if(!)=> php.net/manual/en/function.empty.php -
另外,将 html 锚点更改为按钮
标签: php forms validation contact-form