IE没有加载页面页面,打开文件到剪贴板

时间:2011-04-28 21:43:08

标签: php internet-explorer browser

任务,一个相当简单的任务。在一个.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 :(得分:0)

您的PHP文件可能由您的服务器以text / plain方式提供(或者您不使用任何服务器,或者您的服务器不支持PHP)

答案 1 :(得分:0)

听起来你没有正确安装PHP。首先创建一个简单的php页面,只需:

<?php
phpinfo();
?>

如果这不相同,你只看到源代码,那么你需要检查你的PHP堆栈设置。

开始使用的好地方是下载一个完整的堆栈,例如EasyPHP:

http://www.easyphp.org/

然后按照安装说明进行操作。

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

答案 2 :(得分:0)

PHP与Internet Explorer无关,反之亦然,但考虑到您已使用internet-explorer标记了您的问题,我猜您没有使用Firefox,Chrome,Opera等问题。 ......这意味着它与PHP无关。

在这种情况下 - 你实际上有很多问题:

  • 根据W3C标准,您的HTML代码无效。
  • 在实际HTML代码开始之前,您有额外的输出。
  • IE在Web标准不兼容方面有着悠久的历史,而且最重要的是,猜测内容类型也非常糟糕。所以,即使你符合标准 - 你仍然可以遇到同样的问题,虽然我怀疑你是在使用IE 6,所以情况可能并非如此。但我想最好在here中解释。

所以...你可以做些什么来解决它:

  • 删除<html>标记之前的空格(新行数!)。
  • 使用PHP发送内容类型标题(它仍然与它无关 - 如果您使用的是Perl或Ruby,则会遇到同样的问题。)
  • 删除xmlns属性可能有效...但仅限于IE 6,您仍然需要删除空格。
  • 包含一个DOCTYPE声明 - 这将确保浏览器知道它尝试渲染的文档类型,而不是让它以“哑模式”猜测。