在PHP在,怎么把表单中的数据作为参数传递给自定义函数,如:在A.php中输入两个数和一个运算符,

然后提交给B.php,在B页面中定义一个函数,接收用户输入的两个数和运算符,进行运算后把结果返回

运行时出现错误:
Notice: Undefined index: num1 inD:\myweb\phplx\jishuan.phpon line21

A.php 代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>计算机加减乘除</title>
</head>
<body>
<form action="funcs.php" method="post" name="form_js">
<span>请输入第一个数:</span><input type="text" name="num1" size="20" /><br /><br />
<span>请输入第二个数:</span><input type="text" name="num2" size="20" /><br /><br />
<span>请选择运算符号:</span><select name="oper">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select><br /><br />
<input type="submit" value="计算结果" /><br /><br />
<?php
require_once 'funcs.php';
$num1=$_REQUEST["num1"];
$num2=$_REQUEST["num2"];
$oper=$_REQUEST["oper"];

echo '计算结果是:'.jishuan($num1,$num2,$oper);

?>
</body>
</html>

B.php 代码

<?php
//function 定义一个函数jishuan()
function jishuan(&$num1,&$num2,&$oper)
{

$res=0;
switch($oper)
{
case "+":
$res=$num1+$num2;
break;
case "-":
$res=$num1-$num2;
break;
case "*":
$res=$num1*$num2;
break;
case "/":
$res=$num1/$num2;
break;
default:
echo '运算符错误';
}
//return 返回计算结果
return $res;
}
?>

第1个回答  2013-05-22

你不能提交给funcs.php,直接提交给本页面就可以,将a.php的代码改一下,如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>计算机加减乘除</title>
</head>
<body>
<form action="" method="post" name="form_js">
<span>请输入第一个数:</span><input type="text" name="num1" size="20" /><br /><br />
<span>请输入第二个数:</span><input type="text" name="num2" size="20" /><br /><br />
<span>请选择运算符号:</span><select name="oper">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select><br /><br />
<input name="submit" type="submit" value="计算结果" /><br /><br />
<?php
if(isset($_POST['submit']) && $_POST['submit'])
{
require_once 'funcs.php';
$num1=$_REQUEST["num1"];
$num2=$_REQUEST["num2"];
$oper=$_REQUEST["oper"];
echo '计算结果是:'.jishuan($num1,$num2,$oper);
}
?>
</body>
</html>

追问

谢谢这位大哥对小弟的关注,如果直接提交给本页面一切正常,但是B页面就是一个函数,假如有多个页面需要调用这个函数,而且参数需要从表单中获取传递该如何解决呢?还请大哥指教!

追答

你要明白,你那个就是写的一个函数,
函数,不应该自己去接收表单或问号传递过来的参数,而是在调用函数时传递过来的,

如果函数自己接表单参数,那么你函数里接收的这些值还有什么意义呢?何必限制了呢?
function jishuan(&$num1,&$num2,&$oper)

追问

谢谢指教!

谢谢指教!

本回答被网友采纳
第2个回答  2013-05-22
在php中想调用方法,这样写是不对的。
需要在a.php 包含b.php :include_once('b.php');

然后用$this->jishuan($num1,$num2,$oper);

form表单的action为空就可以,应为需要提交到当前页面

我看你这种写法还是面向过程呢,现在都用面向对象了,赶紧学学吧本回答被提问者采纳

在PHP在,怎么把表单中的数据作为参数传递给自定义函数,如:在A.php...
你不能提交给funcs.php,直接提交给本页面就可以,将a.php的代码改一下,如下:<html><head><meta http-equiv="Content-Type" content="text\/html; charset=utf-8" \/><title>计算机加减乘除<\/title><\/head><body><form action="" method="post" name="form_js"><span>请输入第一个数:<\/...

写一个PHP自定义函数,功能是求两个整数的和
public function he($a,$b){ if(!empty($a)&&!empty($b)){ $c = $a + $b; } return $c;}$a = 1;$b = 2;

关于php如何传递数据
3.使用表单来传递 表单内的属性action直接指定此表单内容传递到哪个页面。method指明了传递的方式。post代表使用消息传递,就像我们发短信一样。4.使用超链接传递参数 我们上网的很多操作都是点击超链接在网页之间跳来跳去。点的同时同样可以传递参数。

PHP中 怎么样实现从一个文本框中读取数值然后在另一个文本框中...
可以使用POST也可以使用GET方式进行传递,比如 <form action="" method="post"> <input type='text' name="username"> <input type="submit"> <\/form> <?php if(isset($_POST['username'])){ username = $_POST['username'];} echo '<input type="text" value="$username">';?> 大体...

在php怎么实现通过表单获取一些信息的输入这种功能?
<form method="post" action=""> <input type="text" name="name" \/> <\/form> <?php name=$_POST['name'];\/\/通过post方式获取 <form>表单中的 name值 echo $name; \/\/输出获取到的name值。?> 使用方法,新建一个 .php的文件,将该代码拷贝进去,然后放出php环境,访问该文件即可。...

如何php下拉菜单显示数据库记录,并把选中的值传递给另一个页面使用?
php echo $colum["time"];?>"><?php echo $colum["time"];?><\/option>; <?php}?><!--下面是js代码 对fun函数进行操作--><script type="text\/javascript"> function fun(obj){ var form = document.getElementById("form");\/\/选中你的表单 form.submit(); \/\/执行提交...

PHP html的select表单,如果用户选择一个option,然后怎么加上自定义的...
<form action="" method="post"> <select name="district" onchange='toblock()'> <option value="futian">福田区<\/option> <option value="luohu">罗湖区<\/option> <option value="nanshan">南山区<\/option> <option value="other">深圳市以外<\/option> <\/select> <input type='text' ...

php怎么从表单接收数据??
<\/form> <\/body> <\/html> 两个文件:aa.php <?php username=$_GET['username'];pwd=$_GET['password'];echo "用户名:".$username;echo "密码:".$pwd;?> bb.html <html> <head><title><\/title><\/head> <body> <form action="aa.php" method="get"> 用户名: <input type="...

PHP如何把表单内容添加进数据库~~~急~~~
首先 insert_sql="insert into meeting_info(name,hostman,address,date,time,remark)values('$name','$hostman','$address','$date','$time','$remark')";在这个后边输出insert_sql 看是否有值 要是有值的话 直接拿到数据库去添加下试试 如果添加失败 说明你的sql语句有问题 添加...

关于php如何传递数据
你的登录页面向admin.php传值这个简单,直接用form表单就可以搞定了;验证的页面完全可以和dir.php合并嘛,登录的话都是用session或cookie完成的,反正你的每个页面都必须要做这一步,直接合并就OK 另外你的dir.php就是一个正常了网页了,也就是用户需要浏览的页面对吧?那你点了对应的链接就链接不同...

相似回答