2013-10-07 24 views
0

在我的頁面中,我有一個表格,並使用PHP從我的數據庫中插入數據。表中每行都有鏈接。每個鏈接都將用戶引導至相應的頁面。但是這些頁面就像是一個完全相同的副本,只是有一點點不同。一個字。POST中的URL數據

現在,這是愚蠢的,爲每個鏈接創建一堆頁面。然後改變它們中的一個單詞。相反,我想創建一個頁面。從主頁面發佈數據(在url中)並從目標頁面獲取數據(來自url?)並執行一些操作。那麼,我應該只顯示代碼:

<td class="align-left"> 
    <a href="artist.php?artist=<?php echo $row['Link'] ?>"><?php echo $row['Name'] ?></a> 
</td> 

這是我說的那一行。這循環遍歷DB和$row['Link']每次迭代更改。生成的代碼是這樣的:

<td class="align-left"> 
    <a href="artist.php?artist=3doorsdown">3 Doors Down</a> 
</td> 

artist.php頁面包括在上面這段代碼:

<?php include('vars/3doorsdown.php'); ?> 

3doorsdown.php頁面包含在頁面中使用一些變量。我想要做的是從url(artist.php?artist=3doorsdown)獲取3doorsdown並將其放入目標頁面。就像這樣:

<?php 
    $postData = /*parse url and get data */; 
    include('vars/' .$postData. '.php'); 
?> 

我不知道如何從URL在PHP POST和GET數據。所以我需要幾個指針。

+3

'$ POSTDATA = $ _GET [ '藝術家'];' –

+0

以上的評論是正確的。小心不要混淆GET和POST數據。 GET數據在URL中可見,並且在加載網頁時不會修改任何內容。 POST數據通常用於創建/更新/刪除方案,不會在URL中發送。 –

回答

1

如果在您的網頁形式使用method="get",然後用$_GET['variable']訪問查詢字符串的值。

<?php 
    $artist = $_GET['artist']; 
    echo $artist; 
?> 

如果您使用的是method="post",那麼你就可以使用$_POST['artist'];

0

您可以從$_GET陣列中獲取該值。檢查文件是否先存在,然後包含它。

$file = 'vars/' .$_GET['artist']. '.php'; 

if (file_exists($file)) { 
    include $file; 
}