【发布时间】:2010-11-13 20:29:19
【问题描述】:
简而言之,“page1.php”我有一个由 HTML 表单组成的计算器,然后 PHP 代码汇总输入并显示总价格。在价格下方,它还显示一个指向“page2.php”的链接,其中包含一个 HTML 表单,他们可以在其中输入他们的联系信息。提交表单后,他们在定价计算器中的“page1.php”上所做的选择以及“page2.php”上的联系信息都会通过电子邮件发送给我,并且它们会被重定向到主页。
在提交给我的电子邮件中,我收到了来自“page2.php”的联系信息,但我没有收到来自“page1.php”的任何信息,因此变量没有正确传递。除了每个页面上的 PHP 之外,我还在“page2.php”上的 HTML 表单中使用隐藏值来回显在“page1.php”上的 HTML 表单中输入的数据。我知道我的一个问题是当我的表单是“发布”时,我有几个 $_GET 字段。
但是,当我将其更改为 $_POST 时,计算器不再工作。我试图将其与其他人建议的不同 sn-ps 代码一起使用。 “page1.php”上的表单有13个字段,分别命名为“一”-“十三”。 $total 显示 1-13 的值。
<?php
$submit = $_GET['submit'];
if($submit == "true")
{
$total = ($_POST['one'] + $_POST['two'] + $_POST['three'] + $_POST['four'] +
$_POST['five'] + $_POST['six'] + $_POST['seven'] + $_POST['eight']+ $_POST['nine'] +
$_POST['ten']+ $_POST['eleven'] + $_POST['twelve']+ $_POST['thirteen']);
echo " Your Price is \$ " .number_format ($total, 2, '.', ','). "<BR>";
echo ('">Get Your Project Started</a>');
}
?>
第二种形式使用隐藏值来回显来自 page1.php 的信息,并具有另外三个字段,分别名为“name”、“email”和“details”。
<?php
$to = "jessica@designs.com";
$message = "Pages:\t$_POST[one]\n";
$message .= "Pages:\t$_POST[two]\n";
$message .= "Pages:\t$_POST[three]\n";
$message .= "Ecommerce:\t$_POST[four]\n";
$message .= "No Ecommerce:\t$_POST[five]\n";
$message .= "CMS:\t$_POST[six]\n";
$message .= "No CMS:\t$_POST[seven]\n";
$message .= "Audio or Video:\t$_POST[eight]\n";
$message .= "Flash Intro:\t$_POST[nine]\n";
$message .= "Image Gallery:\t$_POST[ten]\n";
$message .= "Graphic Design or Logo:\t$_POST[eleven]\n";
$message .= "Copy:\t$_POST[twelve]\n";
$message .= "Images:\t$_POST[thirteen]\n";
$message .= "Price Total:\t$_POST[total]\n";
$message .= "Name:\t$_POST[name]\n";
$message .= "Email:\t$_POST[email]\n";
$message .= "\n";
$message .= "\n";
$message .= "Details:\t$_POST[details]\n";
mail($to, $subject, $message, $headers) ;
}
?>
那么正确的 PHP 应该放在“page1.php”和“page2.php”上吗?抱歉,代码太乱了,如果有人能指出正确的方向,那就太好了。
【问题讨论】:
-
BB 标签在这里不起作用。用四个空格缩进你的代码以很好地格式化它。
-
要添加 [code] 在每行之前使用 4 个空格,并且忘记 [code] ubb 标签。 SO 使用其他格式。这是你的第一篇文章,所以我不会给它打分,但现在你知道了;)
-
你真的应该对你的输入做一些验证。