#php
#php
Вопрос:
Мой скрипт запускается с неожиданной строкой t в пятой строке, как мне это исправить?
<?php
include_once("../scripts/config.php");
$url = mysql_real_escape_string('$_POST['url']'); // LINE 5!
preg_match("/id=(\d )/", $url, $matches);
$like = $matches[1];
$current_pop = mysql_query("SELECT pop FROM likes WHERE id=$like") or die ("Query failed: " . mysql_error());
$pop = $current_pop 1;
$update = mysql_query("UPDATE likes SET pop = ".$pop." WHERE id = ".$like."") or die ("Query failed: " . mysql_error());
?>
Ответ №1:
Это должно быть:
$url = mysql_real_escape_string($_POST['url']);
В противном случае PHP видит '$_POST['url']'
и считает, что она состоит из 3 частей:
'$_POST['
— строка,url
— какой-то токен']'
— другая строка
Это сбивает с толку интерпретатор, поскольку он не знает, что делать, когда за строкой следует url
-token.
Ответ №2:
В вашем коде есть уязвимости для SQL-инъекций. Пожалуйста, просмотрите это, прежде чем кто-то украдет всю информацию о вашем клиенте с вашего сайта:http://en.wikipedia.org/wiki/SQL_injection