我一直在第52,53,54,55行获取Undefined变量,并且不知道如何修复它。任何帮助将不胜感激。
<table>
<form name="emailMe" id="emailMe" action="contactMe.php" method="post">
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
<tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
<tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
<tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
</table>
<p><input type="submit" name="submit" value="Submit" />
<input type="reset" value="Clear Form" /></p>
</form>
<?php
if(isset($_POST["submit"])){
$errorCount = 0;
$fName = $_POST['firstName'];
$lName = $_POST['lastName'];
$email = $_POST['email'];
$message = $_POST['message'];
答案 0 :(得分:3)
<?php print($fName); ?>
<?php print($lName); ?>
<?php print($email); ?>
<?php print($message);?>
HTML代码中的所有此类变量在使用之前尚未声明。这导致了错误。在打印之前,这些变量都没有被初始化。您可以在HTML之前放置PHP代码来初始化它们。像这个例子
if(isset($_POST["submit"]))
{
$fName = $_POST['firstName'];
}
else
{
$fName = "";
}
修改强>
喜欢这个
<?php
if(isset($_POST["submit"])){
$errorCount = 0;
$fName = $_POST['firstName'];
$lName = $_POST['lastName'];
$email = $_POST['email'];
$message = $_POST['message'];
}
else
{
$fName = "";
$lName = "";
$email = "";
$message = "";
}
?>
这需要超越你的HTML
答案 1 :(得分:0)
嘿声明<table>
内的<form>
标记
像这样:
<form name="emailMe" id="emailMe" action="contactMe.php" method="post">
<table>
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
<tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
<tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
<tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
</table>
<p><input type="submit" name="submit" value="Submit" />
<input type="reset" value="Clear Form" /></p>
</form>
答案 2 :(得分:0)
在声明变量之前使用变量。改变如下。
<?php
if(isset($_POST["submit"])){
$errorCount = 0;
$fName = $_POST['firstName'];
$lName = $_POST['lastName'];
$email = $_POST['email'];
$message = $_POST['message'];
?>
<form name="emailMe" id="emailMe" action="contactMe.php" method="post">
<table>
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10"value="<?php print($fName); ?>" /></p></td></tr>
<tr><th><p>Last Name </p></th> <td><p><input type="text" name="lastName" maxlength="25"value="<?php print($lName); ?>" /></p></td></tr>
<tr><th><p>Email </p></th> <td><p><input type="text" name="email" maxlength="50"value="<?php print($email); ?>" /></p></td></tr>
<tr><th><p>Message </p></th> <td><p><input type="text" name="message" maxlength="250"value="<?php print($message); ?>" /></p></td></tr>
</table>
<p><input type="submit" name="submit" value="Submit" />
<input type="reset" value="Clear Form" /></p>
</form>
注意:我可以看到您在表单中查看$_POST["submit"]
,如果它与您在HTML代码中使用的提交相同,即使将其更改为我的代码,您也会收到错误消息。 强>
因为在这种情况下,您使用的是未定义的变量,因为最初未提交表单。
答案 3 :(得分:0)
请从当前位置删除以下行,并将这些行放在表格标记之前。
if(isset($_POST["submit"])){
$errorCount = 0;
$fName = $_POST['firstName'];
$lName = $_POST['lastName'];
$email = $_POST['email'];
$message = $_POST['message'];
答案 4 :(得分:0)
按照以下简单步骤:
从此更改:
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10" value="<?php print($fName); ?>" /></p></td></tr>
对此:
<tr><th><p>First Name </p></th> <td><p><input type="text" name="firstName" maxlength="10" value="<?php if(isset($fname)) print($fName); ?>" /></p></td></tr>
在所有剩余步骤中重复这样的步骤&amp;你很高兴。