【发布时间】:2010-08-22 14:43:09
【问题描述】:
感谢所有在过去几天里帮助过我的人。不幸的是,我正在工作,所以无法回复您。我在我认为可行的代码中包含了一些代码,但由于某种原因,下面的代码不会在我的 SQL 数据库中更新。如果有人可以复制代码并查看它为什么不起作用,我将提供代码及其输出......这真的让我很头疼!哈哈!
(与 MySQL db + 表的连接工作正常)。
// admin.php
<a href="#" id="chngeHref" /><img src="<?php echo "image.php?url=" . $row[2]; ?>?tid=<?php echo $row[0]; ?>&opn=<?php echo $row[1]; ?>" id="chnge" /></a>
// image.php?url=image.jpg?tid=3&opn=1
有人建议我这样做是为了让我更容易通过流程传递变量(tid 和 opn)。
// update.php
$tid = $_GET['tid'];
$opn = $_GET['opn'];
if ($opn == "0") { $opn = "1"; } elseif ($opn == "1") { $opn = "0"; }
mysql_query("UPDATE catalogue SET opn = $opn WHERE tid = $tid ; ");
mysql_close();
// it's just a simple script to change a variable from 1 to 0 or 0 to 1 where tid = a specific number...
我的 jQuery 东西都藏在一个可爱的小文件中,因为其中有很多......
// navigate.js
$.extend({
getUrlVars: function() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; });
return vars;
}
});
$("#chngeHref").click(function() {
var tid = $.getUrlVars()['tid'];
var opn = $.getUrlVars()['opn'];
$.ajax({
type: "POST",
url: "update.php",
data: "tid="+ tid +"& opn="+ opn,
success: function(){
$('#chnge').fadeTo('slow',0.4);
}
});
});
我在网上找到的 .extend 代码可以找到地址行中所有参数和值。我认为这可能是我的问题所在,因为顶部代码实际上从未将其发送到地址栏,而是通过 jQuery 将其发送到 update.php 文件。
我只能提前对任何可以提供帮助的人说声谢谢。
菲利普。
【问题讨论】:
-
仅供参考,您在 update.php 中的代码极易受到SQL Injection 的攻击。
-
你必须开始学习如何调试你的代码。这是找出错误的唯一方法。询问 SO 不是一种选择
标签: mysql url parameters jquery