Скрипт закладок? - PullRequest
       84

Скрипт закладок?

0 голосов
/ 09 сентября 2011

Пользователь должен «сохранить» историю, которую он прочитал.Я получил фрагмент кода от SO несколько дней назад, но я не могу заставить его работать.Я хочу вырвать URL-адрес со страницы, которую пользователь просматривает в данный момент, вставить URL-адрес в базу данных MySQL и вывести его обратно клиенту в избранном разделе на веб-сайте.Любые идеи?

Когда я пытаюсь код ниже, я получаю ошибку 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);  
 ?> 

1 Ответ

1 голос
/ 09 сентября 2011
    <form action="storeBookmark.php?url=<?php echo curPageURL();?>" method="GET"> <input type="submit" value="Submit" /> 

Добавлен закрывающий тег php для вызова функции curPageURL ().

Вы также не должны хранить неанизированные пользовательские данные в вашей базе данных. Поскольку вы используете mysqli, вы должны использовать подготовленный оператор .

<?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);
}
...