**PHP这段嵌入html的PHP代码为何报错?*

mikeflxca 2019-02-10 09:35:22
报错如图:

在localhost状态下运行之后报错的。什么原因??(代码第一、二行为空格)。前期在另一个提交订单的Html程序中提交了订单,好像有提示下载一个东东,是不是订单传值没实现造成的?
这段程序是另一个html表单(名称为orderform -1)的处理程序,文件名为processorder1.php。
orderform-1 保存于E盘,processorder1.php保存于D盘的D:\XAMPP\htdocs目录下。

点击提交订单时浏览器出现提示,图片如下:


看到这个图片我选择了保存,之后屏幕显示:

我看了看,好像这个下载项下载到c盘里了。

以下这段代码是名称为processorder1.php的代码(写好,存于d盘D:\XAMPP\htdocs目录下):

<html>
<head>
<title>Bob's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php
echo'<p>Order Processed.</p>';
echo'<p>Order processed at';
echo date('H:i,jS F Y');
echo'</p>';
$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparksqty = $_POST['sparksqty'];
echo '<p>Your Order is as follows:</p>';
echo $tireqty.'tires<br/>';
echo $oilqty.'bottles<br/>';
echo $sparksqty.'spark plugs<br/>';


?>
</body>
</html>
orderform-1.html的代码如下(写好存于E盘项目文件夹中):

```
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style>
</style>
</head>
<body>
<form action="processorder1.php" method="post">
<table border="0">
<tr bgcolor="#cccccc">
<td width='150'>Item</td>
<td width='15'>Quantity</td>
<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'/></td>
</tr>
<tr>
<td>Sparks</td>
<td align='center'><input type='text' name='sparksqty' size='3'
maxlength='3'/></td>
</tr>
<tr>
<td colspan='2' align='center'><input type='submit'
value='Submit Order'/></td>
</tr>
</table>
</form>
</body>
</html>
```


...全文
311 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mikeflxca 2019-02-11
  • 打赏
  • 举报
回复
引用 6 楼 下雨的声音丶 的回复:
1.你应该 把 orderform-1.html 存放到 D:\XAMPP\htdocs 这个下面 通过localhost/orderform-1.html 来访问,就可以解决 2.你也可以把 <form action="processorder1.php" method="post"> 修改为绝对路径 http://localhost/processorder1.php,也可以解决 你这个错误是因为你直接通过路径访问的orderform-1.html,浏览器是可以解析html 的 但是你提交后运行的是processorder1.php浏览器不认识,就会让你下载。通过web服务器访问后(localhost)就可以解析php了,你第一张图应该是直接访问的
非常感谢! 用第一种方法可以了。 但是你说的第2种方法,怎么改绝对路径呢?是action="http://localhost/rocessorder1.php"吗??
下雨的声音丶 2019-02-11
  • 打赏
  • 举报
回复
1.你应该 把 orderform-1.html 存放到 D:\XAMPP\htdocs 这个下面 通过localhost/orderform-1.html 来访问,就可以解决 2.你也可以把 <form action="processorder1.php" method="post"> 修改为绝对路径 http://localhost/processorder1.php,也可以解决 你这个错误是因为你直接通过路径访问的orderform-1.html,浏览器是可以解析html 的 但是你提交后运行的是processorder1.php浏览器不认识,就会让你下载。通过web服务器访问后(localhost)就可以解析php了,你第一张图应该是直接访问的
mikeflxca 2019-02-10
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
出错的是这三行 $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparksqty = $_POST['sparksqty']; 错误信息表示: $_POST['tireqty']、$_POST['oilqty']、$_POST['sparksqty'] 不存在(未定义) 显然,你的 processorder1.php 不是以 post 方式运行的
那该怎么改代码呢??
xuzuning 2019-02-10
  • 打赏
  • 举报
回复
出错的是这三行 $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparksqty = $_POST['sparksqty']; 错误信息表示: $_POST['tireqty']、$_POST['oilqty']、$_POST['sparksqty'] 不存在(未定义) 显然,你的 processorder1.php 不是以 post 方式运行的
mikeflxca 2019-02-10
  • 打赏
  • 举报
回复
引用 4 楼 mikeflxca 的回复:
[quote=引用 3 楼 xuzuning 的回复:] 无需修改,只要不直接运行,而是从 orderform-1.html 提交就可以了
没太懂, 我先在运行了位于E盘的orderform-1.html,然后再运行d盘下的processorder1.php, 之后就报错了啊!(并不是直接运行的processorder1.php).[/quote] d盘里也有同样的orderform-1.html文件,不管是运行E盘下还是D盘下的这个文件提交订单后,都会报错如主贴。
mikeflxca 2019-02-10
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
无需修改,只要不直接运行,而是从 orderform-1.html 提交就可以了
没太懂, 我先在运行了位于E盘的orderform-1.html,然后再运行d盘下的processorder1.php, 之后就报错了啊!(并不是直接运行的processorder1.php).
xuzuning 2019-02-10
  • 打赏
  • 举报
回复
无需修改,只要不直接运行,而是从 orderform-1.html 提交就可以了

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧