2012-03-30 82 views
0

我试图插入$ teacherId到数据库中的“TeacherId”字段,但要做到这一点,它需要查找老师的用户名“TeacherUsername”能够找到正确的TeacherId与教师的用户名相匹配。如何解决这个不确定的通知错误

问题是,我得到的通知指出:在这这里27行teacherusername在/Mobile_app/QandATable2.php:

$teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')"; 

为什么给我这个通知,因为 注意:未定义指数有没有错$ _ POST方法,它的工作原理是在底部位置:

<?php echo $_POST['teacherusername']); ?> 

以下是完整代码:

<?php> 

    session_start(); 

     $username="xxx"; 
     $password="xxx"; 
     $database="mobile_app"; 

     mysql_connect('localhost',$username,$password); 

     @mysql_select_db($database) or die("Unable to select database"); 

     $teacherid = "SELECT TeacherId FROM (SELECT TeacherUsername from Teacher where TeacherUsername = '".mysql_real_escape_string($_POST['teacherusername'])."')"; 

     $sql="INSERT INTO Session (TeacherId) 
     VALUES 
     (' ". mysql_real_escape_string($teacherid) . "')"; 

     mysql_query($sql); 

     mysql_close(); 
?> 

<?php echo $_POST['teacherusername']); ?> 
+0

在'$ _POST'什么?你可以做一个'print_r($ _ POST)'吗?请记住,数组索引区分大小写。 – Brad 2012-03-30 16:24:57

+0

您可能在第一个'$ _POST ['teacherusername']'中有一个不可见的字符。尝试删除它并重新写入。 – MichaelRushton 2012-03-30 16:26:13

+0

在$ _ POST [“teacherusername”],它岗位教师在一个文本框已进入前一页用户名。因此,例如,我在文本框中输入'j.lu',当我提交表单时,在回显中显示'j.lu'。所以,$ _ POST的作品,但它不承认它在查询我试图做 – user1394925 2012-03-30 16:29:24

回答

1

如果此脚本运行仅在POST已经发生,并且你确信teacherusername应设置,那么你可能想的var_dump($ _ POST),并仔细检查形式还真是传递teacherusername场。

否则,如果该字段被认为是可选的,请尝试:

<?php 
if (isset($_POST) && isset($_POST['teacherusername'])) { 
    echo $_POST['teacherusername']; 
} 
?> 

这只会随声附和后指数岗位设置,所以是有问题的领域。你甚至可以添加一个else来正确处理错误。如发回“此字段是必需的”消息。

希望这有助于

ISE

+0

对,做了一个var转储,它带有一个NULL。但我改变$ _POST到$ _SESSION因为我提到这在底部如果(isset($ _ POST [ 'teacherusername'])){$ _SESSION [ 'teacherusername'] = $ _POST [ 'teacherusername']; }。但问题是在数据库中,它假设在TeacherId字段中声明'T1',而是声明'SEL'。这是什么意思? – user1394925 2012-03-30 16:47:39

+0

如果var_dump($ _ POST)为null,那么您没有正确提交表单。确保您的

标签的属性method =“post”正确组成。 – ise 2012-04-02 10:59:38