IE не загружает страницу страницу, открывает файл в буфер обмена - PullRequest
1 голос
/ 29 апреля 2011

Задача, довольно простая.На одной странице .HTML находится HTML-скрипт, задача которого - «собрать данные» и передать «эти данные» (данные имен переменных) на другую страницу .php, а затем отобразить переменные.

Этот простой .HTMLстраница - -

<html xmlns="http://www.w3.org/1999/xhtml">

<body>
<form action="processorder.php" method="post">
<table border="0">
<tr bcolor="#cccccc">
<td with="150">Item</td>
<td with="5">Quantity</td>
</tr>
<tr>
<td>Tires</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3" />
</td>
</tr>
<tr>
<td>Oil</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3" />
</tr>
<tr>
<td>Spark Plugs</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3" />
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Submit Order" />
</td>
</tr>
</table>
</form>
</body>

Ввод собран, и вызову

<form action="processorder.php" method="post"> 

не удается загрузить файл .php в браузер, но ОТКРЫТЬ этот файл в буфер обмена.

Простой файл processorder.php -

<?php
// create short variable names
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
?>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Order Results</title>
</head>

<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>

<?php
echo "<p>Order processed at ";
echo date('H:i, jS F Y');
echo "</p>";
echo '<p>Your order is as follows:</p>';
echo $tireqty.'tires<br />';
echo $oilqty.';bottles of oil<br />';
echo $sparkqty.';spark plugs<br />';
?>
</body>
</html>

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

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

Если строка на странице orderform.html имеет значение

<form action="processorder.php" method="post"> 

затем редактируется как

<form action="processorder.html" method="post"> 

, тогда страница загружается в браузер и не открывается в буфер обмена.Другое изменение в этом файле .html - тег

Все это происходит в редакторе Rapid PHP 2007.

PHP присутствует в файлах и настроен с помощью редактора Rapid 2007.

Один вопрос касается браузера IE и того, как браузер обнаруживает / решает не загружать файл, выполнять части PHP или в чем проблема, не загружая файл, а открывая файл в буфер обмена.

Ответы [ 3 ]

0 голосов
/ 29 апреля 2011

Похоже, у вас неправильно установлен PHP.Сначала создайте простую страницу php:

<?php
phpinfo();
?>

Если это не так, и вы просто видите исходный код, то вам нужно проверить настройки стека PHP.

Хорошим местом для начала является загрузка полного стека, такого как EasyPHP:

http://www.easyphp.org/

Затем следуйте инструкциям по установке.

http://www.easyphp.org/introduction.php

0 голосов
/ 29 апреля 2011

PHP не имеет ничего общего с Internet Explorer и наоборот, но, учитывая, что вы пометили свой вопрос как internet-explorer, я думаю, у вас нет этой проблемы с Firefox, Chrome, Opera и т. Д. .. ... и это будет означать, что это не имеет ничего общего с PHP.

В этом случае - у вас действительно есть куча проблем:

  • Ваш HTML-код недействителен в соответствии со стандартами W3C.
  • У вас есть дополнительный вывод до начала фактического HTML-кода.
  • IE имеет долгую историю несовместимости веб-стандартов, и, кроме того, он довольно плохо угадывает типы контента. Поэтому, даже если бы вы соответствовали стандартам - у вас все еще могла бы быть та же проблема, хотя я сомневаюсь, что вы используете IE 6, так что, вероятно, это не так. Но я думаю, это лучше всего объяснить в здесь .

Итак ... что вы можете сделать, чтобы это исправить:

  • Удалите пробелы (количество новых строк тоже!) Перед тегом <html>.
  • Отправьте заголовок типа содержимого с помощью PHP (он все еще не связан с ним - у вас возникнет та же проблема, если вы используете, например, Perl или Ruby).
  • Удаление атрибута xmlns может сработать ... но только в IE 6, и вам все равно придется удалить пробелы.
  • Включите объявление DOCTYPE - это позволит убедиться, что браузер знает, какой тип документа он пытается отобразить, вместо того, чтобы угадывать его в «тупом режиме».
0 голосов
/ 29 апреля 2011

Ваши файлы PHP, вероятно, доставлены вашим сервером в виде текста / обычного текста (или вы не используете сервер, или ваш сервер не поддерживает PHP)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...