Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用HTML下拉菜单中的值调用PHP函数_Php_Html_Drop Down Menu - Fatal编程技术网

使用HTML下拉菜单中的值调用PHP函数

使用HTML下拉菜单中的值调用PHP函数,php,html,drop-down-menu,Php,Html,Drop Down Menu,我正在创建一个包含购物车功能的网站,在将变量从HTML/Javascript来回传递到PHP时遇到了问题。我知道这些语言根本不同,希望有人能提供一些指导。我已经看到了一些关于类似主题的问题,但不幸的是还没有找到适合我的情况的解决方案 我已经在php中创建了一个多维产品数组,并希望从下拉菜单中捕获值以调用一个函数,其中下拉菜单的值对应于产品数组中的一行。我的产品列表显示在HTML表格中。我曾经尝试过$\u GET和$\u POST,但没有任何运气。另外,我希望避免添加提交按钮,因为产品功能的“打印

我正在创建一个包含购物车功能的网站,在将变量从HTML/Javascript来回传递到PHP时遇到了问题。我知道这些语言根本不同,希望有人能提供一些指导。我已经看到了一些关于类似主题的问题,但不幸的是还没有找到适合我的情况的解决方案

我已经在php中创建了一个多维产品数组,并希望从下拉菜单中捕获值以调用一个函数,其中下拉菜单的值对应于产品数组中的一行。我的产品列表显示在HTML表格中。我曾经尝试过$\u GET和$\u POST,但没有任何运气。另外,我希望避免添加提交按钮,因为产品功能的“打印”按钮会输出“添加到购物车”按钮。产品的“打印”按钮也会在侧边栏上创建购物车

<TD>
  <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="get">
  <select id="productcat1" name="productcat1">
    <option value="$">--Please Select--</option>
    <option value="1">Product # 1 - $1.99</option>
    <option value="2">Product # 2 - $1.99</option>
    <option value="3">Product # 3 - $9.99</option>
    <option value="4">Product # 4 - $9.99</option>
  </select>
  </form>
</TD>
<TD>    
  <?php $currentrow = 0; ?>
  <?php $currentrow = $_GET["productcat1"]; ?>
  <?php echo print_wp_cart_button_for_product($products[$currentrow]["Product"], $products[$currentrow]["Price"]); ?>
</TD>       


由于PHP是一种服务器端语言,它无法知道客户端正在发生什么(即用户浏览器中正在发生什么,例如他们选择了哪个下拉列表)。您必须使用javascript/ajax,或者完全运行您的函数,或者将所选选项传回服务器以运行PHP函数。或者,通过提交表单,您可以在不使用javascript/ajax的情况下与服务器通信,但您说过不想这样做


祝你好运

如果您想响应客户端上的选择,则不能使用PHP,但必须添加一些Javascript/JQuery事件处理程序函数。PHP与浏览器无关。。。你需要ajax,谢谢你的回复。我希望有一个我忽略的解决方案,但事实并非如此。是时候学习一些Ajax了@祝你好运!作为一个新用户,如果您觉得我的答案是完整的(尽管这是一个令人失望的现实),如果您投票赞成或接受我的答案,我将不胜感激。我仍在努力获得基本的网站功能,所以我需要每一个代表点,我可以得到!