2012-08-29 47 views
0

我有这个代码的问题:腓传递值

<?php echo "<meta http-equiv='refresh' content='3;search_enroll.php?&id='.$id />"; ?> 

我使用这个代码在此页面上的值传递与$id这个页面,它不是空的我附和$id并持有价值。这是在接收端代码:

<?php 
      if (isset($_POST['SearchS'])){ 
       $id = $_POST['searchstudent']; 

      }else if(!empty($_GET['id'])){ 
       $id = $_GET['id']; 
      } 
      else if(!empty($_GET['student_id'])){ 
       $id = $_GET['student_id']; 
      } 

      else { 
       $id= $_REQUEST['student_id']; <--- this is line 37 
      } 
      ?> 

目前有此错误的音符,我希望第二else语句应该获取的代码。

Notice: Undefined index: student_id in C:\xampp\htdocs\Thesis\search_enroll.php on line 37 
+0

你的字符串搞砸了,算你报价。另外,在对它们做任何事情之前,一定要清理任何变量。即:addslashes,检查是否是数字等 –

回答

2

做你的字符串转义权利或不做它在所有:出现因为你的PHP错误报告设置

<?php 
    echo "<meta http-equiv='refresh' 
       content='3;search_enroll.php?id=".$id."' />"; ?> 
+0

谢谢。对不起,我只是在学习。 – Tony

+0

不是一个问题,但你应该马上研究这个问题。如果你认为它错了,你永远不会得到它的窍门! –

0

此错误。

通常,当您的变量设置不正确时显示。

检查使用前是否设置了$_POST['action']

0

元不是那样用的。你讨厌指定一个URL子属性的URL,而不仅仅是内容属性一样,

<META HTTP-EQUIV="Refresh" CONTENT="n; URL=MyURL"> 

http://en.wikipedia.org/wiki/Meta_refresh

在那里,你的参数是从来没有设置好的

0

使用在前面的@抑制器当发生Undefined index错误时变量。

此错误时,变量未声明首先,我们在代码中使用发生:

对于如。

else { 
    @$id= @$_REQUEST['student_id']; <--- this is line 37 
} 

但在你的情况下,这种情况下不应该运行。

0

你应该这样做:

else { 
    if(isset($_REQUEST['student_id'])){ 
     $id= $_REQUEST['student_id']; 
    } 
} 

这将确保在$_REQUESTstudent_id键存在您尝试访问它。

如果没有检查,它会抛出Notice