gpt4 book ai didi

php - 使用jquery设置php页面参数并在参数中添加值时出现问题

转载 作者:行者123 更新时间:2023-11-29 21:40:59 25 4
gpt4 key购买 nike

我在查询中没有得到 qnty 的值,谁能告诉我我犯了什么错误。实际上我是初学者,所以请更正此代码并帮助我如何在 php 页面参数中添加数量框的值,其中我使用 anchor 标记获取其他值。

<a id="btn1" href="sale.php?tag=<?php echo $_REQUEST['tag'];?>

&btn=&&pro_id=pro_id?> &name=pro_name;?>&price=价格?>&">

<?php
if (isset($_REQUEST['pro_id'])) {
$txt = $_REQUEST['pro_id'];
$txt1 = $_REQUEST['price'];
$txt2 = $_REQUEST['name'];
$txt4 = $_REQUEST['bill'];
$txt3 = $_REQUEST['qnty'];
$d = date("d \- F \- Y ");
$cart = session_id();
$query = "INSERT INTO cart (cart_id, pro_id, pro_name, quantity, price, bill,date)
values ('$cart', '$txt','$txt2','$txt3', '$txt1','$txt1'*2, '$d' )";
mysql_db_query("medical_wholesale_store", $query);
header("location:sale.php");
}
?>

<script>
$(document).ready(function () {
$("#btn1").click(function () {
var qnty = $("#qty").val();
a = $("#btn1").attr("href") + "qnty=" + qnty;
});
});
</script>

Here is pic of adding php parameters and jquery function along with html code

最佳答案

据我所知,您的代码存在几个问题。

  1. 在记录集迭代循环中,您将包含相同的样式表。
  2. 您正在重复 ID 为 qty 的输入元素 ~ 这是无效的
  3. a 链接的 ID 为 btn1 - 这也在重复
  4. javscript功能也在重复
  5. 列宽度之和等于 99%,而不是 100%

因为每个元素都在重复,所以不可能知道哪个元素被正确定位。希望下面的内容可以帮助您解决您的问题 - 没有 jQuery,只是常规的 javascript(我从不使用它)

说了这么多,我想说,您的代码很容易受到 SQL 注入(inject)的攻击,您应该真正考虑将代码迁移到使用 mysqliPDO 因为它们都支持准备好的语句,这有助于减轻这种危险!祝你好运。

<?php

if ( isset($_REQUEST['pro_id'] ) ) {
$txt = $_REQUEST['pro_id'];
$txt1 = $_REQUEST['price'];
$txt2 = $_REQUEST['name'];
$txt4 = $_REQUEST['bill'];
$txt3 = $_REQUEST['qnty'];
$d = date("d \- F \- Y ");
$cart = session_id();
$query = "INSERT INTO cart ( `cart_id`, `pro_id`, `pro_name`, `quantit`y, `price`, `bill`, `date` )
values ( '$cart', '$txt','$txt2','$txt3', '$txt1','".( $txt1 * 2 )."', '$d' )";
/* Debug sql to ensure it looks OK - test in gui? */
echo $query;

mysql_db_query("medical_wholesale_store", $query);
header("location:sale.php");
}

/* execute sql query */

echo '
<table>
<tr>
<th>id</th>
<th>name</th>
<th>price</th>
<th>stock</th>
<th>category</th>
<th>name</th>
<th>expiry</th>
<th>Quantity</th>
<th>link</th>
</tr>';

/* semi-pseudo code snippet */
while( $object = mysql_fetch_object( $result ) ){

$unique=uniqid();/* do not really need this */
echo "
<tr><!-- add content -->
<td>{$object->pro_id}</td>
<td>{$object->pro_name}</td>
<td>etc</td>
<td>etc</td>
<td>etc</td>
<td>etc</td>
<td>etc</td>
<td><input type='number' name='qty' value=1 style='width:80px'/></td>
<td>
<a class='salebttn' id='{$unique}' href='sale.php?tag={$_REQUEST['tag']}&btn={$unique}&pro_id={$object->pro_id}&name={$object->pro_name}&price={$object->price}&bill=UNKNOWN_ENTITY'></a>
</td>
</tr>";
}

echo '
</table>';

?>

<script>
/* Find all links that are used within your table that have a particular class */
var col=document.querySelectorAll('a.salebttn');
for( var n in col ) if( col[n].nodeType==1 ){
col[n].onclick=function(event){

event.preventDefault();
var el=typeof( event.target )!='undefined' ? event.target : event.srcElement;
var href=el.getAttribute('href');

/* need to find the value of the input qty so we traverse the dom to find it */
var qty=el.parentNode.parentNode.querySelectorAll('input[type="number"][name="qty"]')[0].value;
document.location.replace( href + '&qty='+qty );
};
}
</script>

关于php - 使用jquery设置php页面参数并在参数中添加值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34507404/

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