我是这个领域的新手,我目前正在开发小型电子商务网站。因此,非常感谢有人可以给我任何建议或提示,或将类似问题与此问题的答案联系起来。
我知道这个帖子很长...但是,我想尽可能准确地分享我的情况,以便人们正确理解我正在努力的方向。这就是为什么它变得很长......
我有一个流程和代码,如下所示。
而且,我在堆栈的地方是我不知道如何制作"编辑"按钮在revieworder.php页面中正常工作,而其他功能可以正常工作....
所以,我的问题是如何同时实现以下事项?
当用户在revieworder.php页面中按“编辑”按钮时,将变量从revieworder.php传递到options.php和deliveryinformation.php页面
用户从revieworder.php页面跳转到deliveryinformation.php页面后,国家/地区选择的javascript仍然正常工作(通过更改国家/地区,javascript返回shippingfee,从数据库检索,具体取决于同一页面中的所选国家/地区) (deliveryinformation.php)。)
shippingfee,totalfee和country data在以下流程中正确传递
revieworder.php→delieveryinformation.php→revieworder.php
revieworder.php→options.php→delieveryinformation.php→revieworder.php
你能告诉我如何存档吗?
我的网站流量在这里;
第1页(options.php):用户可以选择他们想要订购的产品的详细信息
第2页(deliveryinformation.php):用户应输入交付信息,如姓名,地址等。此外,通过更改国家/地区,javascript将返回shippingfee,从DB检索,具体取决于同一页面中的所选国家/地区(deliveryinformation.php)。
第3页(revieworder.php):用户可以查看产品和信息的详细信息以进行交付。用户可以按“编辑”按钮返回options.php页面或deliveryinformation.php页面更改输入
代码;
options.php
<form name="selection" method="POST" action="deliveryinformation.php">
<div class="form-group">
<select id="dropdownforoption" name="options" class="form-control">
<option value="" select="selected">Option</option>
<option value="babysname">Baby's name</option>
</select>
</div>
<div>
<textarea id="request" name="request" placefolder="please type your request"></textarea>
</div>
<div class="form-group">
<select id="dropdownforsize" name="size" class="form-control">
<option value="" select="selected">Size</option>
<option value="27cm x 24cm">27cm x 24cm</option>
<option value="specialsize">special size</option>
</select>
</div>
<button id="delivery" type="submit" onclick="return onclickvalidation()">Proceed to develivery information</button>
</form>
deliveryinformation.php
<?php
$options = $_POST['options'];
$request = $_POST['request'];
$size = $_POST['size'];
>
<html>
<head>
<script type="text/javascript" src="toppage.js"></script>
</head>
...
<form name="delivery" method="POST" action="revieworder.php">
<input type="hidden" name="options" value="<?= $options; ?>"/>
<input type="hidden" name="request" value="<?= $request; ?>"/>
<input type="hidden" name="size" value="<?= $size; ?>"/>
<div class="row">
<div class="col-md-4">
<p>Name</p>
<p>Country</p>
</div>
<div class="col-md-4">
<input id="name" name="name" placeholder="please type your name">Name</input>
<div class="form-group">
<select id="countryselection" name="country" class="form-control">
<option value="" select="selected">Choose your country</option>
<option value="germany" select="selected">Germany</option>
<option value="other" select="selected">Other</option>
</select>
</div>
</div>
<div class="col-md-4">
<div class="col-md-6">
<p>shipping fee</p>
<p>total fee</p>
</div>
<div class="col-md-6">
<p class="shippingfee">EUR <input type="hidden" name="shippingfee" id="shippingfees2"><span id="shippingfees">xxx</span></input></p>
<p class="totalfee">EUR <input type="hidden" name="totalfee" id="totalfees2"><span id="totalfees">xxx</span></input></p>
</div>
</div>
</div>
..
</html>
toppage.js
$(document).ready(function(){
$('#countryselection').change(function(){
if($('#countryselection').val()!='Germany'){
var country = 'Other'
}else{var country = 'Germany'}
var priceforframe = document.delivery.framefees.value;
$.ajax({
type: 'GET',
url: '/shippingfee.php',
data: {'countryforshippingfee': country},
dataType: 'json',
success: function (data) {
document.getElementById("shippingfees2").value = data;
$('#shippingfees').html(data);
var total = data + 50;
document.getElementById("totalfees2").value = total;
$('#totalfees').html(total);
}
});
});
});
function submitForm(action){
document.getElementById('forminreviewpage').action = action;
document.getElementById('forminreviewpage').submit();
}
revieworder.php
<?php
$options = $_POST['options'];
$request = $_POST['request'];
$size = $_POST['size'];
$name = $_POST['name'];
$country = $_POST['country'];
$shippingfee = $_POST['shippingfee'];
$totalfee = $_POST['totalfee'];
?>
<html>
..
<form id="forminreviewpage" name="confirmation" method="POST">
<input type="hidden" name="options" value="<?= $options; ?>"/>
<input type="hidden" name="request" value="<?= $request; ?>"/>
<input type="hidden" name="size" value="<?= $size; ?>"/>
<input type="hidden" name="name" value="<?= $name; ?>"/>
<input type="hidden" name="country" value="<?= $country; ?>"/>
<input type="hidden" name="shippingfee" value="<?= $shippingfee; ?>"/>
<input type="hidden" name="totalfee" value="<?= $totalfee; ?>"/>
</form>
<div class="row">
<div class="col-md-4">
<div class="col-md-4">
<p><?= $options; ?></p>
<p><?= $request; ?></p>
<p><?= $size; ?></p>
</div>
<div class="col-md-4">
<button id="editbutton" onclick="submitForm('options.php')">Edit</button>
</div>
</div>
<div class="col-md-4">
<div class="col-md-4">
<p><?= $name; ?></p>
<p><?= $country; ?></p>
<p><?= $shippingfee; ?></p>
<p><?= $totalfee; ?></p>
</div>
<div class="col-md-4">
<button id="editbutton" onclick="submitForm('deliveryinformation.php')">Edit</button>
</div>
</div>
<div>
<button id="orderbutton" onclick="submitForm('ordered.php')">Order</button></br>
</div>
</div>
非常感谢你的帮助和最诚挚的问候,
纮
答案 0 :(得分:0)
使用会话可以使您网站中的网页访问“数据池” - 让您自己设置会话变量。这可以通过PHP轻松完成 - {3}}在W3上获取基本详细信息,网上有很多其他网站,一旦你掌握了基本概念,就可以轻松完成会话。
我不太确定你问的问题是什么。是否希望第二页自动知道用户的国家/地区?如果是这样,可以通过在上一页上分配会话变量或使用地理位置来实现 - 请参阅帮助see this page
至于问题三,实现正确的流程是一个架构问题 - 您需要确保用户访问的页面结构化只允许您想要的直通流。如果不花费数小时处理代码,我应该想象通过在页面成功“完成”并准备好移动到下一页时分配会话变量,可以再次实现这一点。
会话功能强大,可让您控制大量用户数据,以便在整个使用期间轻松体验您的网站体验。请注意您记录的会话数据 - 它应始终是可能的最小数量,并且不包含任何可能危及用户个人详细信息或其帐户的数据 - 即不存储其用户名和密码,只需存储如果通过身份验证,则为“1”或“0”。
希望有所帮助。