ホームページ >バックエンド開発 >PHPチュートリアル >ユーザー登録時に 2 つの条件を使用する

ユーザー登録時に 2 つの条件を使用する

WBOY
WBOYオリジナル
2016-06-23 14:11:21941ブラウズ

先生の登録情報の機能を設計しました。教師が正常に登録するには、データベースに対応する名前と従業員番号を入力する必要があります。問題は、名前をデータベース内の名前に限定すると、登録は正常に行われることです。条件としては、名前と社員番号を正しく入力しても、「入力した情報が間違っています。あなたはコンピュータサイエンス学部の教員ではありません。」という文が実行されてしまいます。私が書いた声明に何か問題がありますか?これは私のフロントエンドです

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /><title>教师注册页面</title><style type="text/css"><!--.STYLE1 {	font-size: 14px;	color: #FF0000;}.STYLE2 {color: #FF0000}.STYLE3 {font-size: 14px}.STYLE4 {font-size: 14px; color: #000000; }.STYLE5 {font-size: 12px}--></style></head><body><?php //######################教师注册##########################  include "conn.php";  include "header.php";?> <p></p><table width="500" border="1" align="center" cellpadding="0" cellspacing="1"  class="text">  <!--DWLayoutTable-->  <form name="form1" method="post" action="teacher_register1.php">    <tr bgcolor="#CDE6C7">       <td height="27" colspan="3"><span class="STYLE1 STYLE2 STYLE1">--->教师注册</span></td>    </tr>	<tr>       <td width="148" bgcolor="#FFFFFF"><div align="center" class="STYLE4">        <div align="right">姓名:</div>      </div></td>      <td width="443" bgcolor="#FFFFFF" height="41"> <input type="text" name="name" size="25">        <span class="STYLE5">*请输入您的真实姓名 </span></td>    </tr>	<tr>       <td width="148" bgcolor="#FFFFFF"><div align="center" class="STYLE4">        <div align="right">职工号:</div>      </div></td>      <td width="443" bgcolor="#FFFFFF" height="41"> <input type="text" name="staffno" size="25">        <span class="STYLE5">*请输入您的职工号 </span></td>    </tr>	<tr>       <td width="148" bgcolor="#CDE6C7"><div align="center" class="STYLE2">        <div align="right" class="STYLE4">密码:</div>      </div></td>      <td width="443" bgcolor="#CDE6C7" height="41"> <input type="password" name="password" size="25">        <span class="STYLE5">*输入密码,长度为3-16位  </span></td>    </tr>	<tr>       <td width="148" bgcolor="#FFFFFF"><div align="center" class="STYLE4">        <div align="right">确认密码:</div>      </div></td>      <td width="443" bgcolor="#FFFFFF" height="41"> <input type="password" name="password1" size="25">      <span class="STYLE3">  </span><span class="STYLE5">*请再次输入密码</span> </td>    </tr>    <tr bgcolor="#CDE6C7">	<td height="25" colspan="2" align="center"><input type="hidden" name="add" value="1">        <input name="submit" type="submit" class="STYLE4"  value="提交">            		 <input type="button" name="back" class="STYLE4" onclick="window.location='index.php'"  value="返回"></td>	</tr>  </form></table><p></p><?php include "foot.php"?> </body></html>

これは私のバックエンドです
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /><title>教师注册</title></head><body><?php //######################教师注册##########################  include "conn.php";  include "header.php";  extract($_POST);  if ($name==""||$staffno=""||$password=="" ||$password1=="") {	echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>请把信息添写完整</big></b></font></p>";	echo "<meta http-equiv=\"refresh\" content=\"1;url=teacher_register.php\">";	exit;	}	$query="select * from $teacher_infor where staffno='$staffno'and name='$name'";	mysql_query("set names 'GB2312'");	$result=mysql_query($query);	$row=mysql_fetch_array($result);	if($row==0)	{	 echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>你输入的信息有误,不属于计算机学院教师</big></b></font></p>";	 echo "<meta http-equiv=\"refresh\" content=\"2;url=teacher_register.php\">";	 exit;	}	$query="select * from $teacher_table where staffno='$staffno'and name='$name'";	mysql_query("set names 'GB2312'");	$result=mysql_query($query);	$row=mysql_fetch_array($result);	if($row!=0)	{	 echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>此教师已注册,请重新填写</big></b></font></p>";	 echo "<meta http-equiv=\"refresh\" content=\"2;url=teacher_register.php\">";	 exit;	}  if($password!=$password1) {     echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>输入的密码不一致,请重新输入</big></b></font></p>";	 echo "<meta http-equiv=\"refresh\" content=\"2;url=student_register.php\">";	 exit; } $query="insert into $teacher_table values('$staffno','$name','$password')"; mysql_query("set names 'GB2312'"); $result=mysql_query($query); if($result==true){  echo "<p align=\"center\"><font color=\"#FF0000\"><b><big>注册成功!</big></b></font></p>";  echo "<meta http-equiv=\"refresh\" content=\"1;url=jiaoshi_login.php\">";  exit;  }?><?php include "foot.php";?></body></html>


ディスカッションへの返信 (解決策)

21 行目以下 echo $query; 結果を見てみましょう

何を見てみましょう結果は
入力した従業員番号が空白なのはなぜですか? 明らかに入力したのに

$staffno=""判定に何かが足りないと思いませんか?

$staffno=""判決に何か欠けていると思いませんか? 何?

print_r($_POST); 見てみましょう

if ($name==""|| $staffno=""||$password=="" ||$password1=="")
なぜ、一つ=?

if ($name==""|| $staffno=""||$password=="" ||$password1=="")
= が 1 つしかないのはなぜですか? ああ、ごめんなさい

$staffno=""判断に何かが欠けていると思いませんか? ごめんなさい、= が抜けていることに気づきました、残念ながら

print_r($_POST); ほら、兄さん、ごめんなさい、判決文に = が抜けています、残念ながら、私のせいです

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。