2012-03-16 99 views
0

我編輯了一些代碼,我在'你的舊互聯網上找到(http://net.tutsplus.com/tutorials/other/using-htaccess-files-for-pretty-urls/)。我沒有得到我的代碼的變化正常工作。我編輯過的版本會從index.php中請求另一個名爲「pages」的輸入。 Pages與$ url和$ short一起被放入數據庫。頁面進入數據庫中具有varchar值的頁面字段。稍後在serve.php中爲JavaScript目的調用頁面。在下面的代碼中,我注意到了我認爲發生問題的地方。如果您對我的錯誤代碼感興趣,敬請關注;我還沒有編輯其他文件。驗證電子郵件地址的代碼總是失敗

我開始認爲錯誤可以在MySQL中可發生,因爲我幾乎總是收到「錯誤:無效的URL」的第一個$ HTML錯誤

<?php 
    require("./db_config.php"); 
    $url = $_REQUEST['url']; 
    $pages = $_REQUEST['pages']; 
    //this seems to be where the errors are occuring 
    if(!preg_match("/^[a-zA-Z]+[:\/\/]+[A-Za-z0-9\-_]+\\.+[A-Za-z0-9\.\/%&=\?\-_]+$/i",  $url)) { 
    $html = "Error: invalid URL"; 
    } else { 

    $db = mysql_connect($host, $username, $password); 

     $short = substr(md5(time().$url), 0, 5); 

     if(mysql_query("INSERT INTO `".$database."`.`url_redirects` (`short`, `url`, `pages`) VALUES ('".$short."', '".$url."', '".$pages."');", $db)) { 
     $html = "Your short URL is<br />www.srprsr.com/".$short; 
     } else { 
     $html = "Error: cannot find database"; 
     } 

    mysql_close($db); 
    } 
?> 
+2

長碼,長的問題。檢查'preg_match'之前'$ pages'的值是多少? – Raptor 2012-03-16 01:25:55

+0

在此之前,我想知道'$ url'的值。 – 2012-08-02 18:07:42

回答