【发布时间】:2013-12-29 23:48:40
【问题描述】:
我一直在编写一个简单的脚本来学习更多关于 PHP 的知识。为此,我正在尝试创建一个表单处理程序,该处理程序将回显哪个用户的名称较旧,我感到非常困惑,希望你们中的某个人可以看看并给我一些关于我是什么的简单指示做错了。理想情况下,$result 将呼应年龄较大的人的姓名。
我的提交表单 (0001Form.php)
<html lang="en">
<head>
<meta charset="utf-8">
<title>Test | Form</title>
<meta name="description" content="php tutorial stuff">
<meta name="author" content="php tutorial stuff">
<link rel="stylesheet" href="css/styles.css?v=1.0">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<script src="js/scripts.js"></script>
<form action="0001FormHandler.php" method="post">
<p> Name 1: <input type="text" name="userNameA" /> </p>
<p>Age 1: <input type="text" name="userAgeA"/></p>
<p>Your name 2: <input type="text" name="userNameB" /></p>
<p>Your age 2: <input type="text" name="userAgeB" /></p>
<p><input type="submit" /></p>
</form>
</body>
</html>
我第一次尝试表单处理程序 (0001FormHandler.php):
<?php
//Assign ages to vars for comparison from from
$varA == userAgeA;
$varB == userAgeB;
//compare vars
if ($varA >= $varB)
{$result == UserAgeA;}
else ($result == userAgeB);
//If A is older then B, use A name, else B
if ($result == UserAgeA)
{$result = userNameA;}
else ($result = userNameB);
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Welcome <?php echo $result;?></title>
<meta name="description" content="php tutorial stuff">
<meta name="author" content="php tutorial stuff">
<link rel="stylesheet" href="css/styles.css?v=1.0">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<script src="js/scripts.js"></script>
<p>
Hello <?php echo htmlspecialchars($_POST['userNameA']); ?>.
You are <?php echo (int)$_POST['userAgeB']; ?> years old.
Hi <?php echo htmlspecialchars($_POST['userNameB']); ?>.
You are <?php echo (int)$_POST['userAgeB']; ?> years old.
</p>
</body>
</html>
我第二次尝试表单处理程序 (0001FormHandler.php):
<?php
//asign values to evaluate
$varA = ($_POST[userAgeA]);
$varB = ($_POST[userAgeB]);
//If A is Greater then B, then a else b
if ($varA >= $varB)
{$result == UserAgeA;}
else ($result == userAgeB);
//if A then UserA else User B
if ($result == UserAgeA)
{$result = userNameA;}
else ($result = userNameB);
?>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
//Echo result name in title!
<title>Welcome <?php echo $result;?></title>
<meta name="description" content="php tutorial stuff">
<meta name="author" content="php tutorial stuff">
<link rel="stylesheet" href="css/styles.css?v=1.0">
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<script src="js/scripts.js"></script>
<p>
Hello <?php echo htmlspecialchars($_POST['userNameA']); ?>.
You are <?php echo (int)$_POST['userAgeB']; ?> years old.
Hi <?php echo htmlspecialchars($_POST['userNameB']); ?>.
You are <?php echo (int)$_POST['userAgeB']; ?> years old.
</p>
</body>
</html>
【问题讨论】:
-
FIX 这个
$varA == userAgeA;PHP 中的赋值是$varA = userAgeA;只有一个等号。执行此操作,编辑您的代码,然后再次询问。 -
在表单句柄的第一行中,要从“userAgeA”表单控件获取值,请使用 $_GET 或 $_POST。将值分配给 $varA 只使用一个等号。
-
基于我有限的理解,我尽可能地尝试修改。
-
根据下面的评论再次对其进行了重新修订,现在可以使用了。很有教育意义的练习。谢谢。
-
我已回滚您的编辑;请不要修改您的问题,使其对遇到相同问题的其他人毫无用处。
标签: php forms variables compare