2016-07-21 2 views
-3

私は、「users」というテーブルを持つ「members」というデータベースを持っています。ユーザーテーブルには、新しいユーザーが追加されるたびに自動的にインクリメントする 'id'列があります。私はログインしたユーザーのIDを取得し、その単一行のデータを表示したい。これは私のサインアップコードであるSQLデータベースから特定のデータを表示

<?php 
    session_start(); 
    // Connect to server and select databse. 
    mysql_connect("localhost", "root", "")or die("cannot connect"); 
    mysql_select_db("members")or die("cannot select DB"); 
    // username and password sent from form 
    $prepreemail=$_POST['email']; 
    $prepremypassword=$_POST['mypassword']; 
    $preemail = stripslashes($prepreemail); 
    $premypassword = stripslashes($prepremypassword); 
    $email = mysql_real_escape_string($preemail); 
    $mypassword = mysql_real_escape_string($premypassword); 
    $sql="SELECT * FROM users WHERE email='$email' and password='$mypassword'"; 
    $result=mysql_query($sql); 


    // Mysql_num_row is counting table row 
    $count=mysql_num_rows($result); 
    // If result matched $myusername and $mypassword, table row must be 1 row 
    if($count==1){ 
    // Register $myusername, $mypassword and redirect to file "login_success.php" 
    header ("location:home.html"); 
    } 
    else 
    { 
    header ("location:sign_in.php"); 
    } 
    ?> 

: これは私のログインコードである

<?php 
    session_start(); 
    $con = mysql_connect("localhost","root",""); 
    if (!$con) 
     { 
     die('Could not connect: ' . mysql_error()); 
     } 

    mysql_select_db("members", $con); 

    $sql="INSERT INTO users (name, email, address, dob, password) 
    VALUES 
    ('$_POST[name]','$_POST[email]','$_POST[address]','$_POST[dob]','$_POST[mypassword]')"; 

    if (!mysql_query($sql,$con)) die('Error: ' . mysql_error()); 
    $_SESSION['userID'] = "SELECT id from users"; 

    { 
     header ("Location: sign_in.php"); 
     exit; 
    } 

    mysql_close($con) 
    ?> 

そして、これは私の表示ユーザの詳細コードです:それはないいくつかの理由について

<?php 
    session_start(); 
    // Create connection 
    $conn = new mysqli("localhost", "root", "", "members"); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 
    $userID = $_SESSION['userID']; 
    $sql = "SELECT name, email, address, dob FROM users WHERE `users`.`id`=$userID"; 
    $result = $conn->query($sql); 

    if ($result->num_rows > 0) { 
     echo "<table><tr><th>Name</th><th>Email</th><th>Address</th><th>DOB</th></tr>"; 
     // output data of each row 
     while($row = $result->fetch_assoc()) { 
      echo "<tr><td>".$row["name"]."</td><td>".$row["email"]."</td><td>".$row["address"]."</td><td>".$row["dob"]."</td></tr>"; 
     } 
     echo "</table>"; 
    } else { 
      echo "<p>No Details</p><style>p{color: #336699; font-size: 20pt; font-family: Gulim; font-weight: bold; align: center; padding: 10px; position: absolute; top: 250; left: 600; z-index: 2; border-spacing: 0px;}</style> "; 
    } 
    $conn->close(); 
    ?> 

誰か助けてください!

+0

あなたは今、何を得ていますか? – Saurabh

+0

エラーのチェックが不足しています。 – Drew

+0

インサートにサインアップチャンクは、古典的な2レベルのSQLインジェクション – Drew

答えて

0

実際にあなたのコードが...いくつかのミスを持っており、あなたの質問をクリアしていない...私はいくつかの変更は、あなたの質問のために必要だと思いますし、データベースから情報を取得しながら、code.Pleaseは、セッション変数を設定します。

<?php 
session_start(); 
// Connect to server and select databse. 
mysql_connect("localhost", "root", "")or die("cannot connect"); 
mysql_select_db("members")or die("cannot select DB"); 
// username and password sent from form 
$prepreemail=$_POST['email']; 
$prepremypassword=$_POST['mypassword']; 
$preemail = stripslashes($prepreemail); 
$premypassword = stripslashes($prepremypassword); 
$email = mysql_real_escape_string($preemail); 
$mypassword = mysql_real_escape_string($premypassword); 
$sql="SELECT * FROM users WHERE email='$email' and password='$mypassword'"; 
$result=mysql_query($sql); 
$count=mysql_num_rows($result); 
// If result matched $myusername and $mypassword, table row must be 1 row 
if($count==1){ 
// Register $myusername, $mypassword and redirect to file "login_success.php" 
    $row=mysql_fetch_array($result); 
    $_SESSION['id']=$row['id']; 
    if($_SESSION['id']) 
    { 
header ("location:home.php"); 
    } 
} 
else 
{ 
header ("location:sign_in.php"); 
} 
?> 

このログインした人物のIDは、$ _SESSION ['id']に格納されています。あなたはhome.php

<?php 
session_start(); 
$logid=$_SESSION['id']; 
echo $logid; 

次のように次のようにディスプレイのユーザの詳細コード内のいくつかの変更を行ってください、あなたのPHPページでこの値を取得することができます。

<?php 
session_start(); 
// Create connection 
$conn = new mysqli("localhost", "root", "", "members"); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$userID = $_SESSION['id']; 
$sql = "SELECT name, email, address, dob FROM users WHERE `users`.`id`=$userID"; 
$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
echo "<table><tr><th>Name</th><th>Email</th><th>Address</th><th>DOB</th></tr>"; 
    // output data of each row 
while($row = $result->fetch_assoc()) { 
     echo "<tr><td>".$row["name"]."</td><td>".$row["email"]."</td><td>".$row["address"]."</td><td>".$row["dob"]."</td></tr>"; 
    } 

echo "</table>"; 
} else { 
echo "<p>No Details</p><style>p{color: #336699; font-size: 20pt; font-family: Gulim; font-weight: bold; align: center; padding: 10px; position: absolute; top: 250; left: 600; z-index: 2; border-spacing: 0px;}</style> "; 
} 
$conn->close(); 
+1

ありがとうをとても、それは今働いて!!!!!! –

+0

あなたのために働いていれば、答えを記入して投票してください。ありがとう – Aswathy

関連する問題