2011-05-12 61 views
1

我是编程的总诺贝尔,请耐心等待。我的问题可能看起来很愚蠢。如何在PHP中查询字符串中删除不必要的字符串?

我这里有一个查询字符串:

http://localhost/exercises/php_js/exer_test/?year_list=1994&event_list=Singing+Contest&btn_show=Show

我觉得&btn_show=Show有事情做与提交元素的值。有没有一种方法可以删除或隐藏查询字符串或URL?


index.php

<?php include('functions.php'); ?> 

<html> 
<head> 
<script type="text/javascript" src="myscripts.js"></script> 
</head> 
<body> 
<div> 
    <form name="myform" > 
    Select Year: <?php echo hspacer(1); ?> 
    <select id="year_list" name="year_list" > 
    <?php 
    for($year = (date('Y') - 100); $year <= (date('Y') + 100); $year++) { 
    if ($year == date('Y')) echo "<option value='$year' name='$year' selected='' >" . $year . "</option>"; 
    else echo "<option value='$year' name='$year' >" . $year . "</option>"; 
    } 
    ?> 
    </select> 
    <?php echo hspacer(5); ?> 
    Select Event: <?php echo hspacer(1); ?> 
    <select id="event_list" name="event_list" > 
    <?php 
    $events = array("Karate Tournament", "Beauty Pageant", "Film Festival", "Singing Contest", "Wedding"); 

    foreach($events as $event) echo "<option value='$event' name='$event' >" . $event . " </option>"; 
    ?> 
    </select> 
    <?php echo vspacer(2); echo hspacer(22); ?> 
    <input type="submit" id="bnt_show" name="btn_show" value="Show" onclick="show(); "/> 
    </form> 
</div> 
</body> 
</html> 



functions.php

<?php 
function hspacer($num_of_spaces) { 
    $spaces = ""; 
    if ($num_of_spaces > 0) for($i=0; $i<$num_of_spaces; $i++) $spaces .= "&nbsp;"; 

    return $spaces; 
} 

function vspacer($num_of_linefeeds) { 
    $linefeeds = ""; 
    if ($num_of_linefeeds > 0) for($i=0; $i<$num_of_linefeeds; $i++) $linefeeds .= "<br />"; 

    return $linefeeds; 
} 
?> 



myscripts.js

function show() { 
var year = document.getElementById('year_list').value; 
var event = document.getElementById('event_list').value; 
var result = "Year: " + year + "\nEvent: " + event; 

alert(result); 
} 
+0

我想你正在寻找'$ _SERVER ['QUERY_STRING']'。你可以在这里找到文档:http://www.php.net/manual/en/reserved.variables.server.php – styfle 2011-05-12 07:46:41

+0

感谢曼的信息... – 2011-05-12 07:56:31

回答

6

您可以删除名称(例如name="btn_show")以删除URL中的查询字符串。

<input type="submit" id="bnt_show" value="Show" onclick="show(); "/> 
1

只需通过添加方法参数来完成表单标记。例如。 method="post"。如果这样做,表单中的变量将通过HTTP POST传递给Web服务器。之后,您可以在$_POST阵列中找到PHP中的变量。

查看以下网址以获得完整的FORM标签说明。

http://www.w3schools.com/tags/tag_form.asp

1

是的,如果你没有使用的价值,从提交按钮的输入元素删除值,或使用按钮标签。

如果您使用该值,则将它放入网址也是正确的。