gpt4 book ai didi

PHP:联系表单错误 undefined index 和变量

转载 作者:太空宇宙 更新时间:2023-11-04 11:53:12 25 4
gpt4 key购买 nike

请帮助解决这个问题,我尝试了所有的解决方案。我是 php 初学者,对修复 bug 了解较少。我只是复制粘贴了这段代码,现在我收到了未定义索引和变量的错误。就像这个-“注意: undefined variable :第 27 行 C:\xampp\htdocs\magpie\index1.php 中的 errName”等等....如果您有完整的工作 php 联系表单代码,那么也将其发布。提前致谢..

    <?php
if (isset($_POST["submit"])) {
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'contact test';
$to = 'example@domain.com';
$subject = 'Message from Contact Demo ';

$body ="From: $name\n E-Mail: $email\n Message:\n $message";
// Check if name has been entered
if (!isset($_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 (!isset($_POST['message'])) {
$errMessage = 'Please enter your message';
}

// If there are no errors, send the email
if (!$errName && !$errEmail && !$errMessage) {
if (mail ($to, $subject, $body, $from)) {
$result='<div class="alert alert-success">Thank You! We will be in touch.</div>';
} else {
$result='<div class="alert alert-danger">Sorry there was an error sending your message. Please try again later.</div>';
}
}
}
error_reporting (E_ALL ^ E_NOTICE);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h1 class="page-header text-center">Contact Form Example</h1>
<form class="form-horizontal" role="form" method="post" action="index1.php">
<div class="form-group">
<label for="name" class="col-sm-2 control-label">Name</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name" value="<?php echo htmlspecialchars($_POST['name']); ?>">
<?php echo "<p class='text-danger'>$errName</p>";?>
</div>
</div>
<div class="form-group">
<label for="email" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" name="email" placeholder="example@domain.com" value="<?php echo htmlspecialchars($_POST['email']); ?>">
<?php echo "<p class='text-danger'>$errEmail</p>";?>
</div>
</div>
<div class="form-group">
<label for="message" class="col-sm-2 control-label">Message</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea>
<?php echo "<p class='text-danger'>$errMessage</p>";?>
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary">
</div>
</div>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<?php echo $result; ?>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
</body>
</html>

请张贴任何有效的联系表格代码,或者如果您在上面的代码中发现错误,请张贴答案。提前致谢...我是一名 photoshop、coreldraw 和 illustrator 设计师,对 dot net 编码知之甚少,但 php 初学者。

最佳答案

该错误只是说您有一个尚 undefined variable 。例如:

//Some code over here
...
...
echo $bla;

由于 $bla 未定义且没有值 - 您将收到有关此事的通知。

在您的 HTML 表单中,您使用那些 $err 变量而不定义它们。乍一看,您会说,我定义了上述变量,例如:

$errMessage = 'Please enter your message';

但是,仔细看看,您已经在特定条件下定义了它们,例如:

if (!isset($_POST['message'])) {

因此,如果表单尚未提交 - 这些变量并未真正定义。

解决方案 1:初始值

在页面顶部,只需定义您将要使用的所有变量并设置默认/空值。

$errBla = '';
$errBla2 = '';

顺便说一句,我更愿意使用数组来表示“错误”状态。

方案二:issetisset 函数允许您检查变量是否已定义。因此,与其拥有:

<?php echo "<p class='text-danger'>$errMessage</p>";?>

和:

if (!$errName && !$errEmail && !$errMessage) {

你将拥有:

<?php echo (isset($errMessage) ? "<p class='text-danger'>$errMessage</p>" : ''; ?>

和:

if ((isset($errName) && !$errName) && (isset($errEmail) && !$errEmail) ... )

关于PHP:联系表单错误 undefined index 和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30474545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com