先贴上代码吧,
<?php
if(!empty($_POST[username])){//事先我有一个让用户输入用户名的界面,然后通过表单传达这个页面,
include ('conn.php');//连接数据库
$username=$_POST['username'];
$sql="SELECT * FROM `user` WHERE `username` LIKE '$username'";
$row=mysql_query($sql);
if(!mysql_num_rows($row)){
echo "对不起,没有这个用户,请<a href='find.php'>重新输入</a>或者<a href='register.php'>注册<a>";
exit;
}
$row=mysql_fetch_array($row);
echo "您的密保问题是".$row[question];
?>
<form action="" method="post" >
请输入答案: <input type="text" name="answer" size="20" maxlength="40"/><br>
请输入密码:<input type="password" name="password"/><br>
请确认密码:<input type="password" name="repassword"/><br>
<input type="submit" name="submit" value="提交"/>
</form>
<?
if(@$_POST[submit]){
if($row[answer]===$_POST[answer]){
if($_POST[password]===$_POST[repassword]){
$sql="UPDATE `bbs`.`user` SET `password` = '$_POST[password]' WHERE `user`.`username` ='$username' ";
mysql_query($sql);
echo "修改成功,您可以使用新密码<a href='login.php'>登陆</a>了";
}
else "密码输入错误,请重新输入";
}
else echo "密保答案错误,请重新输入或注册";
}
}
?>
但是问题是,如果用户存在,然后输入密保答案和新密码并且提交以后,页面就空白了 什么都没有了,然后看一下是
if(@$_POST[submit]){
if($row[answer]===$_POST[answer]){
if($_POST[password]===$_POST[repassword]){
$sql="UPDATE `bbs`.`user` SET `password` = '$_POST[password]' WHERE `user`.`username` ='$username' ";
mysql_query($sql);
echo "修改成功,您可以使用新密码<a href='login.php'>登陆</a>了";
}
else "密码输入错误,请重新输入";
}
else echo "密保答案错误,请重新输入或注册";
}
这段代码并没有执行,这是为什么啊?如何才能执行上面这段代码呢
<?php
if(!empty($_POST[username])){//事先我有一个让用户输入用户名的界面,然后通过表单传达这个页面,
include ('conn.php');//连接数据库
$username=$_POST['username'];
$sql="SELECT * FROM `user` WHERE `username` LIKE '$username'";
$row=mysql_query($sql);
if(!mysql_num_rows($row)){
echo "对不起,没有这个用户,请<a href='find.php'>重新输入</a>或者<a href='register.php'>注册<a>";
exit;
}
$row=mysql_fetch_array($row);
echo "您的密保问题是".$row[question];
?>
<form action="" method="post" >
请输入答案: <input type="text" name="answer" size="20" maxlength="40"/><br>
请输入密码:<input type="password" name="password"/><br>
请确认密码:<input type="password" name="repassword"/><br>
<input type="submit" name="submit" value="提交"/>
</form>
<?
if(@$_POST[submit]){
if($row[answer]===$_POST[answer]){
if($_POST[password]===$_POST[repassword]){
$sql="UPDATE `bbs`.`user` SET `password` = '$_POST[password]' WHERE `user`.`username` ='$username' ";
mysql_query($sql);
echo "修改成功,您可以使用新密码<a href='login.php'>登陆</a>了";
}
else "密码输入错误,请重新输入";
}
else echo "密保答案错误,请重新输入或注册";
}
}
?>
但是问题是,如果用户存在,然后输入密保答案和新密码并且提交以后,页面就空白了 什么都没有了,然后看一下是
if(@$_POST[submit]){
if($row[answer]===$_POST[answer]){
if($_POST[password]===$_POST[repassword]){
$sql="UPDATE `bbs`.`user` SET `password` = '$_POST[password]' WHERE `user`.`username` ='$username' ";
mysql_query($sql);
echo "修改成功,您可以使用新密码<a href='login.php'>登陆</a>了";
}
else "密码输入错误,请重新输入";
}
else echo "密保答案错误,请重新输入或注册";
}
这段代码并没有执行,这是为什么啊?如何才能执行上面这段代码呢
解决方案 »
- php中js的alert()弹出乱码,而页面其他部分是正常的
- 请问大家都用哪些版本控制软件?
- 随便讨论 无压力~~~ 呵呵~~~
- 在线急等!为什么我的mysql不能插入中文??
- php怎样判断一个字符串是否包含另一个字符串?比如 "abcdef" 包含 "cde"
- 如何取消命令行输入MYSQL命令出错时 那中难听的“嘀”的一声
- 看看这个错误怎么搞?PHP
- 请问好象携程那样支持拼音查询,数据库结构或者PHP的使用上的思路是什么呢?大家能指点一下吗?
- 毕业设计设计题目建一虚拟网校,各位大虾给小妹点建议吧:)
- 如何用mial发邮件?
- php中"数据结构"的知识用到多少?
- PHP 用户登录 登出 检查 的方法
1.<? 这里应该是 <?php
2.@$_POST[submit] 这里应该是 $_POST[submit]
3.else "密码输入错误,请重新输入"; 这里要加 echo楼主写的有点乱,是照着书联系的么?建议写代码最后用标准格式,不然代码越多到自己都看不懂。。下面是我帮你改的,你看看好使不好使。。我也是初学者。。
------------------------------------------------------------------------------<?php
if(!empty($_POST[username])){//事先我有一个让用户输入用户名的界面,然后通过表单传达这个页面,
include ('conn.php');//连接数据库
$username=$_POST['username'];
$sql="SELECT * FROM `user` WHERE `username` LIKE '$username'";
$row=mysql_query($sql);
if(!mysql_num_rows($row)){
echo "对不起,没有这个用户,请 <a href='find.php'>重新输入 </a>或者 <a href='register.php'>注册 <a>";
exit;
}
$row=mysql_fetch_array($row);
echo "您的密保问题是".$row[question];
?>
<form action="" method="post" >
请输入答案: <input type="text" name="answer" size="20" maxlength="40"/> <br />
请输入密码: <input type="password" name="password"/> <br />
请确认密码: <input type="password" name="repassword"/> <br />
<input type="submit" name="submit" value="提交" />
</form>
<?php
if($_POST[submit]){
if($row[answer]===$_POST[answer]){
if($_POST[password]===$_POST[repassword]){
$sql="UPDATE `bbs`.`user` SET `password` = '$_POST[password]' WHERE `user`.`username` ='$username' ";
mysql_query($sql);
echo "修改成功,您可以使用新密码 <a href='login.php'>登陆 </a>了";
}
else{
echo "密码输入错误,请重新输入";
}
}
else{
echo "密保答案错误,请重新输入或注册";
}
}
?>
另外,我在补充2个问题。
1. <? 这里应该是 <?php
2.@$_POST[submit] 这里应该是 $_POST[submit]
3.else "密码输入错误,请重新输入"; 这里要加 echo,不然不会输出到网页。
4.楼主大部分的$_POST['username']写成了 $_POST[username],没有单引号
5.数据库语句里面连接变量也有问题。举个例子:
没有带变量
$sql = "SELECT * FROM user WHERE username='nick';"; 如果nick用$_POST['username']代替,应该这么写
$sql = "SELECT * FROM user WHERE username='".$_POST['username']."';";<?php
if(!empty($_POST['username'])){//事先我有一个让用户输入用户名的界面,然后通过表单传达这个页面,
include ("conn.php");//连接数据库
$username = $_POST['username'];
$sql = "SELECT * FROM user WHERE username LIKE '".$username."'";
$row = mysql_query($sql);
if(!mysql_num_rows($row)){
echo "对不起,没有这个用户,请 <a href='find.php'>重新输入 </a>或者 <a href='register.php'>注册 <a>";
}
$row=mysql_fetch_array($row);
echo "您的密保问题是".$row['question'];
?>
<form action="<?php echo $SCRIPT_NAME; ?>" method="post" >
请输入答案: <input type="text" name="answer" size="20" maxlength="40"/> <br />
请输入密码: <input type="password" name="password"/> <br />
请确认密码: <input type="password" name="repassword"/> <br />
<input type="submit" name="submit" value="提交" />
</form>
<?php
if($_POST['submit']){
if($row['answer']===$_POST['answer']){
if($_POST['password']===$_POST['repassword']){
$sql="UPDATE bbs.user SET password='".$_POST['password']."' WHERE user.username='".$username."'";
mysql_query($sql);
echo "修改成功,您可以使用新密码 <a href='login.php'>登陆 </a>了";
}
else{
echo "密码输入错误,请重新输入";
}
}
else{
echo "密保答案错误,请重新输入或注册";
}
}
?>
if(!empty($_POST['username'])) {//事先我有一个让用户输入用户名的界面,然后通过表单传达这个页面,
include ("conn.php");//连接数据库
$username = $_POST['username'];
$sql = "SELECT * FROM user WHERE username LIKE '".$username."'";
$row = mysql_query($sql);
if(!mysql_num_rows($row)) {
echo "对不起,没有这个用户,请 <a href='find.php'>重新输入 </a>或者 <a href='register.php'>注册 <a>";
}
$row=mysql_fetch_array($row);
echo "您的密保问题是".$row['question'];
}
?>
<form action=" <?php echo $SCRIPT_NAME; ?>" method="post" >
请输入答案: <input type="text" name="answer" size="20" maxlength="40"/> <br />
请输入密码: <input type="password" name="password"/> <br />
请确认密码: <input type="password" name="repassword"/> <br />
<input type="submit" name="submit" value="提交" />
</form>
<?php
if($_POST['submit']) {
if($row['answer']===$_POST['answer']) {
if($_POST['password']===$_POST['repassword']) {
$sql="UPDATE bbs.user SET password='".$_POST['password']."' WHERE user.username='".$username."'";
mysql_query($sql);
echo "修改成功,您可以使用新密码 <a href='login.php'>登陆 </a>了";
}
else {
echo "密码输入错误,请重新输入";
}
}
else {
echo "密保答案错误,请重新输入或注册";
}
}
?>