初学

登录后复制


刚看了

编辑 删除|

登录后复制

问题是,为什么当我在edit.


回复讨论(解决方案)

编辑
这个应该是列表页面进入编辑页面的url,使用 是用$_GET 获取的,代码没错。

然后进入到编辑页面,修改内容后,你按submit提交。表单的method是$_POST。所以$_GET['id']当然没有数据,因为要用$_POST获取。但你加了hidden,并用$id=$_POST['hid'];获取到了。




代码可以这样优化:
include("conn. alert('更新完成'); location.href='index.";    exit();}else{ // 不是提交表?,表示是?列表???    $id=$_GET['id'];    $sql="select * from `user` where `id`='$id'";    $query=mysql_query($sql);    $result=mysql_fetch_array($query);}?>
登录后复制

edit. 第一次:edit. 有 url 参数,程序走 if(!empty($_GET['id'])) 真 分支
完成查询数据
并充填表单
第二次 表单提交 edit. 没有 url 参数,程序走 if(!empty($_POST['sub'])) 真 分支
完成数据修改后跳转至目录页

由于两个条件不会同时成立,所以 $id=$_GET['id'] 在第二个 if 中不可用

此程序有一个潜在的问题:
当直接浏览器访问 edit. 如果忽略错误检查,此时应为新微博输入。但 edit. 而当做修改的话,又因缺少 id 造成修改失败。还会给出'更新完成'的虚假信息

谢谢两位的回答!