1

こんにちは、スタック オーバーフローです。現在、user_profile/username_here に行き詰まっています。問題は、必要なすべてのユーザー名を入力できることです。「/」の後ろに配置すると、作成されたユーザー名が表示されます。フィルターで除外されましたが、ユーザーのユーザー名を表示するにはどうすればよいですか? URLの後ろにログインしていますか?また、URL 書き換えも使用しています。htaccess:

RewriteEngine on
RewriteBase /

RewriteRule ^profile/([a-zA-Z0-9-\._]+)(\/)?                    /profile.php?username=$1 [L,QSA]

user_profile.php に使用しているコードは次のとおりです。

<?php
    require_once('db.php');
    session_start();

    if(!isset($_SESSION['id'])) {
        header("location: access_denied.php");
    } else {    

    $username = $_SESSION['username'];
    $firstname = $_SESSION['firstname'];
    $lastname = $_SESSION['lastname'];
    $result3 = mysql_query("SELECT * FROM tab where username='$username' AND firstname='$firstname' AND lastname='$lastname'");


    if($row3 = mysql_fetch_array($result3)) {
        $username = $row3['username'];
        $firstname = $row3['firstname'];
        $lastname = $row3['lastname'];
    }



?>
<html>
    <body>
        <table width="398" border="0" align ="center" cellpadding="0">
            <tr>
            <td height ="26" colspan="2">Profile info</td>
                <td><div align="right"><a href="log_out.php">Logout</a></div></td>
            </tr>
            <tr>
                <td width="129" rowspan="5"><img src="<?php echo $picture?>" width="129" height="129" alt="no image found"/></td>
                <td width="82" valign="top"><div align="left">Username:</div></td>
                <td width="165" valign="top"><?php echo $username ?></td>
            </tr>
            <tr>
                <td width="82" valign="top"><div align="left">Firstname:</div></td>
                <td width="165" valign="top"><?php echo $firstname ?></td>
            </tr>
            <tr>
                <td width="82" valign="top"><div align="left">lastname:</div></td>
                <td width="165" valign="top"><?php echo $lastname ?></td>
            </tr>
        </table>
        <p align="center"><a href="index.php"></a></p>
    </body>
</html>
<?php
    }
?>

現在のユーザー名が URL の背後でログインされるようにするには、どこにコードを配置する必要がありますか? 私はPHPにかなり慣れていないので、説明を歓迎します。また、エラーが表示された場合は、その旨をお知らせください。

4

2 に答える 2

1

MySQL_*は使用しないでください -- PHP 5.5 で非推奨になりました。代わりにMySQLiまたはを使用してください。PDO

好きな場所に配置できるコード。変数が設定されているので、あとはリンクを作成するだけです。

<a href="profile/<?php echo $username; ?>">

これにより、リンクが次のように構築されます。http://domain.tld/profile/username

于 2013-03-01T13:36:04.530 に答える
-1

これを試して:

<p align="center"><a href="index.php?name=<?php echo $username; ?>"></a></p>

ただし、余分なパラメータを除いて、htaccesを index.php として表示するように設定する必要があります

于 2013-03-01T13:26:37.183 に答える