PHP - 如何从隐藏输入类型和$ _POST到另一个PHP获取名称?

PHP  - 如何从隐藏输入类型和$ _POST到另一个PHP获取名称?

问题描述:

I wish can pass the value of getvenueurl to another php named map.php .

I use input type hidden to to echo in current page:

<input type="hidden" name="getvenueurl" value="<?php echo $show_venue['url']; ?>"/>

and I wish when i click the button <a href="map.php" target="_blank"><input type="button" class="button" value="MAP" style="width:100px;"> in map.php show the correct value of getvenueurl.

In current page:

 <?php
$read_venue = mysql_query("select * from venue where theme_name = '$title'");

while($show_venue = mysql_fetch_array($read_venue)) 
{

?>
<form method="post" action="#tab5">
<center><table border="1" class="venuetb">

    <tr>
        <input type="hidden" name="getvenue" value="<?php echo $show_venue['venue']; ?>"/>
        <input type="hidden" name="getvenueprice" value="<?php echo $show_venue['price']; ?>"/>
        <input type="hidden" name="getvenueurl" value="<?php echo $show_venue['url']; ?>"/>

        <td style="width:20%;"><center><div class="imgvenue"><img src="<?php echo 'venueimg/'.$show_venue['venueimg']; ?>" /></div></center></td>

        <td ><center><div class="bine"><?php echo $show_venue['venue']; ?> - RM <?php echo $show_venue['price']; ?></div></center></br>
        <div class="dv"><p>&nbsp;<b>Address : </b><?php echo $show_venue['address']; ?></p>
        <p>&nbsp;<b>Detail : </b><?php echo $show_venue['detail']; ?></p>
        <b>&nbsp;Contact No: </b><?php echo $show_venue['contact']; ?></div>
        </td>
        <td style="width:20%;">
        <center><a href="map.php" target="_blank"><input type="button"  class="button" value="MAP" style="width:100px;"></a>
        <input type="submit" class="button" style="width:100px;" value="CHOOSE" name="choose_venue"></center>


        </td>

    </tr>
        </table></center><br>
</form>
<?php
        $_SESSION['theurl'] = $show_venue['url']; 

}   
?>

<?php 
    if(isset($_POST['choose_venue']))
{
    $getvenue = $_POST['getvenue'];
    $getvenueprice = $_POST['getvenueprice'];



    $savevenue = mysql_query("insert into selectvenue(user,title,venuename,venueprice) values('$username','$title','$getvenue','$getvenueprice')");
    if($savevenue)
        {
            echo"<center>$getvenue  save.</center>";

        }
        else
        {
            echo "Failed.";

        }
}
?>
</div>

I have try to use session to pass the value of getvenueurl but seen it is failed, because it will only show the last column value for all output that in while loop.

In map.php:

    <table class="mapping">
    <tr>
    <td>
        <?php
        $theurl = $_SESSION['theurl'];
         echo $theurl;?>
    </td>
    </tr>
</table>

How can I get the correct value to my map.php ?

u can pass value through anchor tag this way..i hope this will help u.

<a  href="map.php?getvenueurl=<?php echo $show_venue['url']; ?>" target="_blank"><input type="button"  class="button" value="MAP" style="width:100px;"></a>

Instead of

 <a href="map.php" target="_blank"><input type="button"  class="button" value="MAP" style="width:100px;"></a>

write this code

<input type="button"  class="button" onclick="submit_to_map()" value="MAP" style="width:100px;">

Then place this javascript code on the page.

<script type="text/javascript">
function submit_to_map() {
    var form = document.getElementById("form-id");
    form.action = "map.php";
    form.submit();
}
</script>

Then you can get the value of all elements with $_POST[] inside the form from map.php. Hope this will help you

Confirm you have <?php session_start(); ?> on beginning of each page !