我不确定为什么这不起作用,它没有给我任何错误,但它不会显示结果。我只想显示3个文本字段的结果。我想要做的下一步是将数据输入数据库,然后显示它,但我想接下来会这样。谢谢。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Pword = $_POST["Pword"];
if (!isset($_POST['submit'])) { // if page is not
?>
<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>
<form method = "post" action = "<?php echo $PHP_SELF;?>">
First name<input name="Fname" type="text" maxlength="12"
/>
<br />
<br />
Last name<input name="Lname" type="text" maxlength="12"
/>
<br />
<br />
<!--Address <input name="register_address" type="text" maxlength="12"
/>
<br />
<br />-->
<!--<select name="state" value="State"></select>-->
Password<input name="Pword" type="text" maxlength="12"
/>
<br />
<br />
<!--Re-type Password<input name="register_password_confirm" type="text" maxlength="12"
/>
<br />
<br />-->
<input name="submit" type="button" value="Submit" />
</form>
<?
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
</body>
</html>
答案 0 :(得分:3)
我看到的三个问题
1 - 您的按钮不是提交按钮
变化:
<input name="submit" type="button" value="Submit" />
到
<input name="submit" type="submit" value="Submit" />
2 - 注册全局变量可能已关闭
变化:
<?php echo $PHP_SELF;?>
到
<?php echo $_SERVER['PHP_SELF'];?>
3 - 可能会关闭短暂打开的标签
变化:
<?
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
到
<?php
} else {
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
答案 1 :(得分:1)
您的提交按钮需要更改为type="submit"
,您也可以在else语句中移动变量声明以避免PHP警告:
<input name="submit" type="submit" value="Submit" />
和
<?php
} else {
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Pword = $_POST["Pword"];
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
最后,我会将if
语句中的html数量减少到最低限度,如果您将来更改条件的处理方式,这可能会导致冲突:
<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>
<?php
if (!isset($_POST['submit'])) { // if page is not
?>
<form method = "post" action = "<?php echo $_SERVER['PHP_SELF'];?>">
First name<input name="Fname" type="text" maxlength="12" /><br /><br />
Last name<input name="Lname" type="text" maxlength="12" /><br /><br />
<!--Address <input name="register_address" type="text" maxlength="12" /> <br /> <br />-->
<!--<select name="state" value="State"></select>-->
Password<input name="Pword" type="text" maxlength="12" /><br /><br />
<!--Re-type Password<input name="register_password_confirm" type="text" maxlength="12" /><br /><br />-->
<input name="submit" type="submit" value="Submit" />
</form>
<?php
} else {
$Fname = $_POST["Fname"];
$Lname = $_POST["Lname"];
$Pword = $_POST["Pword"];
echo "Hello, ".$Fname." ".$Lname.".<br />";
echo "Your Password is, " .$Pword.".<br />";
}
?>
</body>
</html>
答案 2 :(得分:0)
尝试添加
<input type="hidden" name="submitted" value="1" />
并检查
$_POST['submitted'] == 1
答案 3 :(得分:0)
尝试回显这样的结果:
echo "Hello, $Fname $Lname.<br />
Your Password is, $Pword.<br />";
我忘了补充一点,当使用双引号回显时,你不需要变量之后的点。