ホームページ >バックエンド開発 >PHPチュートリアル >コースから退会するコードに関しては、変数が定義されていないことを示すメッセージが表示されます。
コースの取り消しを送信すると、15 行目、35 行目、38 行目に未定義の変数「xuehao」があり、エラーが表示されます。どのように変更すればよいですか?
<!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 //######################退选课题界面3########################## include "config.php"; include "header.php";?><?php extract($_POST); $query="select * from $student_table where xuehao='".$xuehao."'"; mysql_query("set names 'GB2312'"); $result=mysql_query($query); $row=mysql_fetch_array($result); $id=$row['id']; $query1="select number as sn,surplus as ssn from $jiaoshi_table where id='$id'"; mysql_query("set names 'GB2312'"); $result1=mysql_query($query1); $row1=mysql_fetch_array($result1); if($row1['sn']==1) { $query2=mysql_query("update $jiaoshi_table set xuehao='未选' where id='$id'"); $query3=mysql_query("update $jiaoshi_table set surplus=surplus+1 where id='$id'"); } else { if(($row1['sn']-$row1['ssn'])==1) $query7=mysql_query("update $jiaoshi_table set xuehao='未选' where id='$id'"); else $query6=mysql_query("update $jiaoshi_table set xuehao=replace(xuehao,concat('".$xuehao."','\n'),'') where id='$id'"); $query8=mysql_query("update $jiaoshi_table set surplus=surplus+1 where id='$id'"); $query5="update $student_table set id=0 where xuehao='".$xuehao."'"; mysql_query("set names 'GB2312'"); $result5=mysql_query($query5); if($result5==true) { echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>退选课题成功!</big></b></font>"; echo "<meta http-equiv=\"refresh\" content=\"2;url=back_keti.php\">"; exit; } else { echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>退选出错,请返回重新退选</big></b></font></p>"; echo "<meta http-equiv=\"refresh\" content=\"1;url=back_keti.php\">"; exit; } }?><?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><style type="text/css"><!--.STYLE1 {font-size: 14px}--></style></head><body><?php //######################退选课题界面2########################## include "config.php"; include "admin_header.php"; ?> <?php extract($_POST); if ($xuehao=="" || $id=="") { echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>请把信息填写完整。</big></b></font></p>"; echo "<meta http-equiv=\"refresh\" content=\"1;url=back_keti.php\">"; exit; } else $query="select * from $student_table where xuehao='$xuehao'"; 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=back_keti.php\">"; exit; } $query="select id as sm from $student_table where xuehao='$xuehao'"; mysql_query("set names 'gb2312'"); $result=mysql_query($query); $row=mysql_fetch_array($result); if($row['sm']==0) { echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>你还没有选择课题!</big></b></font></p>"; echo "<meta http-equiv=\"refresh\" content=\"2;url=back_keti.php\">"; exit; } $query="select * from $jiaoshi_table where id='$id'"; 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=back_keti.php\">"; exit; } ?><table width="700" border="0" cellspacing="1" cellpadding="0" bgcolor="#333333" align="center"> <tr> <td width="78" height="30" bgcolor="#FFFFFF"> <div align="center" class="text"> <p class="STYLE1">学生学号</p> </div> </td> <td width=97 height="30" bgcolor="#FFFFFF"> <div align="center" class="STYLE1">学生姓名</div> </td> <td width="329" height="30" bgcolor="#FFFFFF"> <div align="center" class="STYLE1"> 课题名称 </div> </td> <td width=106 height="30" bgcolor="#FFFFFF"> <div align="center" class="STYLE1">指导教师</div> </td> <td width=84 height="30" bgcolor="#FFFFFF"> <div align="center" class="STYLE1">职称</div> </td> <td width=84 height="30" bgcolor="#FFFFFF"> <div align="center" class="STYLE1">退选</div> </td> </tr> <?php $n=0; $query=mysql_query("select * from $jiaoshi_table,$student_table where $jiaoshi_table.id=$student_table.id and $student_table.xuehao='$xuehao'"); mysql_query("set names 'gb2312'"); while($row=mysql_fetch_array($query)){ if(($n%2)!='0'){ echo "<tr bgcolor=#FFFFff>";} else{ echo "<tr bgcolor=#E4E4E4>"; } echo" <td height='22' class='STYLE1'> <div align='center'>".$row['xuehao']."</div></td> <td height='22'> <div align='center' class='STYLE1'>".$row['name']."</div></td> <td height='22' class='STYLE1'> <div align='center'>".$row['subject']."</div></td> <td height='22' class='STYLE1'> <div align='center'>".$row['teacher']."</div></td> <td height='22' class='STYLE1'> <div align='center'>".$row['zhicheng']."</div></td> <td height='22' class='STYLE1'><div align='center'> <a href=back_keti2.php?xuehao=".$row['xuehao']." >退选</a></div></td> </tr> "; $n++; } ?></table> <p><?php include "foot.php";?>
32a773a74aa61332b719d76ad9f33c71終了c7b6b074ed3aa18e5c074cb7e466649e終了5db79b134e9f6b82c0b36e0489ee08ed 兄弟、これは GET 送信ではありませんか?向こうのPOSTで受け付けますか? ? ?何か間違っているのでしょうか?POSTをGETに変更しましたか?
調べてみたところ、back_keti2.php には変数 $xuehao 以外には何もないことがわかりました。
変更してみてください。うまくいくはずです
変更すると、back_keti2.php 内の他の変数が取得されなくなります。
調べてみたところ、back_keti2.php には変数 $xuehao 以外には何もないことがわかりました。
変更してみてください。うまくいくはずです。試してみましたが、間違っているようです。何も表示されません。
どのように変更しましたか? 変更後のコードを送信して確認してください。
まず、back_keti2.php で var_dump $_GET を実行しましょう。 。
echo "84af0ce72158ca3b501243dab0fc0df8";
この文は自動ジャンプを意味します。
成功したと思います。しかし、成功は見えません。成功するとすぐに back_keti.php にジャンプするためです
echo "84af0ce72158ca3b501243dab0fc0df8"; この文は自動的にジャンプします。
成功したと思います。しかし、成功は見えません。成功するとすぐに back_keti.php にジャンプするため、アドレスバーには back_keti2.php?xuehao= 入力した学生 ID が表示されます。 ;右?
変更は正しいので、まだエラーが発生していますか?
コースではなく、学生番号のみが渡されました
"opt- out"
extract( $_REQUEST);
$_POST と $_GET の内容は $_REQUEST に含まれます。特別な要件はなく、そこまで細かく分割する必要もありません
d78e7c10d6478bbec544da10543b3d37退会5db79b134e9f6b82c0b36e0489ee08ed
コースではなく学生番号のみが渡されました
「オプトアウト」をどのように実装したかがわかりませんでした" code。私が撤回するために使用したコードは、これらのいくつかのコードです。update ステートメントは、私の行 15、35、および 38 に問題があるようです。常に「未定義の変数: xuehao」というプロンプトが表示されます。私の書き方に何か問題がありますか?フォーマット?