<?php session_start();
header("Cache-control: private"); ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<?php 
if($_POST["userid"]=='' or $_POST["pass"]=='' or $_POST["textfield1"]=='' or $_POST["textfield5"]=='' or $_POST["textfield3"]=='')
{
echo "<script language=javascript> 
alert( \"用户名密码手机QQ不能为空\"  );history.go(-1);
</script>";
exit;}if($_POST["pass"]!=$_POST["textfield1"])    
   {
echo "<script language=javascript> 
alert( \"密码与密码验证不符\"  );history.go(-1);
</script>"; exit;
 }
 if(!ereg("^[0-9]+$",   $_POST['userid']))    
   {
echo "<script language=javascript> 
alert( \"ID为数字请重新输入\"  );history.go(-1);
</script>";
exit;
}
if(!ereg("^[0-9]+$",   $_POST['textfield5']))   {
echo "<script language=javascript> 
alert( \"手机为数字请重新输入\"  );history.go(-1);
</script>";
exit;
}
 if(!ereg("^[0-9]+$",   $_POST['textfield3']))    
   {
echo "<script language=javascript> 
alert( \"QQ为数字请重新输入\"  );history.go(-1);
</script>";
exit;
} $length = strlen($userid);    //计算有多少个字符
    if( $length < 5 or $length > 11 )                  //如果字符数大于100

{
echo "<script language=javascript> 
alert( \"ID为5-11位数字,请重新输入!!\"  );history.go(-1);
</script>";
exit;
}
$length = strlen($textfield5);    //计算有多少个字符
    if($length !=11)                  //如果字符数大于100

{
echo "<script language=javascript> 
alert( \"手机为11位数字,请重新输入!!\"  );history.go(-1);
</script>";
exit;
}
$length = strlen($pass);    //计算有多少个字符
    if($length <6 )                  //如果字符数大于100

{
echo "<script language=javascript> 
alert( \"密码大于6位!!\"  );history.go(-1);
</script>";
exit;
}
   ?><?php
$con = mysql_connect("localhost","root","123456");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }mysql_select_db("test", $con);$sql="INSERT INTO user (id, pass,xb,sr,QQ,tel,maile,cs)
VALUES
('$_POST[userid]','$_POST[pass]','$_POST[radiobutton]','$_POST[textfield2]','$_POST[textfield3]','$_POST[textfield5]','$_POST[textfield4]','$_POST[textfield]')";if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
  
echo "<script language=javascript> 
alert( \"注册成功!!\"  );
location.href = \"index.php\"
</script>";mysql_close($con)?></body>
</html>空间测试时ID输入几位都提示 ID为5-11位数字,请重新输入!!  本地测试无问题 请教原因

解决方案 »

  1.   

    哪来的$userid啊?用$_POST["userid"]啊,其它提交项也是如此。
      

  2.   


    <?php session_start();
    header("Cache-control: private"); ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档 </title>
    </head><body>
    <?php
    $userid=$_POST["userid"];
    $pass=$_POST["pass"];
    $textfield1=$_POST["textfield1"];
    $textfield5=$_POST["textfield5"];
    $textfield3=$_POST["textfield3"];if(empty($userid) or empty($pass) or empty($textfield1) or empty($textfield5) or empty($textfield3)){
    echo " <script language=javascript>alert( \"用户名密码手机QQ不能为空\"  );history.go(-1);</script>";
    exit;}if($_POST["pass"]!=$_POST["textfield1"])   
      {
    echo " <script language=javascript>
    alert( \"密码与密码验证不符\"  );
    history.go(-1);
    </script>";
    exit;
    }if(!ereg("^[0-9]+$",  $_POST['userid'])) {
    echo " <script language=javascript>
    alert( \"ID为数字请重新输入\"  );
    history.go(-1);
    </script>";
    exit;
    }if(!ereg("^[0-9]+$",  $_POST['textfield5']))  {
    echo " <script language=javascript>
    alert( \"手机为数字请重新输入\"  );
    history.go(-1);
    </script>";
    exit;
    }if(!ereg("^[0-9]+$",  $_POST['textfield3']))  {
    echo " <script language=javascript>
    alert( \"QQ为数字请重新输入\"  );
    history.go(-1);
    </script>";
    exit;
    }
    $length = strlen($userid);    //计算有多少个字符
        if( $length < 5 or $length > 11 )                  //如果字符数大于100{
    echo " <script language=javascript>
    alert( \"ID为5-11位数字,请重新输入!!\"  );
    history.go(-1);
    </script>";
    exit;
    }$length = strlen($textfield5);    //计算有多少个字符
        if($length !=11)                  //如果字符数大于100{
    echo " <script language=javascript>
    alert( \"手机为11位数字,请重新输入!!\"  );
    history.go(-1);
    </script>";
    exit;
    }
    $length = strlen($pass);    //计算有多少个字符
        if($length <6 )                  //如果字符数大于100
    {
    echo " <script language=javascript>
    alert( \"密码大于6位!!\"  );
    history.go(-1);
    </script>";
    exit;
    }
     
    ?><?php
    $con = mysql_connect("localhost","root","123456");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }mysql_select_db("test", $con);$sql="INSERT INTO user (id, pass,xb,sr,QQ,tel,maile,cs)
    VALUES
    ('$_POST[userid]','$_POST[pass]','$_POST[radiobutton]','$_POST[textfield2]','$_POST[textfield3]','$_POST[textfield5]','$_POST[textfield4]','$_POST[textfield]')";if (!mysql_query($sql,$con))
      {
      die('Error: ' . mysql_error());
      }
     
    echo " <script language=javascript>
    alert( \"注册成功!!\"  );
    location.href = \"index.php\"
    </script>";mysql_close($con)?></body>
    </html> 
      

  3.   

    楼上的还是不行  我就是奇怪  为什么本地没问题 上传后限制字符长度那里就出错 谁能用JS帮我写下吗  判断用户名就是ID大于6小于11 不对则弹警告窗 然后返回上级
      

  4.   

    你确定一下,上传到主机之后,$userid是不是抓到传过来的值;$length是不是拿到了$userid的长度
      

  5.   

    $length = strlen($userid);    //计算有多少个字符 
        if( $length < 5 or $length > 11 )                  //如果字符数大于100 { 
    echo " <script language=javascript> 
    alert( \"ID为5-11位数字,请重新输入!!\"  ); 
    history.go(-1); 
    </script>"; 
    exit; 

    $length = strlen($textfield5);    //计算有多少个字符 
        if($length !=11)                  //如果字符数大于100 { 
    echo " <script language=javascript> 
    alert( \"手机为11位数字,请重新输入!!\"  ); 
    history.go(-1); 
    </script>"; 
    exit; 

    $length = strlen($pass);    //计算有多少个字符 
        if($length <6 )                  //如果字符数大于100 { 
    echo " <script language=javascript> 
    alert( \"密码大于6位!!\"  ); 
    history.go(-1); 
    </script>"; 
    exit; 

      ?> 
    错误就在这里吧会是主机类型造成的吗?
    WindowsServer 2003 系统 
    100MB 独立虚拟主机空间 
    支持ACCESS数据库 
    支持MYSQL数据库10M 
    HTML ASP PHP .NET2.0 
    支持JMAIL 
    IIS并发数: 200 
    流量:不限 
    在线打包/解压 
    支持15个域名绑定 
    不支持下载站、电影和视频站、游戏站、非法站点 
      

  6.   

    长度为0 ,那就是$userid 是没抓到值$userid 给值了吗?有$userid = $_POST['userid']写了吗?或许在代码里给$userid 一个值
    看长度拿不拿到?确定一下值 是不是 能POST过来.