要$ _GET或不要$ _GET

时间:2012-01-30 12:05:59

标签: php post get

<?php
/*random1 is a randomly generated number*/
if($_GET){
 /*picking 'i' using $_GET and doing a query in mysql*/
 /*Unable to pick the value from select box, using either $_GET or $_POST*/
 }
else{
  /*some other query*/
}
?>
  <a href="?i=<?php echo $random1;?>"> <span> Roll the dice!</span></a>

<span>Categories:&nbsp;</span> 
<select name="cat_area" >
<option value="all">All</option>
<option value="all">One</option>
<option value="all">Two</option>
<option value="all">three</option>
</select>

我的问题是:当我点击滚动骰子时,它知道i的值,但是如何从选择框中发送其中一个'选项'的值以及i。我是php的新手。告诉我,如果我在使用错误的输入时出错了。

3 个答案:

答案 0 :(得分:2)

首先,您目前对每个选项都有相同的value,因此无论如何您都无法确定他们选择了哪个。

<select name="cat_area" >
    <option value="all">All</option>
    <option value="one">One</option>
    <option value="two">Two</option>
    <option value="three">three</option>
</select>

您还需要将随机i添加为隐藏字段。

<input type="hidden" name="i" value="<?php echo $random1;?>" />

您对如何创建表单感到满意吗?

如果您特别希望它是<a链接,那么您将需要在select上修改onChange类型的Javascript函数来修改链接。它需要是一个链接吗?

答案 1 :(得分:1)

<?php
if($_GET)
{
  echo $_GET['i']; 
  echo $_GET['cat_area'];
}
?>

<a href="?i=<?php echo $random1;?>"> <span> Roll the dice!</span></a>

<span>Categories:&nbsp;</span> 
<form>
  <input type="hidden" name="i" value="<?php echo $random1;?>" />
  <select name="cat_area" >
    <option value="all">All</option>
    <option value="value_1">One</option>
    <option value="value_2">Two</option>
    <option value="value_3">three</option>
  </select>
</form>

答案 2 :(得分:-2)

修改

在评论中做出一些忏悔后,我可以猜出答案。但仍不确定。

1)制作一个这样的表格

<form>
  <input type="hidden" name="i" value="<?=$random1?>">
  <span>Categories:&nbsp;</span> 
  <select name="cat_area" >
    <option>All</option>
    <option>One</option>
    <option>Two</option>
    <option>three</option>
  </select>
  <input type="submit">
</form>

2)单击按钮。

3)观看地址栏。为它添加书签。

我认为来回发送随机值毫无意义 至于你的组合框 - 只需将它放在表单中 而且,正如亚历克斯指出的那样,你必须有不同的价值观。或者只使用标签之间的值。

<?php
if($_GET){
  $random1=rand();
  $cat_area=$_GET['cat_area'];
  // do your query
}
?>

<form>
  <span>Categories:&nbsp;</span> 
  <select name="cat_area" >
    <option>All</option>
    <option>One</option>
    <option>Two</option>
    <option>three</option>
  </select>
</form>