我必须根据其ID显示内容,但获得ID无效。但是我可以看到它检索ID的网址,如果我单击按钮,它将更改。我应该强迫自己使用Ajax还是有其他方法来检索ID? 非常感谢您的帮助。
horizontal={false}
上面的代码是我使用引导模态的模态。
答案 0 :(得分:1)
我真的不想写这篇文章,因为有太多事情需要解决,但是您的直接问题是
<a href='#?idrequest=$id'> .... </a>
此井号标签#
或井号将创建称为URL片段的内容。现在,您必须了解片段仅是客户端,而不是发送到服务器。因此#
之后的所有内容均不会发送。因此,无法访问此“伪”查询字符串。所以至少要扔掉#
。
<a href='?idrequest=$id'> .... </a>
如果您打开了错误报告功能,则会看到未定义索引的警告。
<?php
error_reporting(-1);
ini_set('display_errors', '1');
因为$_GET['idrequest']
不存在,所以此代码为当前格式。
除此之外,您的SQL可以进行SQLInjection开放,正如我在评论中所说的,如果有人使用
$_GET['idrequest'] = "1' OR 1=1"
$idrequest = $_GET['idrequest'];
"SELECT * from orders where id ='$idrequest'"
您的SQL查询已修改为此:
"SELECT * from orders where id ='1' OR 1=1"
由于1始终等于1,因此此“ hack”将始终返回一些行。因此,始终使用准备好的语句。
除此之外,如果可以公开访问,则任何用户都可以简单地遍历您的用户表以查看来自其他用户的订单。这些可能包括个人可识别信息,例如电话和地址信息。您可以将user_id添加到此搜索中,无论如何,它应该是此表上的外键。然后,该用户标识将来自您用于登录的任何系统(而不是用户输入的数据)。这样只会让他们看到自己的订单。
我什至都不会涉及样式/格式问题,只需将按钮包装在链接中即可。或HTML和HTML在PHP字符串中的这种特殊混合,这使得读取代码成为真正的挑战。
或者这个
include("conn.php");
应该是哪个
require "conn.php";
include和require不需要()
,如果没有包含的文件脚本无法执行,则应使用require。这是一个数据库连接,如果丢失该文件,我会说事情不会按计划进行。
干杯。