gpt4 book ai didi

javascript - 我的 PHP 代码没有将值插入数据库

转载 作者:行者123 更新时间:2023-11-30 10:17:55 25 4
gpt4 key购买 nike

我正在尝试编写一个代码来捕获某种形式的数据并将其插入到我在 Wamp 服务器中的数据库中,但由于某种原因它无法正常工作,尽管我确信我已经非常小心地完成了它.

相关代码如下:

HTML

  <form id="frmLabs" method="post">
<div class="divFormlabs">
<label for="txtCapacidad">Capacidad</label>
<input type="text" name="txtCapacidad" id="txtCapacidad">
<label for ="txtCantEquipos">Carrera</label>

<select type="text" name="txtCarrera" id="txtCarrera">
<option value="Desarrollo">Desarrollo</option>
<option value="Diseño">Diseño</option>
<option value="Telematica">Telemática</option>
<option value="T.I">T.I</option>
</select>

</div>

<div class="divFormlabs">
<label for="txtNumLab">Número de laboratorio</label>
<input type="text" name="txtNumLab" id="txtNumLab">
<label for="txtUbicacion">Ubicación</label>
<input type="text" name="txtUbicacion" id="txtUbicacion">
</div>
</form>

jQuery

$("#btnAceptar").click(function() {
var idlab = $('#txtNumLab').val(),
capacidad = $('#txtCapacidad').val(),
carrera = $('txtCarrera').val(),
ubicacion = $('txtUbicacion').val();


var request = $.ajax({
url: "includes/functionsLabs.php",
type: "post",
data: {

'call': 'addLab',
'pIdLab':idlab,
'pCapacidad':capacidad,
'pCarrera':carrera,
'pUbicacion':ubicacion},

dataType: 'json',

success: function(response){
alert('exito');
}
});
});

PHP

function addLab(){
if(isset($_POST['pIdLab']) &&
isset($_POST['pCapacidad']) &&
isset($_POST['pCarrera']) &&
isset ($_POST['pUbicacion'])){

$idlab = $_POST['pIdLab'];
$capacidad = $_POST['pCapacidad'];
$carrera = $_POST['pCarrera'];
$ubicacion = $_POST['pUbicacion'];

$query = "INSERT INTO labs VALUES" . "('$idlab', '$capacidad','$carrera',
'$ubicacion')";

$result = do_query($query);


}

}


if($_SERVER['REQUEST_METHOD']=="POST") {
$function = $_POST['call'];
if(function_exists($function)) {
call_user_func($function);
} else {
echo 'Function doesnt exists!';
}
}



?>

我的数据库中表 Labs 中行的顺序与代码中的顺序完全相同:

创意实验室容量卡雷拉泛化

另请原谅我将变量放在另一种语言中,但这无济于事 >.< 将不胜感激任何形式的帮助。

提前致以最良好的祝愿和感谢。

编辑:

这是 btnAceptar 的代码。

<input class="formatButton verInfo2"  type="button" value="Aceptar"   id="btnAceptar"onclick="window.location='labs.html';" />

最佳答案

您没有正确分配变量:

var idlab = $('#txtNumLab').val(),
capacidad = $('#txtCapacidad').val(),
carrera = $('txtCarrera').val(),
ubicacion = $('txtUbicacion').val();

请注意,最后两个缺少选择器中的 #,因此您的 php 文件中的 if 条件将永远不会得到满足。

您可以将分配数据的方式替换为:

data: $('#frmLabs').serialize(),

编辑:请注意,由于您遇到的 sql 注入(inject)问题,如果其中一个字段包含例如 ' 字符,您的查询可能会失败。

关于javascript - 我的 PHP 代码没有将值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918506/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com