Мой скрипт PHP ссылается на URL-адрес, в зависимости от того, какая кнопка отправки нажата. Тем не менее, когда я запускаю тест, я получаю сообщение об ошибке: строка 4 содержит неожиданную «:», но моя строка 4 – это мой скрипт заголовка с URL-адресом?
Я смущен, потому что у меня есть другие сценарии, похожие на это, и они не дают мне эту ошибку. Может ли кто-нибудь сказать мне, что мне не хватает, может быть просто, я раньше был пойман просто.
<?php if ($_REQUEST['Dish1'] == 'Dish1') { header(“Location: http://blahblah”.urlencode($_POST['uid'])); } else if ($_REQUEST['Dish1'] == 'Dish2') { header(“Location: http://blahblah2”.urlencode($_POST['uid'])); } else if ($_REQUEST['Dish1'] == 'Dish3') { header(“Location: http://blahblah3”.urlencode($_POST['uid'])); } etc..... ?>
Вы используете фигурные кавычки.
Замените все “ ”
и ' '
на "
и '
соответственно».
Вы используете неправильные цитаты … используйте "" вместо "". Обратитесь к Википедии , вы должны использовать кавычки пишущей машинки, а не курчавые или каверзные запятые.
PD: Также PHP Parse error: syntax error, unexpected '.' on line 15
PHP Parse error: syntax error, unexpected '.' on line 15
; )
Замените код следующим
<?php if ($_REQUEST['Dish1'] == 'Dish1') { header("Location: http://blahblah.urlencode".($_POST['uid'])); } else if ($_REQUEST['Dish1'] == 'Dish2') { header("Location: http://blahblah2".urlencode($_POST['uid'])); } else if ($_REQUEST['Dish1'] == 'Dish3') { header("Location: http://blahblah3".urlencode($_POST['uid'])); } ?>
Не так ли проще писать:
$lookup = array('Dish1' = > 'http://blba1', 'Dish2' = > 'http://blba2'); if( isset($lookup[$_REQUEST['Dish1']])) header("Location: " . $lookup[$_REQUEST['Dish1']]);