在php中传递url中的值

时间:2013-03-30 08:06:17

标签: php url dynamic syntax action

我知道当点击提交按钮时,可以在网址中传递值,如: action= assignastemp.php?value1=a然后使用$query=$_GET['value1'];在assignastemp文件中检索它,以便$ query将值a。

现在,请查看以下内容:

我的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);


?>

2 个答案:

答案 0 :(得分:2)

在您的网址末尾附加参数,例如:?prof_id=$query通过GET发送参数,因此您只能通过$_GET['prof_id']$_REQUEST['prof_id']访问该值; POSTGET之间存在差异,如this question所示。

答案 1 :(得分:0)

您需要在HTML中使用某种方式(表单)通过POST方法提交数据,以便能够使用$_POST[...]获取输入的数据。