PHP GET ($_GET) 总是打印变量的名称而不是值

标签 php html mysql variables get

我想要做的是从自动完成菜单(ui.item.label)中获取所选术语的值,将其存储在变量中并将该值发送到我的数据库。为此,我有另一个名为“proceed.php”的 php 文件,它将我们连接到数据库并将数据插入到表中。

但我似乎一直坚持将变量“$selected”从look传递到proceed,因为无论我做什么,浏览器都会显示$vari ,即这里传递的变量 - proceed1.php?var=$vari

背景故事 - 您可能会注意到我已将变量 vari 指定为 apple。然而,我只看到 $vari 作为浏览器上的输出,而不是苹果。

任何帮助将不胜感激。

非常感谢。

look.php

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <script>
  $(function() {
    $( "#route" ).autocomplete({
      source: 'search.php',
      select: function( event , ui ) {
      $selected=ui.item.label;}   
    });
  });
  $vari="apple";
  </script>

</head>
<link rel="stylesheet" type="text/css" href="look.css" media="screen" /> 
<body> 
<div class="ui-widget">
  <label for="route">Router Name: </label>
  <input id="route">
  <br><br><br>
  <a href='proceed1.php?var=$vari' id=btn2 class="btn">Proceed</a>
</div>
</body>
</html>

继续.php

<?php
$dbHost = 'localhost';
$dbUsername = 'root';
$dbPassword = '';
$dbName = 'searchrouters';
//connect with the database
$db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);
//get search term
$vari = $_GET['var'];
echo $vari;
?>

更新:

谢谢,评论中提供的解决方案有效。但现在当我尝试获取变量 selected 的值时:

 <?php
  $vari=$_GET['selected'];
 ?>

然后将其传递到下一页:

<a href='proceed1.php?var=<?php echo $vari;?>' id=btn2 class="btn">Proceed</a>

我在浏览器上收到以下错误:

Undefined index: selected in C:\wamp\www\look.php on line 19

最佳答案

您需要在两个地方修改代码

<script>
  $(function() {
    $( "#route" ).autocomplete({
      source: 'search.php',
      select: function( event , ui ) {
         $selected=ui.item.label;
         $('#btn2').attr({'href':'proceed1.php?var='+$selected});
       } 
    }); 
  });
  </script>
<?php
  $vari="apple";
?>

<a href="proceed1.php?term=<?php echo $vari;?>" id=btn2 class="btn">Proceed</a>

当您需要访问变量时,只需使用 $_GET['var'] 无论您想在哪里使用带有 HTML 的 php,您都需要使用 <?php php code here ?>

这是一个demo

关于PHP GET ($_GET) 总是打印变量的名称而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370255/

相关文章:

php - PHP-docker容器中的环境变量

javascript - jQuery:定位每 6 个中的第 3 个元素

php - 信息未使用 PDO 输入到 mysql 数据库中

php - 根据 Woocommerce 选择的付款方式更改结账时的付款按钮

php - 从 PHP 调用 Jquery AJAX 后强制重定向

php - 如何将生产者作为服务注入(inject) RabbitMQBundle 消费者?

javascript - 禁用谷歌饼图上的点击事件

html - 将样式应用于动态列表的第一个元素

php - 如何在 PHP 中使用 switch case 从 MySQL 获取值

PHP/MySQL - 连接/联合两个表的结果