php脚本不会使用ajax调用执行

时间:2012-11-29 19:01:42

标签: 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",
});}

在我的perso.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中,没有值是更新。

请帮助

3 个答案:

答案 0 :(得分:1)

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

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来管理数据对象,因为您的查询可以注入

最后看起来你没有where子句,这意味着你的表中的所有行都会被更新,这可能不是你所追求的。

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

答案 1 :(得分:0)

您确定Opérations n°".$data['idops']."是您要更新的正确表吗?

答案 2 :(得分:0)

早上好,

我认为,我部分解决了我的问题

这是我的代码

function getXMLHttpRequest() {
var xhr2 = null;

if (window.XMLHttpRequest || window.ActiveXObject) {
    if (window.ActiveXObject) {
      try {
        xhr2 = new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e) {
        xhr2 = new ActiveXObject("Microsoft.XMLHTTP");
      }
    } 
    else {
      xhr2 = new XMLHttpRequest();
    }
  } 
  else {
    alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
    return null;
  }
  return xhr2;
}

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

  var xhr2 = getXMLHttpRequest();

  xhr2.open("POST", "form/perso.php", false);
}

并在萤火虫中返回

firebug 302 found

任何想法?