我创建了一个html页面(index.html),一旦用户点击提交按钮,表单将处理POST方法并将我的所有数据发送到php端(index.php)来处理数据。一旦php完成处理我的数据,就可以将处理后的数据返回到同一个HTML文档,但我无法弄清楚如何做到这一点。
基本上流程是
这是我的javascript文件
function isNumber(idValue,evt) {
evt = (evt) ? evt : window.event;
var sum = 0;
var costOfApple = 0;
var costOfOrange = 0;
var costOfBananna = 0;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
document.getElementById(idValue.id).value = "";
document.getElementById('totalCost').value = "Nan";
$("#invalid-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#invalid-alert").slideUp(500);
});
}
else
{
costOfApple = document.getElementById('apple').value *69;
costOfOrange = document.getElementById('orange').value *59;
costOfBananna = document.getElementById('bananna').value *39;
sum = (Number(costOfApple) + Number(costOfOrange) + Number(costOfBananna)) /100;
document.getElementById('totalCost').value = "$" + (sum).toFixed(2);
}
}
这是我处理数据的php文件(我无法弄清楚如何将这些数据返回到我的html页面)
<?php
// define variables and set to empty values
$name; $totalCost; $appleNo; $orangeNo; $banannaNo; $appleCost; $orangeCost; $banannaCost; $paymentMethod = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$paymentMethod = $_POST["payment"];
$appleNo = $_POST["apple"];
$orangeNo = $_POST["orange"];
$banannaNo = $_POST["bananna"];
$appleCost = $appleNo * 0.69;
$orangeCost = $orangeNo * 0.59;
$banannaCost = $banannaNo * 0.39;
if ($paymentMethod == "Mastercard") {
$totalCost = ($appleCost + $orangeCost + $banannaCost) *100.12/100 ;
}
else if ($paymentMethod == "Visa"){
$totalCost = ($appleCost + $orangeCost + $banannaCost) *100.13/100 ;
}
else{
$totalCost = ($appleCost + $orangeCost + $banannaCost) *100.105/100 ;
}
$totalCost = number_format($totalCost,2);
}
?>
答案 0 :(得分:0)
尝试在processOrder.php的末尾设置标题,以引导您进入您的页面并将index.html保存到index.php,以便回显结果。
header("Location: index.php");
您还可以在processOrder.php的末尾添加该页面,以引导您访问自己的页面。
include 'index.php';
exit();
您可以通过设置会话来传递数据。将session_start()放在php代码的开头,然后将变量设置为session。为每个变量执行此操作以进行结转。
if ($YourMYSQLResults){
$_SESSION['CustomName'] = $CustomData;
}
答案 1 :(得分:0)
要从index.php
将数据发送回processOrder.php
,您需要查看PHP超全局'$_SESSION'
变量。
链接: PHP Docs
以下基本用法:
<强> processOrder.php 强>
<?php
session_start();
/*
Your Code............................
*/
$_SESSION['totalCost'] = $totalCost;
?>
确保在为会话变量赋值之前在每个页面上启动会话。
为会话变量分配值后,您就可以在其他页面上使用它,如下所示:
<强>的index.php 强>
<?php
session_start();
echo $_SESSION['totalCost'];
?>
当PHP完成执行脚本时,会话通常会自动关闭,但可以使用session_write_close()函数手动关闭。