此代码必须查看sites表并首先检查输入的url是否存在,然后检查url的状态,如果status = block则回显告知站点被阻止,但显然表中的状态是什么一个网址,正在被阻止,不应该
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "repute system";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection_aborted(oid)
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$url = $_POST['url'];
$sql = "SELECT * FROM sites " ;
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$stat = $row['status'];
if($stat = 'block' && $url == $row['URL'])
{
echo "This site is blocked" ;
die();
}
}
header("Location: $url");
}
?>
&#13;
我使用&amp;&amp;,||或者,或者在这里的陈述?我也担心标题声明,因为我听说它使用起来很不稳定,为什么会这样?什么是重定向网址的替代品?
答案 0 :(得分:1)
if($stat = 'block' && $url == $row['URL'])
此部分不会过滤。它应该是这样的。 $stat=='block'
当你这样写时$stat = 'block'
它不仅适用于stat =&#39; block&#39;
答案 1 :(得分:0)
我在评论中回答:(22:13:54Z
)
if($stat = 'block'
您将$stat
指定为block
并始终为真。
您需要比较if($stat == 'block'
/使用2x等号来检查$stat
是否等于block
。