未定义的变量:params

时间:2016-02-03 07:49:33

标签: php

好的,我正在创建一个网站,在网站上我有一点“创建用户”帐户类型,我把它放在index.php上并分配了它的所有值和内容,以便管理员可以创建帐户登录时...

无论如何,所以,我收到了这个错误:

  

注意:未定义的变量:params in   第62行的C:\ xampp \ htdocs \ staff_inc \ core.inc.php

     

注意:未定义的变量:params in   第63行的C:\ xampp \ htdocs \ staff_inc \ core.inc.php

     

注意:未定义的变量:params in   第62行的C:\ xampp \ htdocs \ staff_inc \ core.inc.php

     

注意:未定义的变量:params in   第63行的C:\ xampp \ htdocs \ staff_inc \ core.inc.php

在该文件中,第62和63行我有

$salt1  = md5( $params['core']['salt1'] );
$salt2  = md5( $params['core']['salt2'] );

而且我不确定如何修复它? 我的该函数的完整代码是

public function encrypt( $string ) {        
    global $vars;
    //let's md5 that salt and the string.
    $salt1  = md5( $params['core']['salt1'] );
    $salt2  = md5( $params['core']['salt2'] );
    $string = md5( $string );
    //stick them together.
    $string = $salt1 . $salt1 . $salt2 . $string . $salt2 . $salt1;
    //sha1 then md5 them again.
    $string = sha1( $string );
    $string = md5( $string );
    return $string; 
}

2 个答案:

答案 0 :(得分:1)

注意非常明确:您没有在函数中定义$params

解决方案1:

如果您将$params作为函数的参数传递,则需要将参数添加为:

public function encrypt( $string, $params ) {
....

解决方案2:

如果$params是一个全局变量,则需要定义为:

public function encrypt( $string ) {
    global $vars, $params; // defined here
    // your remaining stuff    
}

解决方案3:

正如我在评论中提到的那样,如果$params等于$vars,因为您在函数中没有使用$vars而不是像以下所使用的那样:

public function encrypt( $string ) {
    global $vars;

    $salt1  = md5( $vars['core']['salt1'] );
    $salt2  = md5( $vars['core']['salt2'] );
    $string = md5( $string );

    // your remaining stuff    
}

旁注:

我不认为,是否有第四种选择。

答案 1 :(得分:0)

似乎$params应该是全局变量:

public function encrypt( $string ) {

     global $vars; /* you don't use this, btw. */

     global $params;

     /* other code goes here */

}