2016-08-08 17 views
0

ここで私がしようとしているのはこれです。私は、MySQLデータベースに入力された情報をPHPファイルに表示しようとしています。私のコードでは、私はログインした1人のユーザーのデータを見ることができましたが、別のユーザーでログアウトしてログインすると、古いユーザーの情報は引き続き表示されます。私はまた、以下に含まれているログアウトボタンを作成してセッションを終了するようにしました。スニペット私のHTMLこれまでMySQLデータベースからのデータの表示と更新

<html> 

div class="form-group"> 

    <label for="exampleInputEmail1">Email address</label> 
    <input type="email" class="form-control" placeholder="Email" value="<?php echo $row["email"]; ?>"> 

              </div> 


<html> 

ログアウトPHPコード

<?php 
session_start(); 
session_destroy(); 
header("Location: index.php"); 
?> 
+4

「WHERE」....何ですか? – Uueerdo

+1

SELECTクエリでWHERE条件を追加します。 –

答えて

0

変更あなたのSQLクエリの

<?php 
session_start(); 
$servername = "localhost"; 
$username = "root"; 
$password = "****"; 
$dbname = "database"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE "; 
$result = $conn->query($sql); 
$row = $result->fetch_assoc(); 

?> 

$sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE username = <variable_having_user_name_value>"; 

ユーザ名以外の識別子の場合(電子メールまたはIDのような):

$sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE <identifier> = <variable_having_identifier_value>"; 
+0

SQLクエリを変更しようとしましたが、何も取得できませんでした。それは、htmlでユーザ名を表示するために自分のコードと何か関係がありますか? –

+0

どのユーザーがログインしているか、どのように知っていますか? – jaysingkar

+0

メールアドレスまたはユーザー名は正しいですか? – jaysingkar

-1
$sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE "; 
$result = $conn->query($sql); 

あなたのSQLにはWHEREデータがありません。だから、MySQLはあなたにいつも同じユーザを与えてくれると思います。 SQLインジェクションからデータを保護することを忘れないでください

// Get your user's profile data (from session for exemple) 
$email = $_SESSION['email']; 
$passcode = your_cypher_function($_SESSION['passcode']); 
// Then complete your query 
$sql = "SELECT id, username, passcode, email, Address, City, Country, Zip, FirstName, LastName, About FROM admin WHERE email = $email AND passcode = $passcode"; 

あなたがのような条件を提供する必要があります。私は簡単なテストのための簡単な例をあなたに与えました。

+0

私はあなたのソリューションを試して、私のPHPファイルはもはやブラウザに読み込まれていません。私は次に何をすべきか分からない。 –

+0

編集しましたが、もう一度やり直してください。ログインしたユーザーの電子メールをどのように入手しますか?これらのデータは、SQLを適切に処理するために必要になります。これを追加すると、すべてのPHPエラーが表示されます。 error_reporting(E_ALL);ini_set( 'display_errors'、1); – shabang

+0

現在、私は登録ページの設定はしていませんが、テーブルのデータベースには電子メール、ユーザー名、パスなどがあります。テーブルはFROM adminです。 –

関連する問題