
PHP代码为什么提示有错?
下面是我的代码,我标注了←箭头的哪一行,提示我未定义,但是我输入值还是不行?请问什么情况?<?php$link=mysql_connect("localhost","ro...
下面是我的代码,我标注了←箭头的哪一行,提示我未定义,但是我输入值还是不行?请问什么情况?
<?php
$link = mysql_connect("localhost","root","")or die("数据库连接失败");
mysql_select_db('chaxun');
mysql_set_charset('utf8');
$input=$_POST['$in']; //←←←←←←←←←←←←←←
$num= substr($input,0,3);
//$query="SELECT Resource,service,num FROM chaxun WHERE num={$num}";
//$go=mysql_query($query);
?>
<body>
<div class="backgroung">
输入你要查询的号码
</div>
<div class="bottom">
<form action="" method="post">
<input type="text" class="text" name="in">
<input type="submit" class="sub" name="sub" value="">
<input type="reset" class="reset" name="reset" value="">
</form>
</div> 展开
<?php
$link = mysql_connect("localhost","root","")or die("数据库连接失败");
mysql_select_db('chaxun');
mysql_set_charset('utf8');
$input=$_POST['$in']; //←←←←←←←←←←←←←←
$num= substr($input,0,3);
//$query="SELECT Resource,service,num FROM chaxun WHERE num={$num}";
//$go=mysql_query($query);
?>
<body>
<div class="backgroung">
输入你要查询的号码
</div>
<div class="bottom">
<form action="" method="post">
<input type="text" class="text" name="in">
<input type="submit" class="sub" name="sub" value="">
<input type="reset" class="reset" name="reset" value="">
</form>
</div> 展开
3个回答
展开全部
你好, 你可以这样试下.(首先先说下我认为什么会报错: 因为 $in 是未定义的,所以会报错;还有当你改变成 $_POST['in'] 为什么还会报错呢,因为 $_POST['in'] 也是还未存在的,为什么呢?因为你还没有提交数据,虽然表单和接收表单值的处理程序在同一个页面,可是因为你在一开始打开页面时,你是还没有提交数据的,所以 $_POST 数组中就不存在 $_POST['in'],只有当你提交了数据之后, $_POST['in'] 才存在的)
我觉得这样做可以解决: 因为 $_POST['in'] 在一开始是不存在的,所以你可以先判断下,然后再接收数据。
你 标注箭头的那一行可以这样写: $input=isset($_POST['in'])?$_POST['in']:''; 这个写法你应该可以理解吧. 也就是说, 利用 isset() 先判断 $_POST['in'] 存不存在,如果存在,就 把 $_POST['in'] 的值赋给 $input ,如果不存在,就赋空值给 $input ; 这样就不会报错了;
当你提交数据时, $input 就能接收你输入的值了。
希望能帮到你,谢谢!
我觉得这样做可以解决: 因为 $_POST['in'] 在一开始是不存在的,所以你可以先判断下,然后再接收数据。
你 标注箭头的那一行可以这样写: $input=isset($_POST['in'])?$_POST['in']:''; 这个写法你应该可以理解吧. 也就是说, 利用 isset() 先判断 $_POST['in'] 存不存在,如果存在,就 把 $_POST['in'] 的值赋给 $input ,如果不存在,就赋空值给 $input ; 这样就不会报错了;
当你提交数据时, $input 就能接收你输入的值了。
希望能帮到你,谢谢!
展开全部
$input=$_POST['$in'];//这个是未定义的
//应该为:
$input=$_POST['in'];
追问
改了还是错一样提示错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥 啊$这个符号是变量定义的符号啊。你加了“$”,相当于这个是变量 ,变量怎么能用单引号啊。
改发 1, $input=$_POST[$in];
改法2 $input=$_POST['in'];
改发 1, $input=$_POST[$in];
改法2 $input=$_POST['in'];
更多追问追答
追问
改了还是错一样提示错误
追答
你是按照改法1改了吧。改法1里有个问题,你用的$in 之前没有定义。换改法2 ,如果不行 action 指定到这个处理页面试试。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询