-1

如何在不同的 PHP 文件中重复相同的 PHP 片段?例如我定义了变量$user,然后我插入 PHP 代码,它可以访问这个变量。 更新: 我将在 if 语句中使用它

示例(没有 if 语句):

    function sanitizeString($var)
    {
    $var = htmlentities($var, ENT_QUOTES, "UTF-8");
    return mysql_real_escape_string($var);
    }
    $user = sanitizeString($_POST['user']);
    $pass = sanitizeString($_POST['pass']);
    //code i want to repeat in different files
    $user=$user;
    $pass=$pass;
    #salt generation
    $salt=uniqid(mt_rand(), true);
    #Add data to tables
    queryMysql("INSERT INTO accounts VALUES('$user', '".hash('sha512',$pass+$salt)."', '$salt', '$cookie_value')");
    mysql_query("INSERT INTO passwordreset VALUES('$user', NULL, NULL)");
    //end of code to repeat
4

4 回答 4

2

使用带参数的函数,这就是它们的用途。可以在具有不同变量的不同上下文中重用的代码片段。

于 2012-07-17T06:40:52.110 回答
1

制作类和方法

class User
{
   public $user;
   public function User($name)
   {
      $user = $name;
   }
}

$User = new User('name1');
echo $User->user;
$User = new User('name2');
echo $User->user;
$User = new User('name3');
echo $User->user;
$User = new User('name4');
echo $User->user;

输出:name1name2name3name4

于 2012-07-17T06:42:53.673 回答
0

U 可以将代码或变量添加到一个 php 文件中,然后将该文件包含在您想要的任何位置 U 可以在此处查看示例

于 2012-07-17T06:46:51.743 回答
-1

(删除global 关键字,因为在这种情况下不需要)

一种方法是使用 $GLOBALS 变量,它可以在任何地方访问,就像 $_SERVER、$_POST 等。请参阅Superglobals。正如 Deceze 所提到的,全局变量通常不是最好的解决方案,因为它们很容易导致意外错误。有关这方面的更多信息,请阅读

$GLOBALS['user'] = "RadGH";
include "my_file.php";

我的文件.php:

echo $GLOBALS['user'];

Bondeye 在评论中表示,在处理不需要更改的数据时,首选使用常量。全局变量的问题之一是,某处的数据可能会被意外更改或引用。由于常量无法更改,因此情况并非如此。

define('USER', 'RadGH');
include "my_file.php";

我的文件.php:

echo USER;
于 2012-07-17T06:46:41.717 回答