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>
展开
 我来答
YX我爱吃绿豆饼
2014-01-05 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:98
采纳率:0%
帮助的人:102万
展开全部
你好, 你可以这样试下.(首先先说下我认为什么会报错: 因为 $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 就能接收你输入的值了。
希望能帮到你,谢谢!
nicetimext
2014-01-04 · 超过33用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:40.7万
展开全部
$input=$_POST['$in'];//这个是未定义的
//应该为:
$input=$_POST['in'];
追问
改了还是错一样提示错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
婉丽还素净的仓鼠
2014-01-04 · TA获得超过800个赞
知道小有建树答主
回答量:1154
采纳率:16%
帮助的人:331万
展开全部
哥 啊$这个符号是变量定义的符号啊。你加了“$”,相当于这个是变量 ,变量怎么能用单引号啊。
改发 1, $input=$_POST[$in];
改法2 $input=$_POST['in'];
更多追问追答
追问
改了还是错一样提示错误
追答
你是按照改法1改了吧。改法1里有个问题,你用的$in 之前没有定义。换改法2  ,如果不行  action 指定到这个处理页面试试。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式