作者toktok (破晓)
看板PHP
标题[请益] 使用者的登入及注册
时间Fri Aug 25 00:26:47 2006
下面是有关使用者帐号管理的问题
不管怎麽输入 就是没有资料写到资料表里面...
然後再判断是否为新使用者也怪怪的...
拜托大家帮我看看吧 ><
-------------------------------------------------------------------
db_func.php:
<?
function db_query($SQLStr) {return mysql_query($SQLStr);}
function db_num_rows($res) {return mysql_num_rows($res);}
function db_fetch_array($res) {return mysql_fetch_array($res);}
function db_fetch_object($res) {return mysql_fetch_object($res);}
function db_data_seek($res,$num){return mysql_data_seek($res,$num);}
function db_insert_id($res) {return mysql_insert_id($res);}
?>
db_.conn.php
<?
$DB_HOST ="localhost";
$DB_LOGIN ="toktok";
$DB_PASSWARD ="XXXXXX";
$DB_NAME ="flag";
$conn = mysql_connect($DB_HOST, $DB_LOGIN, $DB_PASSWARD);
mysql_select_db($DB_NAME);
?>
index.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>首页</title>
</head>
<body>
<form name="form1" method="post" action="login_process.php">
<table width="349" cellspacing="1" cellpadding="0" bgcolor="#006699"
align="center">
<tr bgcolor="8BC1CD">
<td colspan="2" align="center">
请输入您的E-MAIL 进入网路相簿管理介面
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td colspan="2"></td>
</tr>
<tr bgcolor="#E3F0F4">
<td align="center" width="96" nowrap>E-MAIL位址:</td>
<td align="left">
<input type="text" name="usermail" size="25" maxlength="50">
</td>
</tr>
<tr bgcolor="#FFFFFF">
<td align="center" width="96" nowrap>E-MAIL密码:</td>
<td align="left">
<input type="password" name="mailpass" size="25" maxlength="24">
</td>
</tr>
<tr bgcolor="#E3F0F4">
<td align="center" colspan="2" hetght="29">
<input type="submit" class="box01" value="确认登入">
<input type="reset" class="box01" value="重新输入">
</td>
</tr>
<input type="hidden" name="b_id" value="<?=$b_id?>">
<tr bgcolor="#8BC1CD">
<td colspan="2"> </td>
</tr>
</table>
</form>
login_process.php:
<?
session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>登入处理</title>
</head>
<body>
<?
include("db_conn.php");
include("db_func.php");
$SQLStr = "SELECT * FROM buyer WHERE b_mail = '$usermail'";
$res = db_query($SQLStr);
if(db_num_rows($res)>0) //若使用者以登入
{
$row = db_fetch_array($res);
$b_id = $row['b_id'];
if ($row['b_pass']== $mailpass) //若使用者密码正确
{
//将 b_id 注册为session
session_register("b_id");
//将使用者导引至管理介面
echo "<script>";
echo "alert(\"欢迎您再回来\");";
echo "location.href=\"photolist.php\";";
echo "</script>";
// END
}
else // 若使用者密码错误
{
// 将使用者导回登入介面
echo "<script>";
echo "alert(\"密码错误\");";
echo "location.href=\"index.php\";";
echo "</script>";
// END
}
}
else //若使用者尚未登入过
{
//将该使用者 E-MAIL 及密码写入资料库
$SQLStr = "INSERT INTO buyer (b_id, b_mail, b_pass, b_cool)
VALUES('','$usermail', '$mailpass', '0')";
db_query($SQLStr);
// END
// 取出该使用者之编号 B_ID
$SQLStr = "SELECT b_id FROM buyer WHERE b_mail = '$usermail'";
$res = db_query($SQLStr);
$row = db_fetch_array($res);
$b_id = $row[0];
// END
session_register("b_id");
echo "<script>";
echo "alert(\"以将您资料收入资料库\");";
echo "location.href=\"photolist.php\";";
echo "</script>";
}
?>
</body>
</html>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.195.204
1F:推 alpe:说实话.完全不想看code. 请爱用 debug 08/25 01:58
2F:→ alpe:mysql_error(); print_r($_POST); echo $SQL; 自己找吧 08/25 02:00
3F:推 jlshen:稍微看了一下,我想问题还是在 $_POST、$_SESSION 之类的吧 08/25 13:05
4F:推 jlshen:说真的,PHP建议用 $_ 开头的 super global 变数来取值 08/25 13:10
5F:→ jlshen:已经很久了,为什麽还常常发现有人会遇到这样的问题呢? 08/25 13:10
6F:推 toktok:嗯嗯~ 谢谢大家~~ 问题有解决了~~^^ 08/25 18:29