Php 未定义索引:名称
加载表单时,我不断收到以下消息:Php 未定义索引:名称,php,css,html,Php,Css,Html,加载表单时,我不断收到以下消息: 注意:第267行的C:\xampp\htdocs\main.php中的未定义索引:name 注意:未定义索引:第275行C:\xampp\htdocs\main.php中的电子邮件 注意:未定义的索引:第281行C:\xampp\htdocs\main.php中的消息 为了解决这个问题,我看了很多例子,但由于某种原因,我似乎找不到解决办法。有什么想法吗 <?php if (isset($_POST["submit"])) { $name = $_
注意:第267行的C:\xampp\htdocs\main.php中的未定义索引:name
注意:未定义索引:第275行C:\xampp\htdocs\main.php中的电子邮件
注意:未定义的索引:第281行C:\xampp\htdocs\main.php中的消息
为了解决这个问题,我看了很多例子,但由于某种原因,我似乎找不到解决办法。有什么想法吗
<?php
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$human = intval($_POST['human']);
$from = 'enquiry';
$to = 'dgdrd@live.com';
$subject = 'Message from Visitor';
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
// Check if name has been entered
if (!$_POST['name']) {
$errName = 'Please enter your name';
}
// Check if email has been entered and is valid
if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$errEmail = 'Please enter a valid email address';
}
//Check if message has been entered
if (!$_POST['message']) {
$errMessage = 'Please enter your message';
}
// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage && !$errHuman) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">We will get in tocuh soon.</div>';
} else {
$result='<div class="alert alert-danger">Error! Try again later.</div>';
}
}
}
?>
名称
它基本上告诉您您的$\u POST
不包含您得到的任何键。在从$\u POST
$name = (isset($_POST['name']) && !empty($_POST['name'])) ? $_POST['name'] : "" ;
它主要检查$\u POST['name']
是否为空。有关更多信息,请使用PHPMailer发送邮件,否则您将遇到一些问题,例如您的邮件总是发送到垃圾邮件等。可能重复//检查此行后是否输入了名称您已经创建了$name变量为什么仍然使用$\u POST['name']?尝试将其替换为$name。如下所示://如果(!$name){$errName='请输入您的姓名';}您可以更新您的html代码吗?我认为错误在你的html方面没有问题。添加。将html代码替换为$name。您确实看到错误在第267行,对吗?找出哪一行,我打赌是html代码中的那一行。当你第一次打开网页时,$\u POST肯定没有被设置,这就是你遇到错误的原因。我想在你提交应用程序后,错误就消失了。如果你真的想摆脱这个错误,你需要在你的If(isset($_POST[“submit”])语句之外创建所有的变量作为空变量$name=“”;否则,即使您将html代码替换为$name,它告诉您未定义的变量$name。
$name = (isset($_POST['name']) && !empty($_POST['name'])) ? $_POST['name'] : "" ;