2013-07-09 1 views
-1

Это мой сценарий:Прием "ошибка синтаксиса, неожиданный '<'" в PHP

function Secu($variable) 

{ 
$variable = mysql_real_escape_string(htmlspecialchars(stripslashes(nl2br(trim($variable))))); 
return $variable; 
} 
function Redi($lien) 
{ 
echo <script type="text/javascript">document.location.href=\.$lien.='/index.php';</script> ; 
function PassHash($mdp_hashed) 
{ 
$mdp_hashed = Secu(md5($mdp_hashed)); 
return $mdp_hashed; 
} 
if (isset($_SESSION['username'])) 
$pseudo = Secu($_SESSION['username']); 
$sql_user = mysql_query("SELECT * FROM users WHERE username = ".$pseudo." LIMIT 1") or die(mysql_error()); 
$row_user = mysql_num_rows($sql_user); 
} 

Я получаю это:

ERROR: syntax error, unexpected '<'

+3

Строки необходимо обернуть в кавычки. Это базовый PHP. –

+0

Престижность использования real_escape_string, но вы НЕ должны делать весь бизнес htmlspecialchars/stripslashes. Escaping - это целевой бизнес - если вы не можете БЕСПЛАТНО гарантировать, что данные, которые вы используете через Secu(), никогда не будут использоваться ни в чем. ИСКЛЮЧИТЕ контекст html, тогда дополнительные шаги, которые вы делаете, бессмысленны, а в некоторых случаях опасны ,. –

ответ

0

Ваша проблема происходит в строке:

echo <script type="text/javascript">document.location.href=\.$lien.='/index.php';</script> ; 

Вам нужно поставить строку в кавычки - так будет

echo "<script type=\"text/javascript\">document.location.href=\\".$lien."='/index.php';</script>" ; 

Там могут быть и другие ошибки ...

+0

ЭТО ГОВОРИТ: Предупреждение: mysql_query() [function.mysql-query]: Доступ запрещен для пользователя 'a8004576' @ 'localhost' (с использованием пароля: НЕТ) в /home/a8004576/public_html/global.php в строке 25 –

+0

Извините слышать, что у вас все еще есть проблемы. Можете ли вы обновить свой вопрос - покажите исправление, которое вы применили, ошибка, которая уходит, какая строка выглядит так, как вы передаете запрос, и строку, в которой происходит ошибка. Подумайте о том, что мы (люди, пытающиеся помочь вам) знаем о вашей проблеме - и спросите себя: «Если бы я знал только то, что я им сказал, хватит ли мне, чтобы это исправить?» Невозможно дать вам никаких советов. Ясновидение не является одним из моих навыков. – Floris

0

Похоже, вам просто нужно поставить кавычки строки, которые вы пытаетесь повторить!

echo '<script type="text/javascript">document.location.href=\.$lien.='/index.php';</script>'; 
1

PHP не может проанализировать строку 10 вашего кода. Вы хотите приложить свой аргумент к функции эха в двойных кавычках, а также escape-косую черту, например:

echo "<script type='text/javascript'>document.location.href=\\".$lien."=/index.php';</script>" ; 
+0

КОГДА я это делаю: –

Смежные вопросы