2017-07-02 76 views
-1

我有一個html頁面,它接受客戶的訂單並將其提交到數據庫中的庫存表。然後,php文件重定向到一個新的html頁面,該頁面將用戶的聯繫信息提交給數據庫中的客戶聯繫人表。到目前爲止這麼好,但在第一種形式中,我計算了訂單價格。如何將此變量傳遞給第二個表單,以便我可以向客戶顯示他/她的收據?使用JS或PHP在HTML表單之間傳遞數據?

我是PHP新手,不確定是使用localStorage還是使用AJAX請求。我真的很感激解釋使用PHP或JavaScript(或其他方法!)來實現這一目的的利弊。由於

編輯:

很抱歉,如果我的問題不明確。我已經發布了下面我的html和php頁面的代碼。我計算pizzaorder.html中的披薩價格,我想將它傳遞給pizzaform.html(在那裏的php文件重定向)。

更多編輯:

感謝您的反饋。我決定使用會話變量來共享html表單之間的價格。但是,當我執行此操作時,我的price輸入字段顯示<?php echo $_SESSION[而不是在pizzaorder.html中計算的總計。有任何想法嗎?

pizzaorder.html(爲了計算價格)

<?php 
require_once("session_start.php"); 
?> 
<!DOCTYPE html> 
<head> 

</head> 
<script> 
/*function receipt(){ 
var pizzacount = document.getElementById("count").value; 
var price = pizzacount*7.99; 
alert(price); 
} 
</script>*/ 
<body> 
<h1>Pizza Order</h1> 

<form action="pizzastock.php" method="post"> 
<h3>Number of pizzas </h3> 
<input type="text" name="number" id="count"> 
<h3>Choose a Topping</h3> 
<input type="radio" name="topping" value="jalapeno"> Jalapeno <br> 
<input type="radio" name="topping" value="mushroom"> Mushroom<br> 
<input type="radio" name="topping" value="anchovy"> Anchovy<br> 
<input type="radio" name="topping" value="pineapple"> Pineapple<br> 
<input type="radio" name="topping" value="peppers"> Peppers<br> 
<input type="radio" name="topping" value="pepperoni"> Pepperroni <br> 

<input type="submit" name="submit" onclick="receipt()";> 

</form> 

<?php 
if ($_POST){ 
$num = (int) $_POST['number']; 
$price = $num * 7; 
$_SESSION["price"]=$price; 
} 
?> 
</body> 
</html> 

pizzastock.php

<?php 

require("pizzacnn.php"); 
$query = "SELECT * FROM `inventory`"; 
$topping = $_POST['topping']; 
$number = $_POST['number']; 
if ($query_run=mysqli_query($cnn,$query)){ 
echo "query successful"; 
$sql="INSERT INTO inventory (toppings,number) VALUES ('$topping','$number')"; 
$success = $cnn->query($sql); 
if ($success){echo "query recorded successfully"; 
header("Location:pizzaform.html");} 
else {echo "Error:".$sql."<br>".$cnn->error;} 
} 
else {die("query unsuccessful");} 

?> 

pizzaform.html(顯示收據給客戶)

<?php 
require_once("session_start.php"); 
?> 
<!DOCTYPE html> 
<head> 
<link rel="stylesheet" type="text/css" href="pizzaform.css"> 
</head> 
<body> 
<div class="submit"> 
<form action="pizza.php" method="post"> 
<h1>Thanks for Ordering. Please submit your delivery info.</h1> 
<label>Name:</label> <input type="text" name="name"> 
<label>Address:</label> <input type="text" name="address"> 
<label>Phone:</label> <input type="text" name="phone"> 
<label>Money: </label><input type="text" name="money" value='<?php echo $_SESSION['price']; ?>'/> 
<label>Feedback:</label> <input type="text" name="feedback"> 
<input type="submit" value="Submit"> 
</form> 
</div> 
</body> 
</html> 
+1

你能告訴我們表單代碼請和您的嘗試 –

回答

1

您可以使用JavaScript用於客戶端的數據驗證,並通知客戶他/她是否以錯誤的方式輸入了數據。

而當你必須提交數據到數據庫,那麼你需要一個服務器端 腳本語言,如PHP或node.js(框架的JavaScript)。

現在你的問題是如何向用戶顯示收據。然後,首先你必須訪問php中每個項目的價格,並使用給定表單中的一些參數重定向到下一頁。

$_SESSION['user_detail']=array(); 
$_SESSION['user_detail'][]=$meal1; 
$_SESSION['user_detail'][]=$meal2; 

然後通過訪問傳遞的變量計算下一頁的總數。

欲瞭解更多信息,請詳細說明你的問題和郵政編碼。

0

你不需要任何會話或cookie,你可以在鏈接中傳遞變量,就像用戶通過點擊提交按鈕將用戶重定向到下一頁來提交表單一樣,你可以把變量名放在頁面之後的鏈接中名稱如下

0

您需要存儲會話。一旦你計算出價格,把它存儲在一個會話中,例如$ _SESSION ['price'] = $ price; 第二種形式,只需回聲$ _SESSION ['價格']