2017-01-26 13 views
0

私は関数を使用してログインフォームを作成しようとしていますが、クラスと関数を別のファイルで使用しています。ここに私のコード。アクションフォームの呼び出し方法PHP

ログインフォーム

<?php 
require_once("controller/ED_Setting.php"); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Example Test</title> 
</head> 

<body> 
<?php 
if(isset($_REQUEST['failure'])) 
{ 
    echo "User/Password Wrong"; 
} 
?> 
<form action=""<?php echo "/mvc/controller/login.php";?>"" method="post"> 
    <label>Email:</label> 
    <input type="text" name="username" /> 
    <br /> 
    <label>Password:</label> 
    <input type="password" name="password" /> 
    <br /> 
    <input type="submit" name="cmdlogin" value="Login" /> 
</form> 
</body> 
</html> 

とログイン機能私は

<?php 
require_once("ED_Setting.php"); 

class login 
{ 
    function index() 
    { 
     $db = new ED_Setting(); 
     $db->connect(); 
     if(isset($_REQUEST['cmdlogin'])) 
     { 
      $rs = $db->select("SELECT * FROM tbl_user where username = '".$_REQUEST['username']."' and password= '".($_REQUEST['password'])."'"); 
      $res = $db->getResult(); 
      if($res) 
      { 
       header('location: http://blup2h.rf.gd'); 
      } 
      else 
      { 
       header('location: http://localhost/project/index.php?failure'); 
      } 
     } 
    } 
} 
?> 

を呼び出し、設定の接続は、この

<?php 
class ED_Setting 
{ 
    private $db_host = "localhost"; // Change as required 
    private $db_user = "root"; // Change as required 
    private $db_pass = ""; // Change as required 
    private $db_name = "db_pembukuan"; // Change as required 

    private $con = false; // Check to see if the connection is active 
    private $result = array(); // Any results from a query will be stored here 


    // Function to make connection to database 
    public function connect(){ 
     if(!$this->con){ 
      $myconn = @mysqli_connect($this->db_host,$this->db_user,$this->db_pass,$this->db_name); // mysql_connect() with variables defined at the start of Database class 
      if($myconn){ 
       return true; 
      }else{ 
       array_push($this->result,mysqli_error()); 
       return false; // Problem connecting return FALSE 
      } 
     }else{ 
      return true; // Connection has already been made return TRUE 
     } 
    } 

    // Function to disconnect from the database 
    public function disconnect(){ 
     // If there is a connection to the database 
     if($this->con){ 
      // We have found a connection, try to close it 
      if(@mysql_close()){ 
       // We have successfully closed the connection, set the connection variable to false 
       $this->con = false; 
       // Return true tjat we have closed the connection 
       return true; 
      }else{ 
       // We could not close the connection, return false 
       return false; 
      } 
     } 
    } 

    public function select($sql){ 
     $query = @mysqli_query($sql); 
     // $this->myQuery = $sql; // Pass back the SQL 
     if($query){ 
      // If the query returns >= 1 assign the number of rows to numResults 
      $this->numResults = mysqli_num_rows($query); 
      // Loop through the query results by the number of rows returned 
      for($i = 0; $i < $this->numResults; $i++){ 
       $r = mysqli_fetch_array($query); 
       $key = array_keys($r); 
       for($x = 0; $x < count($key); $x++){ 
        // Sanitizes keys so only alphavalues are allowed 
        if(!is_int($key[$x])){ 
         if(mysqli_num_rows($query) >= 1){ 
          $this->result[$i][$key[$x]] = $r[$key[$x]]; 
         }else{ 
          $this->result = null; 
         } 
        } 
       } 
      } 
      return true; // Query was successful 
     }else{ 
      array_push($this->result,mysqli_error()); 
      return false; // No rows where returned 
     } 
    } 

    // Function to update and delete into the database 
    public function query($sql) 
    { 
      if($query = @mysql_query($sql)){ 
       array_push($this->result,mysql_affected_rows()); 
       return true; 
      }else{ 
       array_push($this->result,mysql_error()); 
       return false; 
      } 

    } 

    // Public function to return the data to the user 
    public function getResult(){ 
     $val = $this->result; 
     $this->result = array(); 
     return $val; 
    } 
} 
?> 

のようなものです。しかし、それは動作しdid'nt。どんな答えをお願いしますか?

+1

任意のエラー!結果は何ですか? –

+0

'$ _REQUEST'の代わりに' $ _POST'を試しましたか? –

答えて

0

おそらく、問題はフォームアクション属性を使用して""です。

使用このライン

<form action="<?php echo "/mvc/controller/login.php";?>" method="post">

代わりの

<form action=""<?php echo "/mvc/controller/login.php";?>"" method="post">

関連する問題