Php 未定义变量和未定义索引

Php 未定义变量和未定义索引,php,Php,steps.php <?php function allowed_in($steps){ $steps = array('Text1.php', 'Text2.php', 'Text3.php'); $latestStep = $_SESSION['latestStep']; } ?> 我试图遵循的伪代码: function allowed_in(

steps.php

<?php        
    function allowed_in($steps){        
    $steps = array('Text1.php', 'Text2.php', 'Text3.php');                
    $latestStep = $_SESSION['latestStep'];            
    }        
?>
我试图遵循的伪代码:

function allowed_in($pased_vars){

//your code

if($foo){
    return 1;
}else{
    return 0;
}

}

on included pages
<?php
//include file with code

if(allowed_in($vars)){
//allowed
}else{
//not
}
中允许的函数($pased\u vars){
//你的代码
如果($foo){
返回1;
}否则{
返回0;
}
}
在包含的页面上

你想干什么?检查以下各项:-

1) 首先,您没有将任何内容返回到页面。那你怎么检查你的身体状况呢

2) 您是否已将该页包含在另一页中

3) 检查您在何处定义了会话变量$\u session['latestStep']

4) 检查是否已启动会话\u start()


5) 您正在steps.php中定义$steps数组。那么,您要将什么传递给text1.php中允许的函数。

您有一个未定义的变量用作
$steps
,还有一个未定义的数组索引用作
$\u会话['latestStep']

还包括:

function allowed_in($steps) {
    $steps = array('Text1.php', 'Text2.php', 'Text3.php');
没有任何意义。 您希望将变量
$steps
作为参数传递给函数,并立即在函数范围内替换其值?你为什么要那样做?只是不要期望函数有任何参数,在函数中定义
$steps

要解决索引问题,可以使用
isset()
并处理未设置会话变量的情况:

if (!isset($_SESSION['latestStep'])) { /* what if not set? */ }
在尝试访问
$\u session
变量之前,请记住始终使用
session\u start()

对于未定义的变量错误:

<?php
   if(allowed_in($steps)){      
      //all code in the create_session.php             
   }
?>
使用
isset

您可以这样做:

if(isset($_SESSION['latestStep'])){
   $latestStep = $_SESSION['latestStep'];
}
else{
   $latestStep = "";
}

第一种意思是在某处执行
$steps=…
之前使用
$steps
。第二个与数组索引相同。
$latestStep=isset($\u SESSION['latestStep'])$_会话['latestStep']:null可能重复的单词是“you”,而不是“u”。请在这里使用正确的英语,不要使用txt spk。@vascowhite抱歉。。速记练习。在以后的帖子中不会重复。如果你把它们删掉。我会取消我的反对票。嗯,有一点。“其余的我都是为你做的。”瓦斯科海特,谢谢。我会注意我以后的postsCan请查看我的更新,以确定我是否应该按照您在修复未定义变量错误的第二部分中所述的那样做?@user1830984,是的,您应该这样做。
<?php
   if(allowed_in($steps)){      
      //all code in the create_session.php             
   }
?>
if (allowed_in()) {
    ...
}
if(isset($_SESSION['latestStep'])){
   $latestStep = $_SESSION['latestStep'];
}
else{
   $latestStep = "";
}