Интересно, может ли кто-нибудь помочь мне.
Я пытаюсь запустить код ниже, который я использую с формой с несколькими submit buttons
.
<?php if (isset($_POST['type']){ if ($_POST['type'] == 'view'){ $url = 'updatelocation.php'; } elseif ($_POST['type'] == 'finds'){ $url = 'addfinds.php'; } elseif ($_POST['type'] == 'image'){ header("Location: " . $url); } ?>
Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю это, я получаю следующую ошибку:
Parse error: syntax error, unexpected '{' in /homepages/2/d333603417/htdocs/locationsaction.php on line 2
Я читал некоторые уроки, например, это , и мой код, похоже, соответствует примеру, поэтому я не уверен, где ошибка.
Для получения дополнительной информации кнопки и форма, которые я использую для запуска скрипта php, показаны ниже:
<form name="locations" id="locations" method="post" action="locationsaction.php"> <td><div align="center"><input name="viewdetails" type="submit" value="view"/></div>/td> <td><div align="center"><input name="addfinds" type="submit" value="finds"/></div></td> <td><div align="center"><input name="addimages" type="submit" value="images"/></div></td>
Я просто задавался вопросом, может ли кто-нибудь посмотреть на это, и сообщите мне, где я ошибаюсь?
Вам не хватает закрывающей круглой скобки:
if (isset($_POST['type']) {
Должно быть:
if (isset($_POST['type'])) {
Вам также не хватает закрывающей скобки на последней строке. Вы действительно должны пытаться форматировать и отступать свой код должным образом. Это значительно облегчит выявление таких ошибок. Рассмотрим этот пример:
<?php if (isset($_POST['type'])) { if ($_POST['type'] == 'view') { $url = 'updatelocation.php'; } elseif ($_POST['type'] == 'finds') { $url = 'addfinds.php'; } elseif ($_POST['type'] == 'image'){ $url = 'image.php'; } header("Location: " . $url); }
Другой способ сделать поиск – использовать карту:
<?php if (isset($_POST['type'])) { $urls = array( 'view' => 'updatelocation.php', 'finds' => 'addfinds.php', 'image' => 'image.php' ); $url = $urls[$_POST['type']]; header("Location: " . $url); }
Это довольно чисто – не так ли? Добавление нового случая в это просто вопрос добавления его в массив.
Вам не хватает a )
после isset($_POST['type'])
– вы не закрываете оператор if
.
Вам также не хватает закрывающей скобки:
if (isset($_POST['type'])){ if ($_POST['type'] == 'view'){ $url = 'updatelocation.php'; }elseif ($_POST['type'] == 'finds'){ $url = 'addfinds.php'; }elseif ($_POST['type'] == 'image'){ $url='image.php'; } header("Location: " . $url); }