好的,我正在创建一个网站,在网站上我有一点"创建用户"帐户类型,我已将其放在索引上.php并分配了所有值和内容,以便管理员可以在登录时创建帐户...
无论如何,所以,我收到此错误:
注意:未定义的变量:参数 C:''xampp''htdocs''staff_inc''core.inc.php 在第 62 行
注意:未定义的变量:参数 C:''xampp''htdocs''staff_inc''core.inc.php 在第 63 行
注意:未定义的变量:参数 C:''xampp''htdocs''staff_inc''core.inc.php 在第 62 行
注意:未定义的变量:参数 C:''xampp''htdocs''staff_inc''core.inc.php 在第 63 行
在那个文件上,我有第 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;
}
注意很清楚:你没有在函数中定义$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
}
旁注:
我不认为,有没有第四种选择。
似乎$params
应该是全局变量:
public function encrypt( $string ) {
global $vars; /* you don't use this, btw. */
global $params;
/* other code goes here */
}