【问题标题】:PHP request isn't get value [closed]PHP请求没有获得价值[关闭]
【发布时间】:2021-03-16 08:39:33
【问题描述】:

我有一个在标签中的滑块。我想将滑块放入数据库。 在“index.php”中:

<form class="" action="insert.php" method="$_POST">
<input type="range" min="1" max="10" value="5" class="slider" id="myRange" name="myrange">
  <p>Value: <span id="demo"></span></p>
  <button id="btn1">Click Here</button>
</form>

并在insert.php中:

    <?php
$getRangeValue = $_GET['myRange'];
$mysqli = new mysqli("localhost","root","passwd","table_name");
//
// Check connection
if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$mysqli -> query("INSERT INTO ertekek (RangeValue, anotherValue) VALUES ($getRangeValue, 11)");
echo "New record has id: " . $mysqli -> insert_id;
$mysqli -> close();
?>

网址:“http://localhost/insert.php?myrange=10”

它正在运行,它会生成一行,但该行完全是空的……所以我不知道发生了什么……

【问题讨论】:

  • 你很困惑,你正在启动一个带有POST 方法的表单,假装在一个永远不会是你在问题中写的链接上使用GET 方法。

标签: php get slider


【解决方案1】:

正确的代码:

<form class="" action="insert.php" method="POST">
   <input type="range" min="1" max="10" value="5" class="slider" id="myRange" name="myrange">
  <p>Value: <span id="demo"></span></p>
  <button id="btn1">Click Here</button>
</form>

并在insert.php中:

<?php
$getRangeValue = $_POST['myrange'];
$mysqli = new mysqli("localhost","root","passwd","table_name");
//
// Check connection
if ($mysqli -> connect_errno) {
  echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
  exit();
}

$query = $mysqli->prepare("INSERT INTO ertekek (RangeValue, anotherValue) VALUES (?, 11)");
$query->bind_param('i',$getRangeValue);
$query->execute();
echo "New record has id: " . $mysqli -> insert_id;
$mysqli -> close();
?>

我改变了什么?

  • 我更改了方法method="POST" 而不是method="$_POST"
  • 在变量 $getRangeValue 上将 GET 更改为 POST
  • 使用准备语句代替简单且不安全的查询

我建议您阅读的链接

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2021-03-28
    • 2016-01-30
    • 2018-04-08
    • 2018-04-09
    • 2012-06-24
    相关资源
    最近更新 更多