Newbe PHP: у меня проблемы с запуском простого примера кода - PullRequest
0 голосов
/ 04 октября 2011

Я пытаюсь заставить пример PHP-кода работать на PHP версии 5.3.4, Apache 2.2.17 в Windows.

В примере написано, что мне нужен PHP 4.0 и выше с CURL, и он содержит:

<? 
$function = $_GET['function-if-exist'];
$test = "Test";
?>

<? =$test ?>

Я не понимаю, почему я получаю следующие ошибки:

  1. Мой PHP не понимает <? и хочет <? PHP вместо. </li>
  2. Мой PHP не любит <? = $ test?> и хочет что-то вроде <? PHP echo $ test?>
  3. $ function = $ _GET ['function-if-Существовать']; вызывает ошибку «Неопределенный индекс», но, вероятно, работает для людей, которые его разработали.

Может кто-нибудь помочь мне понять, почему их код не работает для меня?

Ответы [ 5 ]

5 голосов
/ 04 октября 2011

1) <? - это «короткий тег».Большинство серверов настроены так, чтобы не разрешать короткие теги.Это можно изменить в php.ini.

2) Опять короткие теги.Также я думаю, что у вас не должно быть пробела перед =, но основная проблема - настройка коротких тегов.

3) $_GET обращается к строке запроса, поэтому при загрузке скрипта вам нужно myscript.php?function-if-exist=something

0 голосов
/ 04 октября 2011

Быстрые ответы на 1 и 2 включают параметр short_open_tag в файле php.ini, для последнего из них error_reporting установлен менее строгий режим.

Причинами непринятия таких мер являются:

  • короткий тег конфликтует с объявлением xml и отключается на другом хосте, если вам нужно манипулировать xml или если вам нужно написать переносимый код, лучше прибегнуть к синтаксису длинного тега. Вы теряете способность отображать данные с помощью =, но это немного раздражает меня.

  • Предупреждения и уведомления, так как php многое простит программисту за объявление отсутствующих переменных - это благословение для отладки. Продолжайте поднимать, и вы решите много ошибок. Вы уверены, что function-if-exist является правильным индексом для вашего хэша? Я бы сначала проверил индекс доступа к ним. Если индекс не существует, это вероятный намек на то, что с вашим кодом что-то не так, и вам следует выяснить причину пропажи.

  • Лучше остановиться сейчас, так как любой может написать книгу на эту тему, а несколько уже сделано;)

0 голосов
/ 04 октября 2011

Я не понимаю, почему я получаю следующие ошибки:

Мой PHP не понимает

Чтобы иметь возможность использовать короткие теги, вам нужно будет включить их через конфигурацию ...http://www.tomjepson.co.uk/tutorials/35/enabling-short-tags-in-php.html

Мой PHP не любит и хочет что-то вроде

Как только вы включите короткие теги, вы сможете отображать эхо, используя ... важные знаки равенства должны касаться?не переменная.

$ function = $ _GET ['function-if-Существовать'];вызывает ошибку «Неопределенный индекс», но, вероятно, работает для разработчиков, которые его разработали.

Заполнение $ _GET выполняется в соответствии с тем, что находится в URL.Чтобы получить значение в $ _GET ['function-if-exist'], URL-адрес для доступа к скрипту должен быть примерно таким: mydemo.php?function-if-exist=hello

Надеюсь, это поможет вам

0 голосов
/ 04 октября 2011
  1. в вашем php.ini отключена запись коротких тегов
  2. вам нужно удалить пробел перед знаком равенства
  3. ваш массив _get содержит не ожидаемый индекс, какой URLВы входите, чтобы получить доступ к странице?
0 голосов
/ 04 октября 2011

Лучше проверить, установлен ли параметр, прежде чем продолжать, чтобы предотвратить появление ошибок, например,

if(isset($_GET['function-if-exist']))
{
    $functionexists = $_GET['function-if-exist'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...