如果查詢爲空或者存在錯誤的代碼名稱,我想要做的是將訪問者發送到錯誤頁面?我目前的腳本回應了下面的內容:「這個網站上不會有黑客入侵!」,但這一切都發生在發送原始查詢的同一頁面上。如果MySQL查詢爲NULL,則動作
我們的目標是將訪問者發送到位於第一頁所在的同一文件夾內的我的自定義錯誤頁面。
http://www.example.com/download/file.php
http://www.example.com/download/error.php
和我現在的劇本是
<?php
$host = 'localhost';
$db_name = 'My_DB_Name';
$db_user = 'MY_User_Name';
$db_pass = '******';
$path_to_file_directory = 'download/files/';
mysql_connect($host, $db_user, $db_pass);
mysql_select_db($db_name) or die(mysql_error());
$file_code = filter_input(INPUT_GET, 'urlid');
# Query for file info
$res = mysql_query("SELECT * FROM `Files` WHERE `urlID`='".$file_code."'") or die (mysql_error());
# If query is empty, there is a bad code name
# This catches possible hacking attempt.
if(mysql_num_rows($res) == 0)
{
echo 'There will be no hacking on this website! ';
exit();
}
# Save file info into an array called "$info"
$info = mysql_fetch_assoc($res);
# File path is below
$file_path = $path_to_file_directory.$info['file_name'];
# Now push the download through the browser
# There is more than 1 way to do this.
if (file_exists($file_path)) {
echo '<p>if it does not: <a href="'.$file_path.'">click here to try again</a>.</p>';
exit;
}
?>
我明白,我必須改變回聲別的東西,但我不知道我有什麼,而不是使用,因爲只需將鏈接內部回聲一個錯誤頁面將只能隨聲附和它我file.php頁面上
請幫
*強制性的:*'mysql_ *'函數將[在PHP 5.5中棄用](http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated)。不建議編寫新代碼,因爲它將來會被刪除。相反,無論是[MySQLi](http://php.net/manual/en/book.mysqli.php)還是[PDO](http://php.net/manual/en/book.pdo.php)和[是一個更好的PHP開發人員](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 – 2013-03-05 17:54:40
發佈整個代碼 – 2013-03-05 17:58:26
感謝您的回覆和建議,我實際上正在嘗試學習PHP,並已開始這樣做,但正如您可以通過我的問題中的腳本來判斷,我只是一個初學者。 – AlexB 2013-03-05 17:59:45