【问题标题】:is it possible to write plain PHP code inside SLIM .php files是否可以在 SLIM .php 文件中编写纯 PHP 代码
【发布时间】:2016-03-26 14:23:39
【问题描述】:

我是 PHP 初学者,对 SLIM 框架几乎一无所知。我必须在 SLIM 项目的 .php 文件中添加一个插入查询,如下所示。

$username = "myuser";
$password = "mypw";
$hostname = "localhost"; 

$date = date("Y/m/d H:i:s");

function get_client_ip()
{
  $ipaddress = '';
  if (getenv('HTTP_CLIENT_IP'))
      $ipaddress = getenv('HTTP_CLIENT_IP');
  else if(getenv('HTTP_X_FORWARDED_FOR'))
      $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
  else if(getenv('HTTP_X_FORWARDED'))
      $ipaddress = getenv('HTTP_X_FORWARDED');
  else if(getenv('HTTP_FORWARDED_FOR'))
      $ipaddress = getenv('HTTP_FORWARDED_FOR');
  else if(getenv('HTTP_FORWARDED'))
      $ipaddress = getenv('HTTP_FORWARDED');
  else if(getenv('REMOTE_ADDR'))
      $ipaddress = getenv('REMOTE_ADDR');
  else
      $ipaddress = 'UNKNOWN';

  return $ipaddress;
}

$ipadr = get_client_ip();

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) 
      or die("Unable to connect to MySQL");

$selected = mysql_select_db("mydb",$dbhandle) 
    or die("Unable select mydb");

mysql_query("INSERT INTO `my_table` (`user-ip`,`user-date`) VALUES ('$ipadr','$date')");

mysql_close($dbhandle);

谁能帮助我如何做到这一点?是否可以简单地将这个普通的 php 代码与 SLIM 框架代码混合在一起? 任何帮助都会很棒。

【问题讨论】:

    标签: php frameworks slim


    【解决方案1】:

    是的,你可以这样做。只需将代码放在一个函数中,然后从可调用的路由中调用该函数。

    请注意,mysql 函数非常陈旧,在 PHP 7 中不再可用,因此您应该将它们更改为使用 mysqliPDO

    【讨论】:

    • mysql_ 不仅非常古老,而且还可能让您对 SQL 注入攻击敞开大门(就像这段代码一样)!许多用于确定$ipadr 值的标头很容易被欺骗并填充SQL 注入代码。
    猜你喜欢
    • 1970-01-01
    • 2013-08-27
    • 2015-11-03
    • 1970-01-01
    • 2016-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多