如何将这个PHP脚本转换为经典的asp

时间:2009-08-01 09:32:41

标签: ajax asp-classic

我正在尝试转换PHP / JQuery可排序的拖放脚本。我想将JQuery可排序功能添加到我用Classic ASP编写的网站。

以下是该脚本的缩小版本:

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.1.custom.min.js"></script>
<script type="text/javascript">
 // When the document is ready set up our sortable with it's inherant function(s)
  $(document).ready(function() {
    $("#test-list").sortable({
      handle : '.handle',
      update : function () {
          var order = $('#test-list').sortable('serialize');
        $("#info").load("process-sorttest.asp?"+order);
        alert('' + order);
      }
    });
});
</script>

<li id="listItem_1"><img src="img/arrow.png" alt="move" width="16" height="16" class="handle" /><strong>Item 1</strong></li>
<li id="listItem_2"><img src="img/arrow.png" alt="move" width="16" height="16" class="handle" /><strong>Item 2</strong></li>

脚本的Jquery可排序方面非常完美。我的问题是尝试将更新的数据保存回数据库。

以下是我想要转换为ASP的脚本的PHP版本:

foreach ($_GET['listItem'] as $position => $item) :
    $sql[] = "UPDATE `table` SET `position` = $position WHERE `id` = $item";
endforeach;

print_r ($sql);

这是我在经典asp中最接近的:

For Each Item In Request.QueryString
    Response.write "Processing: " & Request.QueryString("listItem[]") & "<br />"
Next

这给了我修改菜单项的ID,但是我想转换这个脚本的原因是因为PHP脚本读取并打印了排序的新顺序和列表项的ID。 我打印的所有内容都是列表项“Processing 1,2”

的ID

任何帮助将不胜感激..

4 个答案:

答案 0 :(得分:3)

ASP中的“For Each ... Next”构造如下:

For Each <itemvar> In <collectionvar>
    ...
Next

循环的每次迭代都会将来自collectionvar的一个项目放入变量itemvar(两者都是实际变量/值的占位符)。目前,你的循环正在访问Request.QueryString(“listItem []”),无论你在循环的迭代是什么,它都是相同的。相反,您需要使用在For Each循环中定义的“Item”变量来在每次循环中处理不同的项目。

答案 1 :(得分:1)

不是你的问题的答案,但链接很糟糕:

您的PHP代码看起来好像有SQL injection个漏洞。您可能想要阅读以确保在ASP中不会犯同样的错误。

归结为,您不应该认为用户输入是安全的。您将变量直接从查询字符串中取出并假设它们是数字。实际上,它们可能是部分SQL语句。

答案 2 :(得分:1)

您是否尝试过Request.QueryString(Item)而不是Request.QueryString("listItem[]")

循环For Each Item In Request.QueryString不会为listItem[]生成任何内容,而且确实不会为"listItem[]"生成任何内容

答案 3 :(得分:0)

尝试类似http://www.me-u.com/php-asp/这样的事情并不完美但可能会有所帮助