php 里$_POST里的变量需要单引号或双引号嘛 为什么我的
php里$_POST里的变量需要单引号或双引号嘛为什么我的<?phpinclude("config.php");if($_POST[submit]){$usrname=s...
php 里$_POST里的变量需要单引号或双引号嘛 为什么我的
<?php
include("config.php");
if($_POST[submit]){
$usrname = str_replace(" ","",$_POST[txtName]);
$sql="select * from user_list where username='$usrname'";
$query = mysql_query($sql);
$us = is_array($row=mysql_fetch_array($query));
$ps = $us?md5($_POST[txtPwd].ALL_PS) == $row[userpwd]:FALSE;
if($ps){
$_SESSION[uid] = $row[uid];
$_SESSION[user_shell]=md5($row[username].$row[userpwd].ALL_PS);
echo "success";
}else{
echo "pwd wrong";
session_destroy();
}
}
?>
Notice: Use of undefined constant submit - assumed 'submit' in D:\wamp\www\php\user.php on line 3
Notice: Undefined index: submit in D:\wamp\www\php\user.php on line 3
好像是说if($_POST[submit]){错了 我加了个单引号 就会少第一个错误 展开
<?php
include("config.php");
if($_POST[submit]){
$usrname = str_replace(" ","",$_POST[txtName]);
$sql="select * from user_list where username='$usrname'";
$query = mysql_query($sql);
$us = is_array($row=mysql_fetch_array($query));
$ps = $us?md5($_POST[txtPwd].ALL_PS) == $row[userpwd]:FALSE;
if($ps){
$_SESSION[uid] = $row[uid];
$_SESSION[user_shell]=md5($row[username].$row[userpwd].ALL_PS);
echo "success";
}else{
echo "pwd wrong";
session_destroy();
}
}
?>
Notice: Use of undefined constant submit - assumed 'submit' in D:\wamp\www\php\user.php on line 3
Notice: Undefined index: submit in D:\wamp\www\php\user.php on line 3
好像是说if($_POST[submit]){错了 我加了个单引号 就会少第一个错误 展开
5个回答
2012-04-21 · 知道合伙人软件行家
关注
展开全部
Notice: Use of undefined constant submit - assumed 'submit'
注意:使用了未定义的常量submit-假定为 'submit'
Notice: Undefined index: submit
注意:未定义的索引:submit
下面我来解释下出现这两个错误的原因:
1. Notice: Use of undefined constant submit - assumed 'submit'
出现这个错误提示的原因,其实根据NOTICE的提示也知道,PHP会把没有引号引起来的键名当作是常量去获取, 当找不到的时候, 抛出一个NOTICE, 然后再根据“常量名”生成一个字符串, 然后再讲这个字符串做为键名继续~
聪明的你一定会想到, 可能会出现如下不可预期的错误(当脚本中定义了常量,而这个常量恰好与数组键名一样时):
define('key_name' , 'laruence');//定义了一个常量
....
//省略很多行代码
$array[key_name] = 2; //变成了 $array['laruence'] = 2;
//这样的错误, 你会很郁闷吧?
明白了么? 数组中的非数字键的键名一定要有引号啊~
2. Notice: Undefined index: submit
出现这个错误的原因,据我的估计是:$_POST数组中并没有 submit 这个成员,你需要检查下传递过来的$_POST数组、页面参数的定义。
注意:使用了未定义的常量submit-假定为 'submit'
Notice: Undefined index: submit
注意:未定义的索引:submit
下面我来解释下出现这两个错误的原因:
1. Notice: Use of undefined constant submit - assumed 'submit'
出现这个错误提示的原因,其实根据NOTICE的提示也知道,PHP会把没有引号引起来的键名当作是常量去获取, 当找不到的时候, 抛出一个NOTICE, 然后再根据“常量名”生成一个字符串, 然后再讲这个字符串做为键名继续~
聪明的你一定会想到, 可能会出现如下不可预期的错误(当脚本中定义了常量,而这个常量恰好与数组键名一样时):
define('key_name' , 'laruence');//定义了一个常量
....
//省略很多行代码
$array[key_name] = 2; //变成了 $array['laruence'] = 2;
//这样的错误, 你会很郁闷吧?
明白了么? 数组中的非数字键的键名一定要有引号啊~
2. Notice: Undefined index: submit
出现这个错误的原因,据我的估计是:$_POST数组中并没有 submit 这个成员,你需要检查下传递过来的$_POST数组、页面参数的定义。
展开全部
可以不加,加了单引号性能可以快很多。因广为甩服务器不用去检查变量的类型。还有一个好处。如果你不小心用了预留变量名也不会出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用加单引号或双引号
post[ 元素name 的值]
post[ 元素name 的值]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单引号双引号均可,不加就不可!
当然,如果POST本身就在sql语句内,可以不加引号
当然,如果POST本身就在sql语句内,可以不加引号
追问
那为什么php100 62讲里 不加也可以的。?
追答
也许可以吧,但个人认为,能偷懒的就偷,不能偷懒的还是别偷!
开发程序,在尽量保证程序的运行性能的前提下,再考虑自己的省事省力!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的啥?没有下文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询