if ($row[0]!='')   

解决方案 »

  1.   

    你又没有对名称做限制,当然可以添加任意名称了!
    如果说的是 名称为空就不能插入的话,那改
    $name=$_POST["g_name"];  => $name=(string)$_POST["g_name"];
    试试!
      

  2.   

    1、
    $name=$_POST["g_name"];
    if($name!=="")
    应为
    $name=$_POST["g_name"];
    if(! empty($name))至少应为
    $name=$_POST["g_name"];
    if($name!="")注意当没有提交或$_POST["g_name"]不存在的时候
    $name的类型为NULL
    这是如果用!==去判断,则表达式依然成立,因为类型不相同2、
    $str="select * from t_goods where name='$name' and f_check='1'";
    $result=mysql_query($str);
    $row=mysql_fetch_row($result);
    if ($row[0]!='')应为
    ....
    if (empty($row[0]))

    if(mysql_num_rows($result) == 0)理由:
    $str="select * from t_goods where name='$name' and f_check='1'";
    是为了检查用户$name是否已存在,当$row[0]!=''时,表示有查询结果。也就是用户已存在
      

  3.   

    if($name!=="")要判断是否为空直接写成
    if($name=="")
    就行了if ($row[0]!='')这也错了
    写的时候细心点