PHP获取选择了变量值的url

时间:2015-09-17 20:21:26

标签: php forms post dynamic get

我尝试使用选项值创建动态链接,但它不起作用。有人可以帮我找到错误吗?

这是我的代码:

<select id="ID1"name="provincia">
 <option value=""selected="selected">Seleziona dal menuù a tendina</option> 
 <option value="agrigento">Agrigento    </option> 
 <option value="alessandria">Alessandria    </option> 
 <option value="ancona">Ancona  </option> 
 <option value="aosta">Aosta    </option> 
 <option value="aquila">L'Aquila    </option> 
</select>

<a href="https://domainname.com/clients/cart.php?a=add&pid=76&sld=<?php echo $_GET["provincia"]; ?>&systpl=e24&language=Italian"> Clicca Qui </a>

2 个答案:

答案 0 :(得分:0)

我认为你实际上需要javascript,否则你需要通过get(或post)方法发送表单,刷新页面(或使用ajax)来更新链接......这是更简单的方法,imho:

<select id="ID1"name="provincia" onchange="get_url(this.value);">
 <option value=""selected="selected">Seleziona dal menuù a tendina</option> 
 <option value="agrigento">Agrigento    </option> 
 <option value="alessandria">Alessandria    </option> 
 <option value="ancona">Ancona  </option> 
 <option value="aosta">Aosta    </option> 
 <option value="aquila">L'Aquila    </option> 
</select>

<a id="link" href="https://domainname.com/clients/cart.php?a=add&pid=76&sld=VAR&systpl=e24&language=Italian"> Clicca Qui </a>

JS:

function get_url(val) {
    link=document.getElementById('link');

link.href=link.href.replace(/sld=\w+/,'sld='+val);
    console.log(link.href);
}

演示:http://jsfiddle.net/emjj473g/1/

(F12,打开控制台,查看链接更新,和/或点击链接以查看它确实有效......)

说明,如果需要,您可以使用onchange事件处理程序调用get_url()函数,并将选定的值传递给它,然后替换href / {link} a element属性的所需部分。当然,您可以创建其他条件来检查值(例如,用户必须选择有效值来更新链接)。

答案 1 :(得分:0)

你可以用这样的PHP

做到这一点
<?php
$locations = ['Arizona', 'Siberia', 'Antarctica'];
if (isSet($_GET['selection'])) {
   $q = urlEncode($locations[$_GET['selection']]);
   header('Location: http://www.google.com/search?q=' . $q); }
?>
<form method="get" action="?">
   <p>
      <select id="selection" name="selection">
         <option value="0">Arizona</option>
         <option value="1">Siberia</option>
         <option value="2">Antarctica</option>
      </select>
   </p>
   <p><input type="submit"/></p>
</form>