2011-10-01 56 views
0

我要求的是用戶如何訪問其他用戶配置文件。讓用戶在我自己的書面社區中訪問其他用戶(個人資料)?

過去的一週裏,我一直在編寫一個社交網絡的腳本,現在我一直在堅持。

我不知道從哪裏開始閱讀或什麼。

所以我要求你們給好心幫我=)

URL的

即時通訊思想要像user.php?id=123尋找和獲取用戶您正在訪問的展現出來,而不是「你」至極是user.php

現場演示:http://social.swipper.org

編輯#2:

下面是當前的代碼裏面我得到了user.php的:

<?php 
session_start(); 
if($_SESSION['username']) { 
    include "config.php"; 

    $username = $_SESSION['username']; 
    $fetcher = mysql_query("SELECT * FROM userinfo WHERE username='$username'"); 

    while ($data = mysql_fetch_assoc($fetcher)){ 
     $firstname = $data['firstname']; 
     $lastname = $data['lastname']; 
     $gender = $data['gender']; 
    } 

    // get user's profile image 
    if (file_exists("users/$username/profile.jpg")) { 
      $userPhoto = "<img class='pic' src='users/$username/profile.jpg' width='90%' height='30%' />"; 
    } 
    elseif (!file_exists("users/$username/profile.jpg")) { 
      $userPhoto = "<img class='pic' src='http://www.uavmedia.com/portal/images/no-user.jpg' width='90%' height='30%' />"; 
    } 
    // the user's profile image is fetched 

    // henter profil text 
    $file = "users/$username/bio.txt"; 
    $contents = file($file); 
    $profile_text = implode($contents); 
    // ferdig å hente profil text, vil nå echo ut profil siden. 
    // henter profil stilsett 
    $file2 = "users/$username/style.css"; 
    $contents2 = file($file2); 
    $profile_style = implode($contents2); 
    // ferdig å hente profil stilsett. 

    echo 
    " 
    <!doctype html> 
    <html lang='en'> 
    <head> 
     <title>Social FW</title> 
     <meta name='Description' content='A Social network for everyone. Come join us!' /> 
     <meta name='Keywords' content='Social, Network, Framewerk, Framework, FW, Open-Source, Free' /> 
     <link rel='stylesheet' type='text/css' href='user_files/style.css' media='screen' /> 
     <link rel='stylesheet' type='text/css' href='SFW_files/style2.css' media='screen' /> 
<style type='text/css'> 
$profile_style 
</style> 
     <link rel='icon' href='SFW_files/favicon.ico' media='screen' /> 
     <script type='text/javascript' src='http://code.jquery.com/jquery-latest.js'></script> 
     <script type='text/javascript' src='SFW_files/scripts/login.js'></script> 
    </head> 
    <body> 

    <div id='top'> 
     <h1>Swipper.org</h1> 
    </div> 
    <div id='side-menu'> 
     <ul> 
      <li><a href='user.php'><b>".$username."</b></a></li><br/> 
      <li><a href=''>Inbox</a></li> 
      <li><a href=''>Guestbook</a></li> 
      <li><a href=''>Friends</a></li> 
      <li><a href=''>Pictures</a></li><br /> 

      <div id='showOptions'><li><a href='#'>Edit Profile</a></li></div> 
       <div id='editOptions' style='display:none;'> 
<pre class='user_info'><b>></b><a href='changeText.php'>Edit Profile Text</a> 
<b>></b><a href='changeCss.php'>Edit Stylesheet(CSS)</a> 
<b>></b><a href='changeProfilePic.php'>Change Profile Image</a></pre> 
       </div><br /> 
      <a href='logout.php'><b>Logout</b></a> 
     </ul> 
    </div> 
    <div id='side-left'> 
    <!-- START USER PIC --!> 
      <center> 
       $userPhoto<br /> 
      </center> 
    <!-- END USER PIC --!> 
    <!-- START USER INFO --!> 
      <br /> 
      <h3><pre class='user_info'>User Info</pre></h3> 
       <pre class='user_info'>Name: ".$firstname." ".$lastname."<br />Sex : $gender</pre> 
    <!-- END USER INFO --!> 
    </div> 
    <div id='box_center'> 
     <h2 style='font-size:30px;' align='center'>$username</h2> 
      <hr /> 
     <br /> 
     $profile_text 
    </div> 
    <div id='footer'> 
     <p align='center'>Swipper.org &copy; All rights reserved. 2010-2012</p> 
    </div> 

    </body> 
    </html> 
    "; 
} 
else { 
    die("You need to login first or register. You can register/login <a href='index.php'>here</a>!"); 
} 
?> 

當URL是這樣的:user.php的ID? = 3我想讓用戶使用userid 3顯示,並獲取用戶#3的信息,而不是想要訪問其他人的「用戶」。

+0

user.php?id = 123你的意思是當你輸入你的個人資料?或者你不知道如何使鏈接看起來像這樣的另一個人的個人資料? – Mido

+0

你試過了嗎?任何代碼片段?你如何從數據庫中獲取用戶? –

+0

即使你的編輯,它仍然不清楚。你究竟在哪裏堅持着,用你的桌子架構,友誼檢查功能,以及你堅持到底是什麼? – Shef

回答

0

讓您的查詢像

$userID = $_GET['id']; 
$fetcher = mysql_query("SELECT * FROM userinfo WHERE userID='$userID'"); 

,並在給定的URL,你可以根據顯示與有效的用戶ID的任何用戶的數據。

如果可以在沒有登錄的情況下查看配置文件,那麼就不需要會話,如果它的強制性只檢查isset或不是。如果您在URL傳遞用戶名作爲

user.php?user=test1 

那麼您的查詢就會像

$username = $_GET['user']; 
$fetcher = mysql_query("SELECT * FROM userinfo WHERE username='$username'"); 

希望現在它更加清晰到u。

+0

值從$ _GET ** **必須被鑄造爲int,如下所示:$用戶ID =(int)的$ _ GET [ 'ID']; 這是一個很大的安全漏洞,否則 – Tibo

+0

進出口檢驗忙啥 –

+0

還有一個問題,在$用戶名變量仍然假設是一樣的嗎? –

0

這應該是你的答案:

if (isset($_GET['username']){ 
    $username = mysql_escape_string($_GET['username']); 
}else{ 
    $username = $_SESSION['username']; 
} 
$fetcher = mysql_query("SELECT * FROM userinfo WHERE username='$username'"); 
if (mysql_num_rows() == 0){ 
    $username = ''; 
    echo 'Username not found'; die(); 
} 
1

你列出所有用戶的一些在哪裏?如果你是在href必須像

<?php 
    $sql = mysql_query("SLECET * FROM userinfo"); 
    while ($row = mysql_fetch_assoc($sql)){ 
     echo "<a href='users.php?id=" . $row['id'] . "'>" 
    } 

然後在users.php

<?php 
     if(isset($_REQUEST['id'])) { 
      if(is_numeric($_REQUEST['id'])){ 
       $uid = $_REQUEST['id']; 
       $sql = mysql_query("SELECT * FROM userinfo WHERE id='" . $uid . "' LIMIT 1"); 
      } 
     } else { 
      $sql = mysql_query("SELECT * FROM userinfo WHERE username='" . $_SESSION['username'] . "' LIMIT 1"); 
     } 

再後來你的HTML可以使用與FETCH_ASSOC($ SQL)

<table> 
    <tr> 
     <td><?php echo $row['username'] ?>'s Profile</td> 
    </tr> 
</table> 

簡單的例子。但我想你會得到這張照片,在FB上給我發更多的消息,這個Stian

+0

請求增值經銷商可以是你想要的,只要你可以驗證它針對MySQL的什麼都。它完全取決於你,但你需要逃避用戶的輸入 – dhazelett

相關問題