我有工作代码,但我有一个关于通过表格格式化的$ _POST发送数据的问题。
在PAGE1.php上,我有这段代码:
$printoutput .="<tr><td width='10%'> Item #". ($i+1) ."</td></tr>
<tr width='20%'><td> " . $product_name . " -- $" . $price . ".00</td></tr>
<tr><td width='40%'>" . $displayoptions . "</td>
<tr><td> </td></tr>";
它是通过表单提交的,我使用POST来获取数据。在PAGE2.php上,当我拉出数据并将其回显时,格式会完全改变。换句话说,在PAGE1.php上,数据如下所示:
项目#1
汉堡包 - $ 6.00
水果杯
项目#2
泛烤三文鱼 - $ 18.00
Vegtables
在第二页上,数据如下所示:
项目#1 汉堡包 - 6.00美元 水果杯
项目#2 Pan Roasted Salmon - $ 18.00 Vegtables
有谁知道如何使用正确的格式发送数据?因此,当它到达PAGE2.php时,我可以简单地回显出数据变量,并使其显示与PAGE1.php相同
我尝试了多种方法让它发挥作用,但没有一种方法是正确的。任何帮助,将不胜感激。谢谢。
PAGE2.php代码如下所示:
if(isset($_POST['order'])) {
$order = $_POST['order'];
}
echo $order;
答案 0 :(得分:1)
替代方式,一种链式方法,它将产生与原始答案相同的输出:
快速注意:
这:
$_SESSION['prodname'] = $product_name = "Product name";
可以更改为:
$_SESSION['prodname'] = $product_name = $_POST['product_name'];
从POST变量中获取信息。以上用作简单测试。
Page 1
<?php
session_start();
$_SESSION['prodname'] = $product_name = "Product name";
$_SESSION['prodcost'] = $price = "10";
$_SESSION['display'] = $displayoptions = "Display options";
// testing purposes only
// $price = $_SESSION['prodcost'];
// $displayoptions = $_SESSION['display'];
$printoutput .="<table><tr><td width='10%'> Item #". ($i+1) ."</td></tr>
<tr width='20%'><td> " . $_SESSION['prodname'] . " -- $" . $_SESSION['prodcost'] . ".00</td></tr>
<tr><td width='40%'>" . $_SESSION['display'] . "</td>
<tr><td> </td></tr></table>";
// echo $printoutput;
$_SESSION['order'] = $printoutput;
echo $_SESSION['order']; // will echo on screen
第2页
<?php
session_start();
if(isset($_POST['order'])) {
// $order = $_POST['order'];
$_SESSION['order'] = $printoutput;
$printoutput .="<table><tr><td width='10%'> Item #". ($i+1) ."</td></tr>
<tr width='20%'><td> " . $_SESSION['prodname'] . " -- $" . $_SESSION['prodcost'] . ".00</td></tr>
<tr><td width='40%'>" . $_SESSION['display'] . "</td>
<tr><td> </td></tr></table>";
echo $printoutput; // Successfully printed out data from page 1
}
// You can place the mail() function below this
您可以使用sessions。
受限于未示出的代码,提出了以下内容:
N.B。:我添加了<table>
和</table>
个标签作为我自己的测试。
Page 1
<?php
session_start();
$product_name = "Product name";
$price = "10";
$displayoptions = "Display options";
$printoutput .="<table><tr><td width='10%'> Item #". ($i+1) ."</td></tr>
<tr width='20%'><td> " . $product_name . " -- $" . $price . ".00</td></tr>
<tr><td width='40%'>" . $displayoptions . "</td>
<tr><td> </td></tr></table>";
$_SESSION['order'] = $printoutput;
echo $_SESSION['order'];
第2页
N.B。: echo $_SESSION['order'];
可能需要在条件语句中移动,但以下内容适用于现在的位置。
<?php
session_start();
if(isset($_POST['order'])) {
$order = $_POST['order'];
}
echo $_SESSION['order'];
将打印:
项目#1
产品名称 - 10.00美元
显示选项
生成的HTML源代码:
<table><tr><td width='10%'> Item #1</td></tr>
<tr width='20%'><td> Product name -- $10.00</td></tr>
<tr><td width='40%'>Display options</td>
<tr><td> </td></tr></table>