php - 000 付款后的网络主机操作
问题描述
我正在尝试使用贝宝付款。当我在本地机器上工作并运行代码时,付款会通过,然后它会重定向到我的“pago.php”文件。这个有 SQL 查询插入到我的订单表中并从购物车中删除项目。在本地主机上工作时,付款通过并且表格正确更新。
现在我已经将我的项目上传到了一个托管站点(000 Webhost),由于某种原因付款通过,我被重定向到我的网站并且付款得到确认,但是由于某种原因,SQL 查询没有执行。
我尝试将其简化为仅删除的简单查询,但甚至不这样做。这是重定向后的PHP代码:
<?php
include '../includes/db.php';
include '../acciones/sesion.php';
$cookie = $_COOKIE['mTotal'];
$uid = $row['id'];
$username = $row['usuario'];
$transaccion = $_GET['tx'];
$resultado = $_GET['st'];
$monto = $_GET['amt'];
$clientId = $_GET['cm'];
if($cookie == $monto && $resultado = 'Completed' && $clientId = $uid){
$sql = $con->query("SELECT * FROM carro where idCliente = '$uid'");
if(mysqli_num_rows($sql) > 0){
while($r = mysqli_fetch_array($sql)){
$productId[] = $r['idProducto'];
$cant[] = $r['cantidad'];
$nombre = $r['nombreProducto'];
$precio[] = $r['precio'];
$prodArray = array($productId);
}
$q = $con->query("SELECT * FROM direccion WHERE idCliente = '$uid' and main=1");
if(mysqli_num_rows($q) > 0){
while($r2 = mysqli_fetch_array($q)){
$idDir = $r2['idDir'];
}
}
for($i=0; $i < count($productId); $i++){
$con->query("INSERT INTO `comprafinalizada` (`compraId`, `clienteId`, `productoId`, `cantidad`, `monto`, `transaccionId`, `FechaCompra`, `idDireccion`) VALUES (NULL, '$uid', '".$productId[$i]."', '".$cant[$i]."', '".$precio[$i]."', '$transaccion', current_timestamp(), '$idDir')");
}
$con->query("DELETE FROM carro WHERE idCliente = '$uid'");
}
}
?>
我尝试更改撇号,删除 cookie 确认并运行 DELETE 查询。不知道为什么这段代码没有运行,我不确定这是否与我使用 Paypal 沙箱有关。
我希望我能在这里得到一些帮助。谢谢
解决方案
请注意,在这一行:
if($cookie == $monto && $resultado = 'Completed' && $clientId = $uid){
您将“已完成”分配给变量 $resultado 而不是比较它。如果你想检查是否$resultado
有值'Completed'
使用双等号,如$resultado == 'Completed'
与$clientId = $uid
应该相同$clientId == $uid
。
推荐阅读
- r - 在同一数据框中聚合具有不同 ID 的 sum obs
- ios - 按钮标题在点击时被裁剪
- python - stdout 中的输出在 cmd 和 Python 控制台中不同
- python - 如何为标记器指定额外的标记?
- javascript - 在反应中将字符串更改为选择列表
- ruby-on-rails - 当文件上传到像 AWS 这样的服务时,ActiveStorage 的“附加”在幕后做了什么?
- c++ - 为什么分配给单元化变量的速度较慢
- php - Elasticsearch\RuntimeException:JSON 编码失败:第 33 行的文件 /Elasticsearch/Serializers/SmartSerializer.php 中的 5
- flutter - 尝试使用 firebase_auth 登录 Google 时出现 Android 平台异常
- android - 如何制作多色概述折线?