在WAMP本地主机上有效但在WebServer上不起作用的PHP代码

杰耶马斯

因此,我使用PHP的scracth建立了一个网站,并使用WAMP服务器进行了测试。

一切都在localhost上运行,但是将代码上传到服务器后,所有使用数据库连接的东西都无法正常工作。

我检查了php中的POST是否在服务器上正常工作,并且是否正常工作,php.ini在谷歌搜索后更改了一些配置,并这样做:

register_globals = off; (was default)

allow_url_fopen = on; (was default)

magic_quotes_gpc = off; (was default)

表格代码

http://i.imgur.com/k5kMx9N.png

类内的登录功能

function LoginUser($UserName, $Password)
{
    //Protect from SQL Injection
    $clientusername = stripslashes(mysql_real_escape_string($UserName));
    $clientpassword = stripslashes(mysql_real_escape_string($Password));

    $clientusername = trim($clientusername);
    $clientpassword = trim($clientpassword);

    if($clientusername != "" && $clientusername != "Username" && $clientpassword != "" && $clientpassword != "Password")
    {           
        $this->ConnectToMySQL();
        $sql = "SELECT * FROM Users WHERE UserName = '" . $clientusername . "' AND Password = '" . $clientpassword . "'";
        $result = mysqli_query($this->DBConnection, $sql);
        mysqli_close($this->DBConnection);      
        // Mysql_num_row is counting table row      
        $count = mysqli_num_rows($result);
        // If result matched $myusername and $mypassword, table row must be 1 row
        if($count == 1){
            if(!isset($_SESSION))
                session_start();
            $row = mysqli_fetch_array($result);
            $_SESSION['ID'] = session_id();
            $_SESSION['timeout'] = time();
            session_write_close();
            return("O seu login foi feito com sucesso.</br></br><a href='privatemenu.php'>Ir para o Menu</a>");
        }
        else return("Não foram encontrados utilizadores com os dados fornecidos.</br></br><a href='login.php'>Voltar á pagina de Login</a>");

    }
    else return("Ocorreu um erro com a entrada dos seus dados.</br></br><a href='login.php'>Voltar á pagina de Login</a>");
}

因此,问题在于,该函数始终在登录函数中返回文本“ Ocorreu um erro com a entrada dos seus dados”。

我写了登录数据,按下登录按钮,该帖子已经在我测试过的表单中正常工作,并且在另一页上从该表单中回显了该帖子,但是该函数永远不会从那开始。

任何帮助将不胜感激,因为我认为这不是来自函数,我有另一个仅在数据库中插入并且做完全相同的事情。奇怪的是,数据正确地通过了页面。

如果对此有任何混淆,请问我,以便我更好地解释。


因此,感谢Paddyd,这是可以正常工作的正确代码:

function LoginUser($UserName, $Password)
{
    //Protect from SQL Injection
            $this->ConnectToMySQL();
    $clientusername = stripslashes(mysqli_real_escape_string($this->DBConnection, $UserName));
    $clientpassword = stripslashes(mysqli_real_escape_string($this->DBConnection, $Password));

    $clientusername = trim($clientusername);
    $clientpassword = trim($clientpassword);

    if($clientusername != "" && $clientusername != "Username" && $clientpassword != "" && $clientpassword != "Password")
    {           
        $sql = "SELECT * FROM Users WHERE UserName = '" . $clientusername . "' AND Password = '" . $clientpassword . "'";
        $result = mysqli_query($this->DBConnection, $sql);
        mysqli_close($this->DBConnection);      
        // Mysql_num_row is counting table row      
        $count = mysqli_num_rows($result);
        // If result matched $myusername and $mypassword, table row must be 1 row
        if($count == 1){
            if(!isset($_SESSION))
                session_start();
            $row = mysqli_fetch_array($result);
            $_SESSION['ID'] = session_id();
            $_SESSION['timeout'] = time();
            session_write_close();
            return("O seu login foi feito com sucesso.</br></br><a href='privatemenu.php'>Ir para o Menu</a>");
        }
        else return("Não foram encontrados utilizadores com os dados fornecidos.</br></br><a href='login.php'>Voltar á pagina de Login</a>");

    }
    else return("Ocorreu um erro com a entrada dos seus dados.</br></br><a href='login.php'>Voltar á pagina de Login</a>");
}
帕迪德

Warning: mysql_real_escape_string(): Access denied for user 'apache'@'localhost' (using password: NO) in /home/httpd/vhosts/jaimevale.com/httpdocs/config/configurations.php on line 461

这些是导致您的问题的行:

$clientusername = stripslashes(mysqli_real_escape_string($UserName));
$clientpassword = stripslashes(mysqli_real_escape_string($Password));

您试图在mysql_real_escape_string未建立sql连接的情况下使用在进行这些调用之前建立连接,或者使用的替代方法mysql_real_escape_string

尝试$this->ConnectToMySQL();在函数的开头进行调用。

编辑:更改mysql_real_escape_stringmysqli_real_escape_string

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在WAMP本地主机上有效但在WebServer上无效的PHP代码

来自分类Dev

cURL请求在服务器上工作正常,但在我的本地主机上不起作用:8080

来自分类Dev

jQuery ajax调用在本地主机上有效,但在实时服务器上无效

来自分类Dev

Webrtc应用程序在本地主机上不起作用?

来自分类Dev

.htaccess网址:重写在本地主机上不起作用

来自分类Dev

.htaccess在本地主机上不起作用

来自分类Dev

html页面在本地时有效,但在云ide上不起作用

来自分类Dev

从WCF客户端连接到服务器的问题-HTTPS终结点-在本地Dev上有效,但在服务器上不起作用

来自分类Dev

@ font-face似乎在本地主机上不起作用

来自分类Dev

为什么jekyll标签在github上不起作用,却给出404错误,但在localhost上有效

来自分类Dev

AngularJS $ locationProvider.html5Mode在本地主机上不起作用

来自分类Dev

BREW在本地主机PHP上不起作用

来自分类Dev

https ssl / tls在Node.js中的本地主机上不起作用

来自分类Dev

PHP将JSON返回JSON到Ajax仅在本地主机上有效

来自分类Dev

为什么LESS CSS在本地主机上不起作用

来自分类Dev

cURL请求在服务器上工作正常,但在我的本地主机上不起作用:8080

来自分类Dev

Fancybox 2在本地主机上不起作用

来自分类Dev

Livecode Browser中的JavaScript函数在OSX上有效,但在Windows上不起作用

来自分类Dev

jQuery UI droppable在IE和Firefox上不起作用(但在Chrome上有效)

来自分类Dev

从ImageMagick转换在命令行上有效,但不在本地主机上

来自分类Dev

WooCommerce Checkout在本地主机上不起作用

来自分类Dev

意外的“(”-Shell脚本在带有bash的CentOS上有效,但在Ubuntu上不起作用

来自分类Dev

FabricJS loadSVGFromURL()在本地主机上不起作用

来自分类Dev

CodeIgniter baseurl 在本地主机上不起作用

来自分类Dev

Laravel 导出在服务器上不起作用,但在本地主机上运行良好

来自分类Dev

ajax 在本地主机上不起作用

来自分类Dev

标头位置在服务器上不起作用,但在本地主机上起作用

来自分类Dev

为什么 HttpRequest 在 Windows 上不起作用,但在 Mac 上有效?

来自分类Dev

本地 JQuery 和 JQuery 移动文件在本地主机上不起作用

Related 相关文章

  1. 1

    在WAMP本地主机上有效但在WebServer上无效的PHP代码

  2. 2

    cURL请求在服务器上工作正常,但在我的本地主机上不起作用:8080

  3. 3

    jQuery ajax调用在本地主机上有效,但在实时服务器上无效

  4. 4

    Webrtc应用程序在本地主机上不起作用?

  5. 5

    .htaccess网址:重写在本地主机上不起作用

  6. 6

    .htaccess在本地主机上不起作用

  7. 7

    html页面在本地时有效,但在云ide上不起作用

  8. 8

    从WCF客户端连接到服务器的问题-HTTPS终结点-在本地Dev上有效,但在服务器上不起作用

  9. 9

    @ font-face似乎在本地主机上不起作用

  10. 10

    为什么jekyll标签在github上不起作用,却给出404错误,但在localhost上有效

  11. 11

    AngularJS $ locationProvider.html5Mode在本地主机上不起作用

  12. 12

    BREW在本地主机PHP上不起作用

  13. 13

    https ssl / tls在Node.js中的本地主机上不起作用

  14. 14

    PHP将JSON返回JSON到Ajax仅在本地主机上有效

  15. 15

    为什么LESS CSS在本地主机上不起作用

  16. 16

    cURL请求在服务器上工作正常,但在我的本地主机上不起作用:8080

  17. 17

    Fancybox 2在本地主机上不起作用

  18. 18

    Livecode Browser中的JavaScript函数在OSX上有效,但在Windows上不起作用

  19. 19

    jQuery UI droppable在IE和Firefox上不起作用(但在Chrome上有效)

  20. 20

    从ImageMagick转换在命令行上有效,但不在本地主机上

  21. 21

    WooCommerce Checkout在本地主机上不起作用

  22. 22

    意外的“(”-Shell脚本在带有bash的CentOS上有效,但在Ubuntu上不起作用

  23. 23

    FabricJS loadSVGFromURL()在本地主机上不起作用

  24. 24

    CodeIgniter baseurl 在本地主机上不起作用

  25. 25

    Laravel 导出在服务器上不起作用,但在本地主机上运行良好

  26. 26

    ajax 在本地主机上不起作用

  27. 27

    标头位置在服务器上不起作用,但在本地主机上起作用

  28. 28

    为什么 HttpRequest 在 Windows 上不起作用,但在 Mac 上有效?

  29. 29

    本地 JQuery 和 JQuery 移动文件在本地主机上不起作用

热门标签

归档