2013-03-30 80 views
-3

我知道,一個能在時提交按鈕一個URL傳值被點擊,如:
action= assignastemp.php?value1=a,然後使用$query=$_GET['value1'];使得$查詢將採取的值在assignastemp文件檢索。傳遞價值的URL在PHP

現在,請查看以下內容:

我有這行代碼在我assignastemp文件,這樣就可以檢索變量$query: $query=$_POST['searchprofid'];

教授ID在我已經把assignastemp的行動領域:action= 'sendmail.php?prof_id=$query'因爲我希望將這個相同的教授ID傳遞給我的下一個表單sendmail.php,以便我還可以在sendmail.php中顯示和使用它。但它沒有通過價值。 請告訴我正確的語法

這裏是我的search.php 文件(它工作正常,並給了我正確的結果,但不會傳prof_id到assignastemp.php):

<?php 
include('connectionfile.php'); 

    $query=$_POST['searchprofid']; 
    $query1 = $_POST['searchprofname']; 
    $query2=$_POST['searchprofdesignation']; 
    $query3=$_POST['searchprofexperience']; 
    $query4=$_POST['searchprofemail']; 
    $query5=$_POST['searchprofcolg']; 
    $query6=$_POST['searchprofsubject']; 


    echo "<br><p>"; 

     $raw_results = mysql_query("SELECT * FROM professor WHERE (`prof_id` LIKE '%".$query."%') AND (`prof_name` LIKE '%".$query1."%') AND (`designation` LIKE '%".$query2."%') AND (`experience` LIKE '%".$query3."%') AND (`prof_email_id` LIKE '%".$query4."%') AND (`college_name` LIKE '%".$query5."%') AND (`subject_name` LIKE '%".$query6."%') ") OR die(mysql_error()); 

    $number= mysql_num_rows($raw_results); 
    echo "<br>No. of results returned: "; 
    echo "$number"; 

if($number > 0) 
{ 

    echo ("<form id='assign' action= 'assignastemp.php?prof_id=$query' method='post'> <table border='1' cellpadding='8' cellspacing= '6' bgcolor= 'white' bordercolor='158bee' align='center' >") ; 
      while($results = mysql_fetch_array($raw_results)) 
    {   
       echo ("<tr><td><p>".$results['prof_id']."</td><td>".$results['prof_name']."</td><td>".$results['designation']."</td><td>".$results['experience']."</td><td>".$results['prof_email_id']."</td><td>".$results['college_name']."</td><td>".$results['subject_name']."</td> "); 

    echo(" <td><center><input type= 'submit' name='assign' value= 'Assign' /> </td>"); 

    /* echo(" <td><center><input type= 'hidden' name='prof_id' value='prof_id' /> </td>"); */ 

    echo("</p></tr>"); 
       } 
    echo("</table></form>"); 
} 

     else 
     { 
      echo "<br> No matches found."; 
     } 

mysql_close($id_link); 


?> 

Here's **assignastemp.php**:<?php 
include('connectionfile.php'); 

$prof_id= $_POST['prof_id']; 

echo("</p> Professor ID: $prof_id"); 
mysql_close($id_link); 


?> 
+1

將代碼粘貼到此處。 – Toretto

+0

你能發佈你的表單html代碼嗎?表單正在生成的位置 - 與正在提交的文件位於同一個文件中? – Aiias

+0

您需要使用POST方法將數據以POST形式發佈到$ _POST。 POST不能在URL中發送(這是GET方法)。 –

回答

2

在你喜歡的網址的結尾附加參數: ?prof_id=$query通過GET發送它們,因此您只能通過$_GET['prof_id']$_REQUEST['prof_id']訪問該值; POSTGET之間有差異,如this question所示。

+0

pkay,但我想我也需要在那裏發帖。我可以在兩個不同的變量中獲取併發布相同的值,並在同一個文件中以不同的方式使用它們嗎? – Pals

+0

@你現在使用的形式(使用'method = post'的形式),你會通過'GET'發送'prof_id',通過'POST'發送表單項。只是讓所有人的名字都不同,而且應該起作用。 – Tushar

+0

不,我嘗試了很多東西,沒有工作。必須儘快完成。所以我想我會把我的文件中的prof_id作爲輸入。問題解決了!無論如何謝謝:) – Pals

0

爲了能夠獲取使用$_POST[...]輸入的數據,您需要在HTML中使用某種方式(表單)來提交數據,方法是使用POST方法。

+0

是的,我已經使用post方法 – Pals