2011-09-09 3 views
0

사용자가 읽은 이야기를 "저장"하는 것입니다. 며칠 전부터 코드 조각을 얻었지만 제대로 작동하지 않는 것 같습니다. 사용자가 현재보고있는 페이지에서 URL을 빼내고, MySQL DB에 URL을 삽입하고, 웹 사이트의 즐겨 찾는 섹션 아래에있는 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

form action = "storeboookphp ...... –

+0

line 17 ... 그 줄에서 t 문자열 오류가 계속 수신됩니다. –

답변

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

라이트 curPageURL() 함수가 호출 PHP 태그를 폐쇄한다.

또한 데이터베이스에 비화되지 않은 사용자 데이터를 저장해야합니다. 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); 
}