gpt4 book ai didi

php - 新值覆盖以前的值

转载 作者:行者123 更新时间:2023-12-02 20:32:12 25 4
gpt4 key购买 nike

好的,我有这个 JavaScript

function getpreconfigproducts(str1,str2)
{
var url="ajax_preconfig_products.php?";
url=url+"id="+str1+"&cid="+str2;
xmlHttp = GetXmlHttpObject(stateChangeHandler);
xmlHttp_Get(xmlHttp, url);
return false;
}

它调用这个 php

<?php 
if($_GET['id']!='')
{
$sql="SELECT * FROM productinfo WHERE ProductID=".$_GET['id']." AND Status=1";
$pro=ExecuteGetRows($sql);
?>
<p>Qty: <input type="input" name="qty[]" id="fpro[]" value="1" style="width:15px; margin-top:-3px;" /> <label><?php echo $pro[0]['ProductName'];?></label> </p>
<?php
echo "^_^";
echo ",".$pro[0]['ProductID'];
} ?>

生成这个

<div class="fields">
<h2>Final Products</h2>
<p id="finalproductsid">
<p>Qty: <input name="qty[]" id="fpro[]" value="1" style="width: 15px; margin-top: -3px;" type="input"> <label>FIREBOX S5510 15</label> </p>
<p>Qty: <input name="qty[]" id="fpro[]" value="1" style="width: 15px; margin-top: -3px;" type="input"> <label>FIREBOX S5510 15</label> </p>
</p>
</div>

问题是,如果用户将输入 qty[] 更改为 5 并添加另一个产品,它会恢复为 1 ...我如何解决这个问题的任何想法

最佳答案

除了已经提到的所有 SQL 注入(inject)内容之外,我想我可能知道你的问题是什么。告诉我我是否理解你的脚本:

  1. 用户点击“添加产品”按钮
  2. 按钮向上面的 PHP 脚本发起 AJAX 请求
  3. PHP 脚本生成一些 HTML
  4. 以某种方式(?)显示生成的 HTML
  5. 表单中所有其他产品字段的值将恢复为 1

我假设#4 是问题(#5) 发生的地方。根据您将 HTML 附加到表单的方式,输入字段有时会恢复。例如:

//Reverts all form inputs to default-
myForm.innerHTML += "<input name='new_input'/>";
//Keeps current input values-
var newNode = document.createElement('input');
myForm.appendChild(newNode);

我建议您不要附加 HTML 字符串,而是使用 JavaScript 创建 HTML,通过 AJAX 请求获取产品名称/ID。

我不太明白你的脚本是如何工作的。据我有限的知识,PHP 不会显示在当前页面上,而是回显 AJAX 的响应文本。还有更多的事情吗,还是只有我这样?

关于php - 新值覆盖以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3911067/

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