【问题标题】:IE is not loading page the page, does open file to clipboardIE没有加载页面页面,打开文件到剪贴板
【发布时间】:2011-04-28 21:43:08
【问题描述】:

任务,一个相当简单的任务。在一个 .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 部分或通过不加载文件而是将文件打开到剪贴板的问题。

【问题讨论】:

  • 你的意思是它在记事本中打开它?

标签: php internet-explorer browser


【解决方案1】:

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

【讨论】:

  • “PHP 文件可能由您的服务器以文本/纯文本形式交付”听起来这更有可能是“问题”作为第二组文件,一个 .html 和另一个 .php(保存自.php 文件的编辑器)正在工作。安装了两个版本的 PHP,选择其中一个版本,一切正常。
【解决方案2】:

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

<?php
phpinfo();
?>

如果这不一样,并且您只看到源代码,那么您需要检查您的 PHP 堆栈设置。

下载一个完整的堆栈,例如 EasyPHP:

http://www.easyphp.org/

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

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

【讨论】:

  • 有效。此外,IIS7 已安装并正在运行。第一个问题“文件加载到剪贴板”已解决。问题是如何将此文件另存为 .php 文件。现在的问题似乎是在放入浏览器之前屏蔽要“从 IIS7 服务器”加载的文件。
【解决方案3】:

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

在那种情况下 - 你实际上有一大堆问题:

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

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

  • 删除&lt;html&gt; 标记之前的空格(也包括新行!)。
  • 使用 PHP 发送内容类型标头(它仍然与它无关 - 如果您使用例如 Perl 或 Ruby,您会遇到同样的问题)。
  • 删除xmlns 属性可能会起作用......但仅限于 IE 6,您仍然必须删除空格。
  • 包含 DOCTYPE 声明 - 这将确保浏览器知道它试图呈现的文档类型,而不是让它在“哑模式”下猜测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 2020-08-29
    相关资源
    最近更新 更多