2011-09-09 58 views
0

用戶可以「保存」他閱讀的故事。前幾天我從代碼中得到了一小段代碼,但是,我似乎無法讓它起作用。我想從用戶當前正在查看的頁面抓取url,將url插入到MySQL數據庫中,並將url輸出回網站上最喜歡的部分下的客戶端。有任何想法嗎?書籤腳本?

當我嘗試下面的代碼,我得到一件T字符串錯誤。

Index.php 
    <?php  
    function curPageURL() {  
    $pageURL = 'http'; 
     if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://"; 
     if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER ["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 

    } else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"; 
    } 
    return $pageURL; 
    } 

?> 

    <html> 
    <body> 
    <form action="storeBookmark.php?url=<?php echo curPageURL();" method="GET"> <input type="submit" value="Submit" /> 
    </form> 
    </body> 
    </html> 

    <?php  
    $url = $_GET['url'];  

    $dbc = mysqli_connect('xxxx', 'xxxx', 'xxxx', 'xxxx')  
    or die('Error connecting to MySQL server');  

    $query = "INSERT INTO xxxx (url)". "VALUES('$url')";  

$result = mysqli_query($dbc, $query) or die('Error.'); 

mysqli_close($dbc); 
?> 
+0

什麼T_STRING錯誤?什麼線? –

+0

形式行動=「storeboookphp ...... –

+0

線17 ...我保持在該線接收噸串錯誤 –

回答

1
<form action="storeBookmark.php?url=<?php echo curPageURL();?>" method="GET"> <input type="submit" value="Submit" /> 

添加在關閉PHP標記爲curPageURL()函數調用。

你應該還沒有unsanitized用戶數據存儲在數據庫中。既然你使用mysqli,你應該使用prepared statement

<?php 

$link = mysqli_connect('xxxx', 'xxxx', 'xxxx', 'xxxx') or die('Error connecting to MySQL server'); 

$url = $_GET['url']; 

/* create a prepared statement */ 
if ($stmt = mysqli_prepare($link, 'INSERT INTO table1 (url) VALUES(?)')) { 

    /* bind parameters for markers */ 
    mysqli_stmt_bind_param($stmt, "s", $url); 

    /* execute query */ 
    mysqli_stmt_execute($stmt); 

    /* close statement */ 
    mysqli_stmt_close($stmt); 
}