php 脚本不通过 ajax 调用执行

标签 php mysql ajax

我需要你的帮助。

我有一些像这样的按钮的输入。

<input type="text" name="cmsperso" id="cmsperso" />
<input type="text" name="chefdequart" id="chefdequart" />
<input type="text" name="adjoint" id="adjoint" />
<button type="submit" name="perso" onClick="perso()">envoyer</button>

onClick 调用 ajax 函数。

function perso() {
$.ajax({
  type: "POST",
  url: "form/perso.php",
});}

在我的 person.php 中,我有此更新。

$cnx = mysql_connect( "localhost", "root", "" );
$db = mysql_select_db( "maincourante" );
$req = mysql_query("SELECT idops FROM ops ORDER BY idops DESC LIMIT 1");
$data = mysql_fetch_array($req);

$cmsperso = $_POST["cmsperso"];
$chefdequart = $_POST["chefdequart"];
$adjoint = $_POST["adjoint"];

$perso = utf8_decode("UPDATE `Opérations n°".$data['idops']."` SET cmsperso='$cmsperso', chefdequart='$chefdequart', adjoint='$adjoint'");

mysql_query($perso, $cnx) or die(mysql_error());
mysql_close();

除了更新之外,一切正常。在 phpmyadmin 中没有任何值被更新。

请帮忙

最佳答案

您没有在帖子中发送变量值,

function perso() {
$.ajax({
  type: "POST",
  url: "form/perso.php",
});}

需要将变量和值添加到此调用中,例如:

function perso() {
$.post("form/perso.php", { adjoint: $("#adjoint").val(), cmsperso: $("#cmsperso").val(), chefdequart: $("#chefdequart").val() } );
});}

另请查看 PDO用于管理您的数据对象,因为您的查询可以注入(inject)

最后看来您没有 where 子句,这意味着表中的所有行都将被更新,这可能不是您想要的。

我会考虑的另一个想法是给你的表命名比现在更简单的东西,里面有空格和特殊字符,这是自找麻烦。

关于php 脚本不通过 ajax 调用执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13632826/

相关文章:

php - 用php删除记录然后重新加载页面

mysql - 当原始的 Laravel 迁移过时时,你会保留它们吗?

php - 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

javascript - 如何在提交Ajax表单后加载html?

javascript - AJAX 获取跨域 HTML

php - 选择名称匹配且类别相同的项目

php - 我如何判断在 Kohana 3 中是否使用 AJAX 发出了请求?

php - 使用 wp 等短代码在 Laravel 5.1 中渲染数据

PHP代码没有被执行,但代码显示在浏览器源代码中

php - Laravel:将我的所有代码放入数据库事务中是一种好习惯吗?甚至没有数据库查询代码?