URL后面的用户名

时间:2013-03-01 13:20:48

标签: php html mysql

Hello堆栈溢出目前我有点困在我的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
    }
?>

我需要在哪里放置代码,以便当前的用户名记录在网址后面? 欢迎解释,因为我对PHP很新。 如果您发现任何错误,请说明。

2 个答案:

答案 0 :(得分:1)

不要使用MySQL _ * - 它已在PHP 5.5中弃用。请改用MySQLiPDO

您可以将代码放在任何您想要的位置。由于您已设置变量,因此您只需构建链接即可。

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

这将构建链接:http://domain.tld/profile/username

答案 1 :(得分:-1)

试试这个:

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

但你需要设置你的htaccess将其视为index.php,而不需要额外的参数