php获取不到表单的信息

waitingcz 2011-06-16 09:40:14
练习php,写了一个简单的登录页面,却一直错误,表明表单的值没有传到php文件那里,各位大侠帮帮忙啊~~
——login.html——
<html>
<body>
<form name="login" action="login.php" method="post" target="_self">
<input name="text" type="text" size="20" style="margin-bottom:40px;"/>
<input name="password" type="password" size="20" />
<input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);">
<input id="button" type="submit" value="" name="login" style="background-image:url(images/login.jpg);;">
</form>
</body>
</html>

——login.php——
<?
if($_POST["register"]) header('location:application.html');
else{
$conn=mysql_connect("localhost:3306","root","root");
if(mysql_select_db("MYDB"))
{
echo "open sucessfully!";
if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
{
echo "post sucessfully!";
$sql="SELECT ID FROM USER WHERE EXISTS (
SELECT * FROM user WHERE ID=$username and PSW=$password)";
$result=mysql_query($sql);
if($result)
{
echo "欢迎你!正在跳转,请稍候...";
header('location:http://xyh.jnu.edu.cn/');
}
else echo "用户名无效或密码错误,请重新输入!";
}
else echo "请将信息填写完整!";
}
else echo "数据库连接出错";}
?>

结果出来的结果echo "post sucessfully!"这一句没有输出,出来的信息是“请将信息填写完整”。echo $_POST["username"]也没有结果。
但print_r($_POST);又是可以看到输出的。

纠结啊,不懂啊,大侠们帮帮忙啊~~
...全文
327 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
waitingcz 2011-06-26
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xsxs89757 的回复:]

f($result){
echo "欢迎你!正在跳转,请稍候...";
header('location:http://xyh.jnu.edu.cn/');
}
else echo "用户名无效或密码错误,请重新输入!";




你都echo了,下边还能header???
[/Quote]
我刚学没注意,的确写了之后就不能跳转,现在知道了,谢谢各位
soard 2011-06-23
  • 打赏
  • 举报
回复
解决了就好 不过我建议

<?php
if($_POST["register"]) header('location:application.html');
else{
$conn=mysql_connect("127.0.01","root","");
if(mysql_select_db("MYDB"))
{
echo "open sucessfully!";
if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
{
echo "post sucessfully!";
$sql="SELECT ID FROM USER WHERE EXISTS (
SELECT * FROM user WHERE USER=$username and PSW=$password)";
$result=mysql_query($sql);
if($result)
{
echo "欢迎你!正在跳转,请稍候...";
header('location:http://xyh.jnu.edu.cn/');
}
else echo "用户名无效或密码错误,请重新输入!";
}
else echo "请将信息填写完整!";
}
else echo "数据库连接出错";}



数据的引索字段 特别是 ID 尽量不要用字符串来定义内容,这样的话 你需要获取值的时候 就需要另外定义一个有规则的字段才能很好的获取
以上我帮你修改了一下
数据库 建立 3个字段 ID USER 和PSW
pangbin106 2011-06-22
  • 打赏
  • 举报
回复
顶一下
wallier 2011-06-22
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 xsxs89757 的回复:]

你都echo了,下边还能header???
[/Quote]

是的啊
xsxs89757 2011-06-22
  • 打赏
  • 举报
回复
f($result){
echo "欢迎你!正在跳转,请稍候...";
header('location:http://xyh.jnu.edu.cn/');
}
else echo "用户名无效或密码错误,请重新输入!";




你都echo了,下边还能header???
waitingcz 2011-06-22
  • 打赏
  • 举报
回复
谢谢各位了,我换了个机器就没有那个错误了,不过里面的确还有另外一些错误。
$sql="SELECT ID FROM USER WHERE EXISTS (
SELECT * FROM user WHERE ID=$username and PSW=$password)";
里面的变量应该加上单引号,不然它依然得不到值
liu19871112 2011-06-18
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 liu19871112 的回复:]

引用楼主 waitingcz 的回复:
<input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);">
<input id="button" type="submit" value="" name="login" style="backgrou……
[/Quote]
不好意思,上一帖有一点错误,应该是
当提交之后,
$_POST["register"] 和$_POST["login"]永远为NULL;因为value=""
isset( $_POST["register"])的值永远为false;
修改方法:
在login.php中
第8行: if($_POST["username"]&&$_POST["password"]&&$_POST["login"])
改为: if($_POST["username"]&&$_POST["password"]&&isset($_POST["login"]))

即login.php中$_POST["login"]均改为isset($_POST["login"]);
$_POST["register"]均改为isset($_POST["register"])
liu19871112 2011-06-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 waitingcz 的回复:]
<input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);">
<input id="button" type="submit" value="" name="login" style="background-image:url(images/login.jpg);;">
[/Quote]

当提交之后,
$_POST["register"] 和$_POST["login"]永远为NULL;
isset( $_POST["register"])的值永远为false;
因为value=""
huangkai8311130 2011-06-17
  • 打赏
  • 举报
回复
有点乱呀。
waitingcz 2011-06-17
  • 打赏
  • 举报
回复
sorry.贴错了。<input name="username" type="text" size="20" style="margin-bottom:40px;"/>
只是结果还是一样
zhaojunwww 2011-06-17
  • 打赏
  • 举报
回复
name="text"
name="password"

if($_POST["username"]&&$_POST["password"]&&$_POST["login"])

上下不一致
xuzuning 2011-06-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 waitingcz 的回复:]
第2行:if($_POST["register"]){
第8行:if($_POST["username"] And $_POST["password"] And $_POST["login"]){
报错是undefine index:register(username)
[/Quote]做一下改动
第2行:if( isset( $_POST["register"]) ){
第8行:if( isset($_POST["username"]) and $_POST["username"] And $_POST["password"] And $_POST["login"]){
waitingcz 2011-06-16
  • 打赏
  • 举报
回复
看来我应该换台机器再试一下
www_7di_net 2011-06-16
  • 打赏
  • 举报
回复
你完整复制我的代码再测试,我最后贴出来的代码我测试通过了,没问题
waitingcz 2011-06-16
  • 打赏
  • 举报
回复
我在想会不会是配置问题,但自上次正常使用以来我就没改过配置
waitingcz 2011-06-16
  • 打赏
  • 举报
回复
依然……
open sucessfully!请将信息填写完整!
www_7di_net 2011-06-16
  • 打赏
  • 举报
回复
试试
<html>
<body>
<form name="login" action="?" method="post" target="_self">
<input name="text" type="text" size="20" style="margin-bottom:40px;"/>
<input name="password" type="password" size="20" />
<input id="button" type="submit" value="" name="register" style="background-image:url(images/apply.jpg);" onclick="location.href='application.html'">
<input id="button" type="submit" value="" name="login" style="background-image:url(images/login.jpg);;">
</form>
</body>
</html>

——login.php——
<?php

$conn=mysql_connect("localhost:3306","root","root");
if(mysql_select_db("MYDB"))
{
echo "open sucessfully!";
if($_POST["username"] And $_POST["password"])
{
echo "post sucessfully!";
$sql="SELECT ID FROM USER WHERE EXISTS (
SELECT * FROM user WHERE ID=$username and PSW=$password)";
$result=mysql_query($sql);
if($result)
{
echo "欢迎你!正在跳转,请稍候...";
header('location:http://xyh.jnu.edu.cn/');
}
else echo "用户名无效或密码错误,请重新输入!";
}
else echo "请将信息填写完整!";
}
else echo "数据库连接出错";
?>
waitingcz 2011-06-16
  • 打赏
  • 举报
回复
第2行:if($_POST["register"]){
第8行:if($_POST["username"] And $_POST["password"] And $_POST["login"]){
报错是undefine index:register(username)
www_7di_net 2011-06-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 waitingcz 的回复:]

不好意思,发贴的时候有点急,忘记改调一下格式了,的确读着不方便。
按你给我的那个修改之后还是同样的错误啊
[/Quote]
把你的错误提示帖出来,并标识在哪行代码附近出现的。
床上等您 2011-06-16
  • 打赏
  • 举报
回复
最好把你的错误帖出来,并标识在那行代码附近出现的。
加载更多回复(3)

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧