-2

私は、ログイン後に自分のクライアント データを自分のプロファイル ページに表示するために、さまざまなコードの組み合わせを試しました。

ウェブサイトをデザインするのはこれが初めてで、これまで MySQL を使用したことはありませんでしたが、すべてがどのように機能するかをすばやく理解することができました。

ログイン時に情報を「保存」するセッションを作成する必要があることを理解しています。その後、必要に応じて表示できますか?

誰かが私が使用できるコードを持っていますか?

私のSQL情報:

  • データベース: taxretur_login
  • テーブル: メンバー

私が見せたい側面:

  • 名前
  • Eメール
  • ユーザー名

ありがとう。スタン。

アップデート:

このコードは機能し、すべてのテーブル情報をユーザー ページにプルしますが、その特定のユーザーに固有のデータのみが必要です。

<?php
$dbhost = 'localhost';
$dbuser = '';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT id_user, email, 
           name, username
    FROM members';

mysql_select_db('taxretur_login');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo "User ID :{$row['id_user']}  <br> ".
     "Email: {$row['email']} <br> ".
     "Name: {$row['name']} <br> ".
     "Username : {$row['username']} <br> ".
     "--------------------------------<br>";
}  
echo "Fetched data successfully\n";
mysql_close($conn);
?>
4

4 に答える 4

2

データベースにメンバー テーブルを作成する

CREATE TABLE `members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` char(20) NOT NULL,
  `name` char(30) NOT NULL,
  `email` char(40) NOT NULL,
  `pass` char(20) NOT NULL,
  PRIMARY KEY (`id`)
);

ユーザーをテーブル メンバーに追加する

INSERT INTO `members` VALUES ('1', 'user1', 'mr. x', 'email@domain.com', '123');

connection.php ページで mysql ユーザーとして変数を変更するだけです。

接続.php

<?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "";
$mysl_database = "taxretur_login";

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysl_database, $conn);
?>

login.php

<?php
include("connection.php");

if(isset($_POST["submit"])) {
    $username = $_POST["username"];
    $pass = $_POST["pass"];

    $sql = "SELECT * FROM members 
            WHERE username='$username' AND pass='$pass'";
    $result = mysql_query($sql);
    $numRows = mysql_num_rows($result);
    if($numRows==1) {
        session_start();
        $_SESSION["username"] = $username;
        header("Location: ./profile.php");
    } else {
        echo "Invalid Login Information";   
    }
}
?>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<table>
<tr><td>User Name</td><td><input type="text" name="username" /></td></tr>
<tr><td>Password</td><td><input type="password" name="pass" /></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
</table>
</form>

profile.php

<?php
session_start();
include("connection.php");

$username = $_SESSION["username"];

$sql = "SELECT * FROM members WHERE username='$username'";
$result = mysql_query($sql);

if($row = mysql_fetch_array($result)) {
    $username = $row["username"];
    $name = $row["name"];
    $email = $row["email"];

    echo "
    <table>
        <tr><td>User Name</td><td> : </td><td>$username</td></tr>
        <tr><td>Name</td><td> : </td><td>$name</td></tr>
        <tr><td>Email</td><td> : </td><td>$email</td></tr>
    </table>
    ";
}
?>
于 2013-09-24T10:47:37.270 に答える
1

最初に自分で試してみてください。ヘルプはこちらです。select ステートメントを使用したデータベース接続と名前の 出力 http://www.w3schools.com/php/php_mysql_select.asp
http://www.tutorialspoint.com/mysql/mysql-select-query.htm

于 2013-09-24T10:12:07.063 に答える
0

ユーザーがユーザー ID (uid) を持っていると仮定すると、そのユーザーの「uid」に関連する情報をデータベースから取得できるはずです。

クエリの例は次のようになります。

SELECT firstname, lastname, email FROM `users` WHERE `id` = 'UID_HERE';

テーブルに名、姓、メールのフィールド/列がある場合。

mysql_ はもはや開発されていないため、Mysqliを使用してすべてのデータベース作業を行うことを検討してください。

于 2013-09-24T10:24:33.457 に答える
0

クエリを変更する

$sql = 'SELECT id_user, email, name, username
          FROM members';

$sql = "SELECT id_user, email, name, username
          FROM members where id_user = '$dbuser'";
于 2013-09-24T10:36:56.793 に答える