2013-11-25 77 views
1

你好,我是新的PHP,所以我想知道是否有一種方法可以從循環創建的超鏈接中獲取文本? 有沒有解決方法?我的問題是,我無法從超鏈接中獲取名稱,以便我將該名稱傳遞給其他頁面。如何從超鏈接中獲取文本?

//我有這個代碼不起作用。

<head> 
<script language="javascript" type="text/javascript"> 

function GetText() 
{ 
    var linktext=document.getElementById('testlink').innerHTML; 
    <?php $_SESSION['name'] = "<script>document.write(lintext)</script>"?> 
} 
</script> 
<title>Search</title> 
<link rel="stylesheet" type="text/css" href="admincss.css" /> 
</head> 

if($pic != "") 
{ 
$total=mysql_affected_rows(); 
for($ff1=0;$ff1<$total;$ff1++) 
{ 
    print "<table width='100%' align='center' border='5'>"; 
    print "<td width='20%'><img src=\"$pic\" height='100px' width='100px'/>  </td>"; 
    print "<td align = 'center' width='20%'><a onclick='GetText()' ' href='search.report.php' id='testlink'>$name</a></td>"; // 
    print "<td align = 'center'width='20%'>$bday</td>"; 
    print "<td align = 'center'width='20%'>$no</td>"; 
    print "<td align = 'center'width='20%'>$eadd </td>"; 
    print "</table>"; 
} 
} 
+0

PHP和JS是不同的東西。 PHP意味着服務器,JS意味着客戶端。除非將其發佈到服務器,否則您無法獲得JS的JS變量。 – Sanjeev

+0

有沒有一種方法可以從超鏈接使用php獲取文本? –

+0

是的,你可以。好吧,@Broken Heart已經回答了。你可以遵循這一點。它不是一個好的方法,因爲它可以導致XSS,但仍然有效。 – Sanjeev

回答

0

我希望你是在談論這一行:

print "<td align = 'center' width='20%'><a ' href='search.report.php' id='testlink'>$name</a></td>"; // 

你需要寫這條線如下:

print "<td align='center' width='20%'><a href='search.report.php?name=$name' id='testlink'>$name</a></td>"; // 

然後你就可以在搜索得到的名稱。 report.php此文件代碼:

$_SESSION['name'] = $_REQUEST['name']; 
echo $_REQUEST['name']; 

你不能在JS文件中執行PHP代碼。所以你需要將它發送到服務器上,因爲PHP是服務器端語言。

+0

先生,我在你的最後一個代碼$ _SESSION ['name'] = $ _REQUEST ['name']中有錯誤。我使用會話將價值傳遞給其他頁面。我只想在點擊後將超鏈接的名稱傳遞給其他頁面。 –

+0

http://localhost/xampp/eRegform/search.report.php? name2 = Victor%20Allen%20%20id = sir是否有任何方法可以刪除此%20,%20%20id =? 我刪除width = '20%'id ='testlink'。現在沒關係,謝謝。 –

+0

@RenzCordero使用htmlentitydecode函數,你可以從谷歌閱讀更多關於它。 –