2012-01-20 7 views
0

をfetch_objectMsqli PHPは、私がここに含まれているため、ファイルの私のウェブサイトにmysqliのログインシステムを使用しています

メインのHTMLファイルである
<?php 
session_start(); 
require_once 'classes/Membership.php'; 
$membership = new Membership(); 

// If the user clicks the "Log Out" link on the index page. 
if(isset($_GET['status']) && $_GET['status'] == 'loggedout') { 
    $membership->log_User_Out(); 
} 

// Did the user enter a password/username and click submit? 
if($_POST && !empty($_POST['username']) && !empty($_POST['pwd'])) { 
    $response = $membership->validate_User($_POST['username'], $_POST['pwd']); 
} 


?> 



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

etc. 

と以下はPHPファイルです:

(membership.php);

<?php 

require 'Mysql.php'; 

class Membership { 

    function validate_user($un, $pwd) { 
     $mysql = New Mysql(); 
     $ensure_credentials = $mysql->verify_Username_and_Pass($un, $pwd); 

     if($ensure_credentials) { 
      $_SESSION['status'] = 'authorized'; 
proposed session variable: $_SESSION['name'] = 'RESULT'; 
      header("location: index.php"); 
     } else return "Please enter a correct username and password"; 

    } 

    function log_User_Out() { 
     if(isset($_SESSION['status'])) { 
      unset($_SESSION['status']); 

      if(isset($_COOKIE[session_name()])) 
       setcookie(session_name(), '', time() - 1000); 
       session_destroy(); 
     } 
    } 

    function confirm_Member() { 
     session_start(); 
     if($_SESSION['status'] !='authorized') header("location: login.php"); 
    } 

} 
?> 

(のmysql.php):

<?php 

require_once 'includes/constants.php'; 

class Mysql { 
    private $conn; 

    function __construct() { 
     $this->conn = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME) or 
         die('There was a problem connecting to the database.'); 
    } 

    function verify_Username_and_Pass($un, $pwd) { 

     $query = "SELECT * 
       FROM players_login 
       WHERE username = ? AND password = ? 
       LIMIT 1"; 

     if($stmt = $this->conn->prepare($query)) { 
      $stmt->bind_param('ss', $un, $pwd); 
    My Attempt: $row = $query->fetch_object(); 
      $stmt->execute(); 


      if($stmt->fetch()) { 
       $stmt->close(); 
       return true; 
      } 
     } 

    } 
} 

右私のクエリは、私が例Hello: Jane Thompsonのためにそれを使用する能力を持っていると言ってindex.phpの中で、ユーザーの名前をエコーするようにサーバーをご希望であります彼らがデータベースに何かを投稿するときの名前:Posted By: Jane Thompson

あなたのような$ _SESSIONのユーザ名とパスワードを保存することができ
+0

を印刷することができ

if($_POST && !empty($_POST['username']) && !empty($_POST['pwd'])) { $response = $membership->validate_User($_POST['username'], $_POST['pwd']); $_SESSION['user'] = $_POST['username']; } 

挨拶と署名が質問に含まれるべきではないことに注意してください。 http://meta.stackexchange.com/questions/2950 ;-) – DaveRandom

+0

あなたは本当にちょうどそれがworks_として周りのコードを変更する自由_Feelがちょうど長いよと言っていましたか?私たちはあなたがここで何をしているのか誤解しているかもしれないと思います... – Repox

+0

申し訳ありません申し訳ありません、なぜ私にエラーが出るのかを知る必要があります。犯罪は意図されていません。私はちょうどいくつかのアドバイスをしたいです。 –

答えて

1

:そうindex.phpの中であなたが

<div>Name: <?php echo $_SESSION['user']?></div> 
+0

実際にあなたのコードは私に回避策を薄くしてくれてありがとう。まことにありがとうございます!! –

+0

DBが次のようなテーブルを持つように管理する:username |パス| dispName。 $ stmt-> fetch()は行/ sを返しませんか? – JackTurky

関連する問題