小编Lis*_*saW的帖子

注意:未定义的变量:conn

当我这样做我的数据库连接时:

$conn = new MySQLi(RUBYDBUSER, RUBYDBNAME, RUBYDBPASS, RUBYDBDATA);
if($conn->errno) {
    throw new Exception($conn->connect_error, $conn->connect_errno);
}
Run Code Online (Sandbox Code Playgroud)

我想运行这样的预备语句:

public function getSitename() {
            $stmt = $conn->prepare("SELECT value FROM cms_options WHERE title = 'sitename' ");
            $db->stmt_init();
            $stmt->execute();
            $stmt->bind_result($sitename);
            if($stmt->num_rows > 0) {
                while ($stmt->fetch) {
                    return $sitename;
                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

注意:未定义的变量:第26行的C:\ xampp\htdocs\ruby​​\app\includes\classes\class.core.php中的conn

查询位于class.core.php和中的连接中global.php.Class.core包含如下:

(global.php)

foreach(glob(RUBY_BASE . '/app/includes/classes/class.*.php') as $class){
    include_once($class);
}
Run Code Online (Sandbox Code Playgroud)

任何答案?`

php mysqli

3
推荐指数
1
解决办法
1万
查看次数

fWrite会覆盖整个文件吗?

我再次,这次有一个PHP问题...我正在忙着制作某种管理面板(真的很基本)但是当我试图改变我的滑块或其他东西时,fwrite会覆盖一切.这是我的PHP代码:

 <?php 
          $errorsslider = array();
          if($_POST['slider']){
              $slider_site = $_POST['slider'];
           $f=fopen("../app/includes/configfunctions.php","w");

   $set_slider = 
   "<?php
    DEFINE('slider', " . $_POST['slider'] . ");
     ";
  if (fwrite($f,$set_slider)>0){
   fclose($f);

  }
  $errorsslider[] = "<div class='alert alert-success'><button type='button' class='close' data-dismiss='alert'>x</button>" . $LANG['admin']['global']['SliderSuccess']; "</div>";
        return $errorsslider;
          }
  ?>
Run Code Online (Sandbox Code Playgroud)

所以在我运行之前,这是我的文件:

<?php
DEFINE('slider', false);
DEFINE('login', true);
?>
Run Code Online (Sandbox Code Playgroud)

在我运行它之后,这是我的文件:

<?php
DEFINE('slider', false);
?>
Run Code Online (Sandbox Code Playgroud)

有没有人有办法解决吗?

PS不要介意代码,看起来很难看,我知道......

丽莎

php

2
推荐指数
1
解决办法
2904
查看次数

Blowfish password_verify不能完成这项工作

我使用Anthony Ferrara的密码兼容性库,用河豚哈希密码.当我散列它们时它们很好,但是当我尝试验证密码时,执行此操作:

public function Login($username, $postpassword) {

    $stmt = $this->mysqli->prepare("SELECT username, password FROM users WHERE username=? AND password=?");
    $stmt->bind_param('ss', $username, $password);
    $stmt->execute();
    $stmt->bind_result($username, $password);
    $stmt->store_result();
    if($stmt->num_rows == 1) {
        while($stmt->fetch()) {
            if (password_verify($postpassword, $password)) {
                $SESSID = $this->newSession($username);
                $_SESSION['admin_user'] = $username;
                $_SESSION['last_login'] = time();
                header("Location: home.php?SESSID=$SESSID");
                exit();
            }
        }
    }
    else {
        header("Location: index.php?e=false");
        exit();
    }
    $stmt->close();
    $stmt->free_result();
}
Run Code Online (Sandbox Code Playgroud)

它告诉我,我的细节是错误的...是的,我确实定义了$username$password:

if(isset($_REQUEST['login'])) {
$username = $_POST['username'];
$postpassword = $_POST['password'];

$users->Login($username, $postpassword);
}
Run Code Online (Sandbox Code Playgroud)

有人看到我犯的错误吗?

php

0
推荐指数
1
解决办法
74
查看次数

标签 统计

php ×3

mysqli ×1