先一个小案例简单说明一下,从html页面提交的数据如何传给另一个php文件。
先是一个简单的html页面:
<html>
<body>
<form action="test1.php" method="post">
用户名:<input type="text" name="username">
密码: <input type="password" name="pwd">
<input type="submit" name="submit" value="ok">
</form>
</body>
</html>
然后是php页面的接收数据。
echo"<hr>";
echo '通过预定义变量获取表单提交值<p>';
print_r($_POST);
echo "<br/>";
echo '通过预定义变量获取表单提交指定值<p>';
echo $_POST['pwd'].=$_POST['username'];//用了 “.=”这个字符串追加的赋值运算符 */
通过这个小案例可以看出,表单将值以数组的形式传递过来,并且以name属性为下标,(所以没有name的项是获取不到值的),并且我们可以通过下标取到对应的值。
================================================================================================================================
下面是应用这个功能。做一个简单的计算器:
html页面:
<?php
if(isset($_GET["n"]))
{
$num1=$_GET["n1"];
$num2=$_GET["n2"];
$option=$_GET["op"];
$num=$_GET["n"];
}
?>
<html>
<head>
<script>
//加上验证后期各位自己完善吧
function check(){
var a=document.getElementById("op1").value;
if(isNaN(a))
{
return false;
}
}
</script>
</head>
<body>
<form action="JS.php" method="get">
第一个数:<input id="op1" name="op1" type="text" value="<?php
if(isset($_GET["op"])){echo $num1;}?>"/>
运算符: <select name="option">
<option value="0">请选择运算符:</option>
<option value="+" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]==" "?"selected":"");
}
?>>+</option>
<option value="-" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="-"?"selected":"");
}
?>>-</option>
<option value="*" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="*"?"selected":"");
}
?>>*</option>
<option value="/" <?php
if(isset($_GET["op"]))
{
echo ($_GET["op"]=="/"?"selected":"");
}
?>>/</option>
</select>
第二个数:<input name="op2" type="text" value="<?php
if(isset($_GET["op"])){echo $num2;}?>"/>
<input name="btnok" type="submit" οnclick="return check()" value="GET_ok"/>
<br/>
运算结果:<input type='text' <?php
if(isset($_GET["op"]))
{
if($_GET["op"]==" ")
{
echo "value=".$num1."+".$num2."=".$num;
}
else{
echo "value=".$num1.$option.$num2."=".$num;
}
}
?>>
</form>
</body>
</html>
在另一php页面实现计算功能:
<?php
// print_r($_GET);
// isset()检测变量是否被设置
if(isset($_GET['btnok']))
{
$num1=$_GET['op1'];
$op=$_GET['option'];
$num2=$_GET['op2'];
switch ($op)
{
case '+' :
$num=$num1+$num2;
break;
case '-' :
$num=$num1-$num2;
break;
case '*' :
$num=$num1*$num2;
break;
case '/' :
$num=$num1/$num2;
break;
}
header("location:jisuanqi.php?n1={$num1}&n2={$num2}&op={$op}&n={$num}");
//header("location:重定向页面地址");重定向函数。
}
else{
echo"未提交运算数";
}
?>
重定向函数模仿get传参的方式,再将计算结果返回页面中。
特殊说明:不知道为什么加号“+”会被解析为空格,试了很多次,只能无奈选择在加号的判断那里写成,判断符号是空格了/