Не правильное выполнение скрипта

aldexe

Новичок
Не правильное выполнение скрипта

Всем привет!

Есть файл array.html, из него по нажатию ссылки
PHP:
 <a href="array.php">Старт</a>
должен запускаться скрипт array.php. Результатом которого будет жирная строчка "Hello, PHP!". Если я в браузере набираю http://localhost/array.php, то все работает нормально. Но если я открою файл array.html и в ней перейду по ссылке чтобы запустить array.php, то мне выводится следующее: "Hello, PHP!"; ?>". Скажите пожалуйста в чем может быть проблема?

И вопрос №2:
Если я нажимаю ссылку на скрипт, то выполняет скрипт только Opera, а Firefox и Internet Explorer предлагают мне открыть его с помощью окна выбора программ. Как можно решить эту проблему?
Заранее спасибо за ответ!!

Инструменты:
Apache 2.2.13
PHP 5.2.10
Windows XP SP3

Листинг array.php:
PHP:
<?php
 echo "<b>Hello, PHP!</b>";
?>
 

dimagolov

Новичок
Но если я открою файл array.html и в ней перейду по ссылке чтобы запустить array.php, то мне выводится следующее: "Hello, PHP!"; ?>". Скажите пожалуйста в чем может быть проблема?
PHP это интерпретатор. но вызывается веб-сервером при запросе array.php. То есть браузер<->протокол HTTP<->Apache<->mod_php<->array.php. Превращение содержимого array.php в HTML <b>Hello, PHP!</b> происходит в mod_php.

Теперь сам напиши что происходит, когда браузер открывает array.php с диска как файл. Думаю, что уже понятно почему выводится то, что выводится.
 

aldexe

Новичок
ты PHP по какой книге учишь?
PHP 5. Полное руководство (Коггзолл Д.)

))) я так и думал что сейчас запинают за слова "...выполняет скрипт только Opera...", сам процесс я понимаю. Но тем не менее почему в Firefox и Internet Explorer вместо жирной строчки "Hello, PHP!" мне предлагается выбрать программу с помощью которой ОТКРЫТЬ скрипт?

Теперь сам напиши что происходит, когда браузер открывает array.php с диска как файл
Тоесть? Вы имеете ввиду что будет если я по этому файлу нажму ENTER или вызову с array.html по ссылке?
 

dimagolov

Новичок
aldexe, у тебя в array.html в ссылке не указано, каким протоколом и с какого сервера запрашивать array.php. Все вменяемые браузеры в таком случае используют протокол текущей страницы, когда ты открываешь array.html с диска это будет что-то вроде file:///c:/Local/htdocs/array.html, т.е. протокол file, путь c:/Local/htdocs/. То есть ссылка твоя на array.php трансформируется в file:///c:/Local/htdocs/array.php (это и сам можешь увидеть в статус баре браузера). Почему Опера ведет себя по другому - это к ее разработчикам.
 

aldexe

Новичок
dimagolov, огромное спасибо за подсказку!!!!

если я запускаю файл так http://localhost/array.html, то все работает и переход по ссылке, и скрипт выполняется.

СПАСИБО!!
 
Сверху