2012-08-02 29 views
0
if(isset($_GET['action']) && $_GET['action']=='album_id=$album['id']') 

現在,我相信大家可以看到這裏的錯誤我想檢查該鏈接被點擊如何調用isset時調用或傳遞此變量?

<a href="<?php echo $profile_data['username'];?>?action=album_id=<?php echo $album['id'];?>"> 

現在這個鏈接的作品,並顯示它應該在URL中,但我不能弄清楚如何將$ album ['id']傳遞給if語句isset?

編輯

好,我這樣做:

<a href="<?php echo $profile_data['username'];?>?action=album_id&action_id=<?php echo $album['id'];?>"> 

if($_GET['action'] == 'album_id' && $_GET['action_id'] == $album['id']) 

,並在返回的不確定變量,如果聲明說,這張專輯是不確定的變量

這是我的htaccess file:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /lr/profile.php?username=$1 [QSA] 

這裏是我的整個PHP文件:

<?php 
include 'core/init.php'; 
include 'init.image.php'; 
protect_page(); 
include 'includes/overall/overall_header.php'; 


if(isset($_GET['username']) === true && empty($_GET['username']) === false){ 
$username  = $_GET['username']; 


if(user_exists($username) === true){ 
$user_id  = user_id_from_username($username); 
$profile_data = user_data($user_id, 'first_name','last_name','email', 'username'); 
?> 

    <h1><?php echo $profile_data['first_name']; ?>'s Yor Page</h1> 

<div id="navWrapper"> 
    <ul> 
     <li> 
      <a href="#"><img src="uploads/profile/blank_profile.gif" width="150" height="150" id="blank_profile"></a> 
     </li> 

     <nav> 
      <ul> 
       <li> 
        <a href="<?php echo $profile_data['username'];?>?action=albums">Albums</a> 
       </li> 
       <li> 
        <a href="<?php echo $profile_data['username'];?>?action=music">Music</a> 
       </li> 
      </ul> 
     </nav> 
    </ul> 
</div> 

<?php 
if(isset($_GET['action']) && $_GET['action']=='albums'){ 

$albums = get_profile_albums($user_id); 

if(empty($albums)){ 
echo 'No Albums'; 
}else{ 
foreach($albums as $album){ 
if (empty($album['image'])) { 

    $album['image'] = 'uploads/profile/blank_profile.gif'; 
} 

?> 
<p><?php echo $album['name'],' (', $album['count'], ')'?> <br /> 
    <a href="<?php echo $profile_data['username']; ?>?action=album&album_id=<?php echo $album['id']; ?>"> 
    <img src="uploads/thumbs/<?php echo $album['id'];?>/<?php echo $album['image'];?>" /> 
    </a><br /> 
    <?php echo $album['description'];?>...<br /> 
    </p> 
<?php 



} 


} 


} 
else if (isset($_GET['action']) && $_GET['action']=='album' && isset($_GET['album_id'])){ 
echo 'albums'; 
} 







if(isset($_GET['action']) && $_GET['action']=='music'){ 
echo'<h1>Music</h1>'; 
} 

}else{ 
    echo 'Sorry, that user doesn\'t exist'; 
} 
}else{ 
header('Location: index.php'); 
exit(); 
} 

include 'includes/overall/overall_footer.php'; 
?> 
+0

你能真正做到這一點?把參數放在url中,比如'action = album_id = 1'? – lusketeer 2012-08-02 01:54:42

+0

是的,它返回使用該鏈接點擊的任何相冊的相冊ID。 – 2012-08-02 01:56:18

+0

感覺有點奇怪,也許我還是有點新的PHP,但我會建議另一種方式 – lusketeer 2012-08-02 01:57:51

回答

0

你沒有目的地,你嘗試訪問的php文件在哪裏?你從username開始。請在這裏href="<?php echo $profile_data['username'];?>?

嘗試分開行動和ID,它可能只是我,我發現它有點怪異的把它像action=album=1

你可以嘗試這樣的

$_GET['action'] == 'album' && $_GET['action_id'] == $album['id'] 

這樣的網址是看起來像

?action=album&action_id=1 
+0

我試過了,並得到一個錯誤看到我的問題,我編輯它給你看 – 2012-08-02 02:09:04

+0

是的,這工作的網址作品,並正確返回用戶名和專輯ID,但我不能得到$ album ['id']出於某種原因,我已經完成了此操作以訪問此代碼所在的用戶個人資料頁面,現在我正試圖通過鏈接和GET功能將用戶個人資料頁面鏈接到用戶個人資料頁面。 – 2012-08-02 02:11:34

+0

如果$ album ['id']'無法打印出來,那麼你可能想檢查一下是否設置正確。 – lusketeer 2012-08-02 02:15:40

1

正確的方法是將具有正確編碼的網址:

<a href="<?php echo $profile_data['username'];?>?action=<?php echo urlencode('album_id='.$album['id']); ?>"> 

,然後對其進行解碼

if(isset($_GET['action']) && urldecode($_GET['action'])=='album_id='.$album['id']) 
+0

它會拋出一個錯誤說在if語句中的undefined變量專輯 – 2012-08-02 02:00:07

+0

那麼你究竟想要什麼動作等於在if語句中?如果'$ album'沒有被定義在你正在執行if檢查的地方,那麼你不能用它來測試'$ _GET ['action']的值... – Dreen 2012-08-02 02:03:15

+0

IT被定義我可以回顯它,if語句之外。 – 2012-08-02 02:15:09

0

我認爲@Dreen回答你的問題,但我會分開的行動參數像AC重刑和ID:

<a href="<?php echo $profile_data['username'];?>?action=album&id=<?php echo $album['id'];?>"> 

,並檢查

if(isset($_GET['action']) && $_GET['action']=='album' && isset($_GET['id']) && $_GET['id']==$album['id']) 
+0

不,這是相同的錯誤在if語句中的未定義變量專輯,就好像編譯器不會識別變量末尾的['id'],因爲錯誤並沒有在專輯中提及它。 – 2012-08-02 02:14:19

+0

我想這是'$ album ['id']'的錯誤。你真的設定了價值嗎? – mask8 2012-08-02 02:17:25

+0

是的,我可以在if語句之外回顯它,並且它正確回顯。實際上,在它顯示它的URL,就像我的問題中的鏈接假設工作。 – 2012-08-02 02:22:41

相關問題