login.php内容如下:
<?
error_reporting(0);
$mysql_servername = "localhost";
$mysql_username = "root";
$mysql_password ="";
$mysql_database ="peng";
mysql_connect($mysql_servername , $mysql_username , $mysql_password);
mysql_select_db($mysql_database);
$name=$_POST['name'];
$passowrd=$_POST['password'];if ($name && $passowrd){
$sql = "SELECT * FROM liuyanban WHERE name = '$name' and password='$passowrd'";
$res = mysql_query($sql);
$rows=mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");
exit;
}
echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}else {
echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}?>以下login.htm内容<html>
<body>
<form name="login" action="login.php" method=post>
用户名<input type=text name="name">
<p>密码<input type=password name="password">
<p>
<input name="log" type=submit value="登录">
</form>
</body>
</html> 为什么我运行的 时候都不让你输入账号和密码,直接提示‘用户名密码不能为空'啊
小弟刚刚自学啊,知道的 帮忙修改哈 哦
数据库的字段很简单 就是个ID ,用户名和密码
<?
error_reporting(0);
$mysql_servername = "localhost";
$mysql_username = "root";
$mysql_password ="";
$mysql_database ="peng";
mysql_connect($mysql_servername , $mysql_username , $mysql_password);
mysql_select_db($mysql_database);
$name=$_POST['name'];
$passowrd=$_POST['password'];if ($name && $passowrd){
$sql = "SELECT * FROM liuyanban WHERE name = '$name' and password='$passowrd'";
$res = mysql_query($sql);
$rows=mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");
exit;
}
echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}else {
echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}?>以下login.htm内容<html>
<body>
<form name="login" action="login.php" method=post>
用户名<input type=text name="name">
<p>密码<input type=password name="password">
<p>
<input name="log" type=submit value="登录">
</form>
</body>
</html> 为什么我运行的 时候都不让你输入账号和密码,直接提示‘用户名密码不能为空'啊
小弟刚刚自学啊,知道的 帮忙修改哈 哦
数据库的字段很简单 就是个ID ,用户名和密码
$passowrd=$_POST['password'];
如果不是error_reporting(0);会有警告提示的直接输入login.php访问,这两个变量导致$name && $passowrd 不真你应该访问login.htm,然后输入用户名密码,提交表单
以上代码,PHP3有效。
直接输入login.php访问,这两个变量导致$name && $passowrd 不真能解释下 么
$name=$_POST['name'];//无值
$passowrd=$_POST['password'];//无值
if ($name && $passowrd){//不成立}else{
//这里就执行else了.
}
如果php和html混写:<?
error_reporting(0);
if(isset($_POST['post']) && $_POST['post']=="1"){
$mysql_servername = "localhost";
$mysql_username = "root";
$mysql_password ="";
$mysql_database ="peng";
mysql_connect($mysql_servername , $mysql_username , $mysql_password);
mysql_select_db($mysql_database);
$name=$_POST['name'];
$passowrd=$_POST['password'];if ($name && $passowrd){
$sql = "SELECT * FROM liuyanban WHERE name = '$name' and password='$passowrd'";
$res = mysql_query($sql);
$rows=mysql_num_rows($res);
if($rows){
header("refresh:0;url=a.htm");
exit;
}
echo "<script language=javascript>alert('用户名密码错误');history.back();</script>";
}else {
echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}
}else{
?>
<html>
<body>
<form name="login" action="login.php" method=post>
<input type=hidden name="post" value=1>
用户名<input type=text name="name">
<p>密码<input type=password name="password">
<p>
<input name="log" type=submit value="登录">
</form>
</body>
</html>
<?php } ?>
<form name="login" action="login.php" method=post>提交表单数据指定了 method="POST",目标网址 login.php这样, $_POST['name'] 才会有值直接输入http://domain/login.php,$_POST数组是空的,自然没有值,也不会执行if ($name && $passowrd)里的语句了
function Checklogin()
{
if(myform.users.value=="")
{
alert("请输入登陆名");
myform.users.focus();
return false;
}
if(myform.pw.value=="")
{
alert("请输入密码");
myform.pw.focus();
return false;
}
}
</script>
这样的话,password和name照样传不进去啊?
if($(this).val()==""){
alert('');
}
})
用函数验证也可以
class CheckInput{
private $name;
private $pwd;
function __construct($name,$pwd){
$this->name=$name;
$this->pwd=$pwd;
}
}
function checkInput($name,$pwd){
if(!isset($name)&&!isset($pwd)){
alert();
}
else{
}
}
$obj=new checkInput($_Post['username',$_POST['pwd']);
$obj->checkInput();
var_dump($passowrd);
看看值取到了没。
楼主要学会调试代码,当你的代码出了问题时,你要一步步来调试,找出问题出在那个地方,
再来判断是什么原因造成的
if ($name && $passowrd)