为什么在地球上不会这个工作他们没有空间没有输出但是我把重定向只是在configuartion之前.php只是保存我的数据库连接给出了什么
<?php
require('configuration.php');
$voucher = $_SESSION['voucher'] ;
$result = mysql_query("SELECT used FROM codes where code='".$voucher."'");
$row =mysql_fetch_row($result);
if ( $row['used'] == "1" ) {
header('Location: invalid.php');
exit;
}
if ( $row['used'] == "0" ) {
header('Location: valid.php');
exit;
}
?>
答案 0 :(得分:2)
可能会输出configuration.php
的内容。 (请记住,在那个时间点要求/包含输出任何内容,因此当时也会输出任何空格或字符。)
出于好奇,如果你这样做,它是否有效:
<?php
ob_start();
require('configuration.php');
// your code with header(...);
ob_end_flush();
如果适用于ob_start
/ ob_end_flush
来电,configuration.php
正在输出内容。但是,有些事情需要注意:
$_GET
/ $_POST
/ $_SESSION
)直接发送到SQL。即使你可能正在设置会话数据,取决于它来自哪里(例如cookie),你可以很容易地开始在你的数据库中进行搜索。Location
应该是完全合格的路径(http://mydomain.com/myfile.php
而不仅仅是myfile.php
)答案 1 :(得分:1)
您的代码仅考虑$ row ['used']是0还是1.如果它根本不存在则不会。你能用var_dump $ row看看你得到了什么吗?