Php未定义常数bd

时间:2014-12-15 15:04:08

标签: php

<?php

    if(!empty($_POST)){
        $username=$_POST['username'];
        $password=$_POST['password'];

        include('Validate.php');

        $flag_error = false;
        $errors = array ('username' => array (false,'username incorrecto.'),'Password' => array (false,'Password tem de conter pelo menos 8 caracteres.'));


    /*if(!checkusername($username)){
        $errors['username'][0] = true;
        $flag_error=true;

    }

    if(!Valid_Pass($Password)){
        $errors['Password'][0]=true;
        $flag_error=true;

    }*/

    if(!$flag_error){

        include('bd.inc.php');
        $query = "SELECT * FROM `Utilizadores` WHERE `username` = '$username' AND `Password` = '$Password'";
        $verificar=mysql_query($query) or die (mysql_error());

        if (mysql_num_rows($verificar)==true){
            $_SESSION['username'] = $username;
            header('Location: index.php');
        }else{
            echo '<font color="red"> Esta conta não existe. </font></a>';   
        }

    }   
}
?>

我收到了这段代码,它在浏览器上给我这个错误:

  

注意:使用未定义的常量bd - 在第8行的/home/claire/public_html/login.php中假定为'bd'注意:使用未定义的常量inc - 在/ home / claire / public_html / login中假设'inc'第8行的.php注意:使用未定义的常量php - 假设'php'在第8行的/home/claire/public_html/login.php中警告:require_once(bdincphp):无法打开流:/中没有这样的文件或目录home / claire / public_html / login.php第8行致命错误:require_once():在/ home /中打开所需的'bdincphp'(include_path ='。:/ usr / share / php:/ usr / share / pear')失败第8行的claire / public_html / login.php

7 个答案:

答案 0 :(得分:2)

这是你的粘贴代码吗?这个错误导致你错过了'

include(bd.inc.php);

但是在粘贴中,并没有遗漏。

答案 1 :(得分:1)

您忘记了文件名旁边的引号。它应该是:

include 'bd.inc.php';

但它是include(bd.inc.php);

因为它不是以$开头并且它不是PHP关键字,所以PHP认为bd是常量。并且因为它无法找到它(因为代码中没有声明bd常量),它会显示通知并将其转换为字符串。其他两个组件也是如此。最后,错误的代码行变为include 'bdincphp';并抛出致命错误,因为它无法找到(不存在的)文件。

并且您没有发布带有错误的文件,而是没有错误的文件。 : - (

答案 2 :(得分:1)

错误消息表明在第8行的/home/claire/public_html/login.php文件中的require_once指令中的文件名周围缺少引号,但是在这一行没有require_once指令,我认为你已经粘贴了错误的文件

答案 3 :(得分:0)

我认为你在login.php中包含了一个无法加载的文件。 尝试在第8行添加'in login.php require_once函数

答案 4 :(得分:0)

您提供的代码实际上并不是代码中的错误代码,因为您的代码库引用了include并且您的错误有require_once

无论如何,您尝试包含一个文件而不用引号括起文件名,导致PHP假设文件名是连接常量列表。只需更改第8行 - 您甚至没有给我们,我认为是require_once bd.inc.php; - 到 -

require_once 'bd.inc.php';

错误消息将神奇地消失。

答案 5 :(得分:0)

<?php

    if(!empty($_POST)){
        $username=$_POST['username'];
        $password=$_POST['password'];

        require_once ('Validate.php');
        $flag_error = false;
        $errors = array ('username' => array (false,'username incorrecto.'),'Password' => array (false,'Password tem de conter pelo menos 8 caracteres.'));


    /*if(!checkusername($username)){
        $errors['username'][0] = true;
        $flag_error=true;

    }

    if(!Valid_Pass($Password)){
        $errors['Password'][0]=true;
        $flag_error=true;

    }*/

    if(!$flag_error){

        require_once ('ligacao.php');
        $query = "SELECT * FROM `Utilizadores` WHERE `username` = '$username' AND `Password` = '$Password'";
        $verificar=mysql_query($query) or die (mysql_error());

        if (mysql_num_rows($verificar)==true){
            $_SESSION['username'] = $username;
            header('Location: index.php');
        }else{
            echo '<font color="red"> Esta conta não existe. </font></a>';   
        }

    }   
}
?>

我更改了文件名,现在它没有inc名称,并且还将include更改为require_once,它给出了同样的错误。

答案 6 :(得分:0)

if(!$flag_error){

        require_once 'ligacao.php';
        $query = "SELECT * FROM 'username' WHERE 'username' = '$username' AND 'password' = '$password'";
        $verificar=mysql_query($query) or die (mysql_error());

        if (mysql_num_rows($verificar)==true){
            $_SESSION['username'] = $username;
            header('Location: index.php');
        }else{
            echo '<font color="red"> Esta conta não existe. </font></a>';   
        }

    }

我有这个代码,它给我这个错误: 您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在“用户名”附近使用正确的语法WHERE'username'='ritasoares'和'密码'='12345678''在第1行