简单的PHP登录URL未与代码

时间:2017-06-06 04:12:53

标签: php

我一直在努力制作可以返回"1"的PHP代码。

同样,数据库信息全部删除,但由于我没有"3"错误,因此准确无误。

例如:www.mysite.com/login.php/?test=itemindatabase

如果在数据库中找到"itemindatabase",那么它将返回“1”

一些注意事项:

login是表格的名称。

test是唯一列的名称(id除外)

<?php 
 $host = "localhost";  
 $username = "";  
 $password = "";  
 $database = "";  

      $connect = new PDO("mysql:host=$host; dbname=$database", $username, $password);  
      $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  
           if(empty($_POST["test"]))  
           {  
                die("3");  
           }  
           else  
           {  
                $query = "SELECT * FROM login WHERE test = :test";  
                $statement = $connect->prepare($query);  
                $statement->execute(  
                     array(  
                          'test'     =>     $_POST["test"]  
                     )  
                );  
                $count = $statement->rowCount();  
                if($count > 0)  
                {  
                     die("1"); //success!
                }  
                else  
                {  
                     die("0"); //fail not found
                }  
        }

?>

我每次尝试只得到“0”意味着失败。

1 个答案:

答案 0 :(得分:2)

件事情: -

1.您的所有数据库凭据都是空的?如果你因为安全问题而删除了它们,那么好吧。否则请在那里提供有效和正确的值。否则连接本身不会创建。

2. $_POST["test"]需要$_GET["test"]

3. array('test'=>$_POST["test"])需要array(':test'=>$_POST["test"])

检查此代码并尝试: -

<?php

 //comment these two lines when code started working fine
 error_reporting(E_ALL);
 ini_set('display_errors',1);

 $host = "localhost";  
 $username = "";  //check and provide valid value
 $password = "";  //check and provide valid value
 $database = "";  //this can't be empty in any case

    try {
        $connect = new PDO("mysql:host=$host;dbname=$database", $username, $password);  
        $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);  

           if(!empty($_GET['test'])){
                $statement = $connect->prepare("SELECT * FROM login WHERE test = :test");  
                $statement->execute(array(':test'=>$_GET["test"]));  
                $count = $statement->rowCount();  
                if($count > 0)  
                {  
                     echo "record found successfully";
                }  
                else  
                {  
                     echo "no record found";
                }  

           }else{
             echo "Please provide input value";
           }
    }
    catch(PDOException $e){
        echo "Error: " . $e->getMessage();
    }
    $conn = null;
?>

注意: - How to fetch records