【发布时间】:2020-01-16 23:26:14
【问题描述】:
我正在使用Range Sliders jQuery (picture),如果我不是每次都更改所有值,则表单不会发送,我不知道为什么。如果有人知道如何解决这个问题,即使通过修改单个值,表单也会发送。谢谢:))
send_settings.php
<?php
if(isset($_POST['submit_range']))
{
$temp_min_php=$_POST['temp_min_field'];
$temp_max_php=$_POST['temp_max_field'];
$hum_min_php=$_POST['hum_min_field'];
$hum_max_php=$_POST['hum_max_field'];
$eau_min_php=$_POST['eau_min_field'];
$eau_max_php=$_POST['eau_max_field'];
$lum_min_php=$_POST['lum_min_field'];
$lum_max_php=$_POST['lum_max_field'];
$conn = mysqli_connect("localhost", "root", "toor", "db");
$query = "UPDATE settings SET temp_min = '$temp_min_php',temp_max = '$temp_max_php',hum_min = '$hum_min_php',hum_max = '$hum_max_php',eau_min = '$eau_min_php',eau_max = '$eau_max_php',lum_min = '$lum_min_php',lum_max = '$lum_max_php'";
$result = mysqli_query($conn, $query);
}
?>
settings.php
<script type="text/javascript">
$(function() {
$( "#temp-range" ).slider({
range: true,
min: 0,
max: 500,
values: [ <?php echo $row['temp_min']; ?>, <?php echo $row['temp_max']; ?> ],
slide: function( event, ui ) {
$( "#temp_amount" ).html( ui.values[ 0 ]+ " °C" + " - " + ui.values[ 1 ]+ " °C" );
$( "#temp_min_field" ).val(ui.values[ 0 ]);
$( "#temp_max_field" ).val(ui.values[ 1 ]);
}
});
$( "#temp_amount" ).html( $( "#temp-range" ).slider( "values", 0 )+ " °C" +
" - " + $( "#temp-range" ).slider( "values", 1 )+ " °C" );
});
</script>
<div class="form-group">
<label for="field-1" class="col-sm-3 control-label">Température (<span id="temp_amount"></span>)</label>
<input type="hidden" id="temp_min_field" name="temp_min_field">
<input type="hidden" id="temp_max_field" name="temp_max_field">
<div class="col-sm-5">
<div id="temp-range"></div>
</div>
</div>
【问题讨论】:
-
您的代码容易受到SQL injection 攻击。不要使用字符串连接构建查询,而是始终使用prepared statements 和bound parameters。请参阅 this page 和 this post 了解一些很好的示例。
标签: php mysql sql mysqli request