退选课程提交后,系统提示错误,第15、35、38行有未定义的变量“xuehao” 请问我应该怎么修改?
退选课题 <?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"退选课题成功!"; echo ""; exit; } else { echo"
退选出错,请返回重新退选
"; echo ""; exit; } }?><?php include "foot.php";?>
回复讨论(解决方案)
看你前一个页面的form表单都有什么
看你前一个页面的form表单都有什么
退选课题 <?php //######################退选课题界面2########################## include "config.php"; include "admin_header.php"; ?> <?php extract($_POST); if ($xuehao=="" || $id=="") { echo"请把信息填写完整。
"; echo ""; 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"你的输入有误,请重新输入。
"; echo ""; 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"你还没有选择课题!
"; echo ""; 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"课题号不存在,请重新输入!
"; echo ""; exit; } ?>
学生学号 | 学生姓名 | 课题名称 | 指导教师 | 职称 | 退选 |
".$row['xuehao']." | ".$row['name']." | ".$row['subject']." | ".$row['teacher']." | ".$row['zhicheng']." | 退选 |
<?php include "foot.php";?>
退选
兄弟,这不是GET提交吗?那边用POST接受???会出问题吧
退选
兄弟,这不是GET提交吗?那边用POST接受???会出问题吧 惭愧啊,意思是我把POST改成GET?
要是改了的话,back_keti2.php中其他的变量就没发获取了吧。
我看了一下,back_keti2.php里除了变量$xuehao也没什么其他的了。
改一下试试吧,我认为应该可以用
要是改了的话,back_keti2.php中其他的变量就没发获取了吧。
我看了一下,back_keti2.php里除了变量$xuehao也没什么其他的了。
改一下试试吧,我认为应该可以用 我试了一下,好像不对,什么都不显示了。
你怎么改的,改完后的代码发出来看看。
在back_keti2.php先var_dump一下$_GET吧。。
PS: 我好奇,退课的页面只传了一个学号变量,back_keti2.php怎么知道要退哪门课程
你怎么改的,改完后的代码发出来看看。 我不懂语法,只是把POST改为了GET。正确的语句应该是怎样的?
echo "";
这句话是自动跳转的意思。
我估计是你成功了。但是看不到成功。因为成功之后接着马上就跳到back_keti.php了
echo "";
这句话是自动跳转的意思。
我估计是你成功了。但是看不到成功。因为成功之后接着马上就跳到back_keti.php了 没有,它就停留在那一页,地址栏里是back_keti2.php?xuehao=我输入的学号
我就是把extract($_POST);改成extract($_GET);对吗?
那么改是对的,那么现在还报错吗
<?php
var_dump($_GET);
?>
接受界面头部加一个这个,看有没有结果
那么改是对的,那么现在还报错吗 不报错了,但是页面是空白的,什么也不显示。再查询一下,发现退选的课程还在。
那么改是对的,那么现在还报错吗 不报错了,但是页面是空白的,什么也不显示。再查询一下,发现退选的课程还在。 改了之后,结果是这样的
array (size=1) 'xuehao' => string '我输入的学号' (length=9)
获取值那里应该都没有错了。
问题就在第二页的几个SQL语句上了吧。
没走到最下面的if语句。
中间的sql语句不清楚变量,看不懂。
还是有问题,谁能帮我解决解决~~
等了两天了,继续等。
extract($_REQUEST);
$_POST 和 $_GET 的内容都包括在 $_REQUEST 中,没有特别的要求,不需要分得那么细
你只是 退选
只传递了学号,并没有传递课程
并没有看到你是如何实现“退选”的代码
extract($_REQUEST);
$_POST 和 $_GET 的内容都包括在 $_REQUEST 中,没有特别的要求,不需要分得那么细
你只是 退选
只传递了学号,并没有传递课程
并没有看到你是如何实现“退选”的代码 我退选的代码就是那几条update语句,貌似就是我第15,35,38行的问题,总是提示我“Undefined variable:xuehao”是不是我的书写格式有问题?