注意:未定义索引:变量
Notice: Undefined index: variable
我正在尝试构建以下表单:
<form method="post" action="Index.php">
<label>Name </label>
<input name="name" placeholder="Type Here"><br />
</br>
<label>Email </label>
<input name="email" placeholder="Type Here">
<br /></br>
<label style="display:block;">I need some information regarding:</label>
<textarea name="message" placeholder="Type Here"></textarea>
<br />
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<br />
<input id="submit" name="submit" type="submit" value="Submit" style="height:30px;">
</form>
PHP代码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: TangledDemo';
$to = 'hello@emailaddress.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
if ($_POST['submit']) {
if ($name != '' && $email != '') {
if ($human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
} else {
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
但不断出现这些错误:
Notice: Undefined index: name in C:\xampp\htdocs\bet4info\Index.php on
line 19
Notice: Undefined index: email in C:\xampp\htdocs\bet4info\Index.php
on line 20
Notice: Undefined index: message in C:\xampp\htdocs\bet4info\Index.php
on line 21
Notice: Undefined index: human in C:\xampp\htdocs\bet4info\Index.php
on line 25
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php
on line 29
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php
on line 35
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php
on line 38
为什么会这样?
而不是
$name = $_POST['name'];
if ($_POST['submit'] && $human == '4') {
使用
$name = isset($_POST['name']) ? $_POST['name'] : '';
if (isset($_POST['submit']) && $human == '4') {
进入这个,首先你必须使用isset
函数检查:
if(isset($_POST['name']) && isset($_POST['email']) &&....)
{
// If isset then assign data to variable $name = $_POST['name'],...
}
else
{
// Redirect to the error page
}
像这样,所有的变量都一样
我正在尝试构建以下表单:
<form method="post" action="Index.php">
<label>Name </label>
<input name="name" placeholder="Type Here"><br />
</br>
<label>Email </label>
<input name="email" placeholder="Type Here">
<br /></br>
<label style="display:block;">I need some information regarding:</label>
<textarea name="message" placeholder="Type Here"></textarea>
<br />
<label>*What is 2+2? (Anti-spam)</label>
<input name="human" placeholder="Type Here">
<br />
<input id="submit" name="submit" type="submit" value="Submit" style="height:30px;">
</form>
PHP代码:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: TangledDemo';
$to = 'hello@emailaddress.com';
$subject = 'Hello';
$human = $_POST['human'];
$body = "From: $name\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit'] && $human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
if ($_POST['submit']) {
if ($name != '' && $email != '') {
if ($human == '4') {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
} else if ($_POST['submit'] && $human != '4') {
echo '<p>You answered the anti-spam question incorrectly!</p>';
}
} else {
echo '<p>You need to fill in all required fields!!</p>';
}
}
?>
但不断出现这些错误:
Notice: Undefined index: name in C:\xampp\htdocs\bet4info\Index.php on line 19
Notice: Undefined index: email in C:\xampp\htdocs\bet4info\Index.php on line 20
Notice: Undefined index: message in C:\xampp\htdocs\bet4info\Index.php on line 21
Notice: Undefined index: human in C:\xampp\htdocs\bet4info\Index.php on line 25
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php on line 29
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php on line 35
Notice: Undefined index: submit in C:\xampp\htdocs\bet4info\Index.php on line 38
为什么会这样?
而不是
$name = $_POST['name'];
if ($_POST['submit'] && $human == '4') {
使用
$name = isset($_POST['name']) ? $_POST['name'] : '';
if (isset($_POST['submit']) && $human == '4') {
进入这个,首先你必须使用isset
函数检查:
if(isset($_POST['name']) && isset($_POST['email']) &&....)
{
// If isset then assign data to variable $name = $_POST['name'],...
}
else
{
// Redirect to the error page
}
像这样,所有的变量都一样