老兄,我覺得你應該把
session_register("user_id");
這句放在登陸成功以後的語句後面,比如放在
$query_id=$db->query($string2);
後面。並且接收uer_id時,最好這樣:
$user_id=$HTTP_POST_VARS[user_id];
因爲這句話session_register("user_id");
中的user_id可能來自session而不是前一個表單控件user_id
session_register("user_id");
這句放在登陸成功以後的語句後面,比如放在
$query_id=$db->query($string2);
後面。並且接收uer_id時,最好這樣:
$user_id=$HTTP_POST_VARS[user_id];
因爲這句話session_register("user_id");
中的user_id可能來自session而不是前一個表單控件user_id
解决方案 »
- php使用mysql插入一条记录后,10秒钟自动删除该条记录,求实现
- 求段php循环程序,想好久搞不定,急用
- 大小写转换问题
- 关于全局变量register_globals没有打开的问题
- 【注意】mysql_4.1/5乱码问题专用贴
- 100分求助简单问题,用unset删除数组中的值后,数组中依然保留空值,如何将空值彻底删除,缩小数组?
- php中Session问题,高分求教。急用、在线等!!!!!!!!!!!!!!!!!!!!!
- PHP能不能使用global.asa文件?
- 在win2000server下 php如何与sql server 进行连结
- 怎么去除数组指定下标元素
- 请问有没有人知道PHPEd3.0如何配置使用?
- 请推荐一本php,mysql的学习教程。
并且这是注册页面,而不是登陆页面.
$string1="select user_id from class_user where user_id='".$user_id."'";
如果session错了,应该是么都找不到
而sql错了,才是无论如何都找到了。
if($row)
{
?>
<script language="JavaScript">
alert("此用户已存在,请重新填写!");
</script>
<a href="JavaScript:window.history.back()">回上一页</a>
<?
}改为
if($row):
?>
<script language="JavaScript">
alert("此用户已存在,请重新填写!");
</script>
<a href="JavaScript:window.history.back()">回上一页</a>
<?
endif;
试试看
if($row)
{
?>
<script language="JavaScript">
alert("此用户已存在,请重新填写!");
</script>
<a href="JavaScript:window.history.back()">回上一页</a>
<?
}
else
{ $string2="insert into class_user (user_type,user_id,user_pass,user_name,user_sex) values ('$user_type','$user_id','$user_pass1','$user_name','$user_sex')";
$query_id=$db->query($string2);
……
最好改成:
$row=mysql_num_rows($query_id1);
if($row>0)
{
?>
<script language="JavaScript">
alert("此用户已存在,请重新填写!");
</script>
<a href="JavaScript:window.history.back()">回上一页</a>
<?
}
else
{ $string2="insert into class_user (user_type,user_id,user_pass,user_name,user_sex) values ('$user_type','$user_id','$user_pass1','$user_name','$user_sex')";
$query_id=$db->query($string2);
……另外,最好不要把你post的变量名与你数据库中的字段名相同。
还有,我看到你的程序第一印象就觉得有点别扭,仔细一看,原来是变量和我的习惯不一样。不知大家用变量的习惯是什么样的?
我的习惯:sql字串:$query_N或$sql_N;查询结果:$result_N;返回的记录:$row_N。
之后你再申请用户时,我估计你的申请用户代码中没有对$user_id进行修改,结果再次执行session_register("user_id")时,$user_id还是没有变化.
总之,我认为session_register("user_id");这句话不应该放在这个部分的,应该是放在申请成功后或者登录成功之后的.判断新用户名是否存在不需要用session变量,用传递过来的变量就可以了.
所以session_register只能在此页,我试着把session_register放在下面,结果还是一样.
session_register("USER_ID1")
否者在你的FORM中的变量的VALUE 就不能改变了好象是!
我是这样做的,不知道行不行!
我一次想用IF--ELSE来控制显示两个表格中的一个或者是另一个时候,好象是两个都显示,所以我就直接用PHP写HTML了!你哪个一直是显示“已经注册”是不是这个原因!