php提交表单的时候报错, Undefined variable: username
<?php/*checkwhetherthepostdataisempty*/if(!empty($_POST["username"])){$username=$_POS...
<?php
/* check whether the post data is empty */
if(!empty($_POST["username"]))
{
$username = $_POST["username"];
}
if(!empty($_POST["password"]))
{
$password = $_POST["password"];
}
if(!empty($_POST["repassword"]))
{
$repassword = $_POST["repassword"];
}
$sql_insert = <<<EOF
insert into users values("","$username","$password","$repassword");
EOF;
$result=mysql_query($sql_insert);
if($result){
echo "注册成功";
}else{
echo "注册失败";
}
?>
Notice: Undefined variable: username in C:\xampp\htdocs\hotel\register.php on line 20
Notice: Undefined variable: password in C:\xampp\htdocs\hotel\register.php on line 20
Notice: Undefined variable: repassword in C:\xampp\htdocs\hotel\register.php on line 20 展开
/* check whether the post data is empty */
if(!empty($_POST["username"]))
{
$username = $_POST["username"];
}
if(!empty($_POST["password"]))
{
$password = $_POST["password"];
}
if(!empty($_POST["repassword"]))
{
$repassword = $_POST["repassword"];
}
$sql_insert = <<<EOF
insert into users values("","$username","$password","$repassword");
EOF;
$result=mysql_query($sql_insert);
if($result){
echo "注册成功";
}else{
echo "注册失败";
}
?>
Notice: Undefined variable: username in C:\xampp\htdocs\hotel\register.php on line 20
Notice: Undefined variable: password in C:\xampp\htdocs\hotel\register.php on line 20
Notice: Undefined variable: repassword in C:\xampp\htdocs\hotel\register.php on line 20 展开
3个回答
展开全部
//你的问题主要是表单提交的数据为空时并未进行变量赋值,以下是改进代码,供参考
$username = $_POST["username"]; //获取用户名
$password = $_POST["password"]; //获取密码
$repassword = $_POST["repassword"]; //获取确认密码
//PS:密码为啥不用md5加密下?
//这些判断比较毛糙,请根据实际做进一步改写 PS:前台也加上JS表单验证
if(empty($username)){
echo "用户名不能为空!"; //用户名为空直接退出执行
//echo "<script>alert('用户名不能为空');history.back();</"."script>"; //用户名为空直接退出执行
exit;
}
if(empty($password)){
echo "密码不能为空"; //密码为空直接退出执行
//echo "<script>alert('密码不能为空');history.back();</"."script>"; //密码为空直接退出执行
exit;
}
if(empty($repassword) || $password!=$repassword){
echo "两次密码输入不一致"; //确认密码为空或不等于密码,则提示并退出执行
//echo "<script>alert('两次密码输入不一致');history.back();</"."script>"; //确认密码为空或不等于密码,则提示并退出执行
exit;
}
//PS:你的这句sql语句有问题吧? 参考语句
//$sql_insert = "insert into users(name,pass) values('$username','$password')";
//PS:用户ID一般设置为主键且自动增加,确认密码主要是为了防止用户输错密码而忘记,一般不参与入库
$sql_insert = <<<EOF
insert into users values("","$username","$password","$repassword");
EOF;
$result=mysql_query($sql_insert);
if($result){
echo "注册成功";
}else{
echo "注册失败";
}
展开全部
你判断空是对的,但是判断完空后,$username = $_POST["username"];这个就不会执行了。
也就是说你传了空值你的函数就会报错。
也就是说你传了空值你的函数就会报错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$name=$_POST['username'];
$password=md5($_POST['password']);
$repass=$_POST['repassword'];
if(!$name) {
echo "<script>alert('用户名不能为空');window.history.back();</script>";
}
if(!$password) {
echo "<script>alert('密码不能为空');window.history.back();</script>";
}
那你这样获值 判断,再插入。再不行 就是你sql语句写错
$password=md5($_POST['password']);
$repass=$_POST['repassword'];
if(!$name) {
echo "<script>alert('用户名不能为空');window.history.back();</script>";
}
if(!$password) {
echo "<script>alert('密码不能为空');window.history.back();</script>";
}
那你这样获值 判断,再插入。再不行 就是你sql语句写错
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询