我想使用PHP $_SESSION
来访问用户表单输入的数据。流程如下:
第1步 用户填写表格。
<form method="post" action="review.php">
<input type="text" name="length">
<input type="text" name="width">
<input typ="text" name="quantity">
<input type="submit" value="submit">
</form>
第2步
表单数据已提交,“review.php”会从POST
转换为SESSION
。用户评论表单详细信息并将项目添加到购物车。
第3步 物品已添加到PayPal购物车。用户决定添加另一个项目,以便用户点击“继续购物”并返回到步骤1。
第1步
用户填写表单详细信息。除此之外,我希望input
名称自动增加。
例如:
<input type="text" name="length2">
<input type="text" name="width2">
<input type="text" name="quantity2">
我想让它自动递增,但用户将新商品添加到购物车的次数很多次。
<input type="text" name="length3">
<input type="text" name="length4">
<input type="text" name="etc">
常用流量继续... 步骤2 ---&gt;第3步
在第3步中成功付款后,用户将被重定向到新页面。
第4步(newPage)
所有购买商品的详细信息将按顺序显示在此页面上,并显示在同一组中。例如,(长度,宽度,数量)则(长度2,宽度2,数量2)等等。它们将以不同的形式显示。
这些表单还将包含<input type="file">
,以便用户可以为每个表单上传文件。每个表单代表一个购买的项目。
一旦用户将文件上传到每个相应的表单,他们就会被提交到数据库。
问题
如何使用PHP优先使input
名称自动增加,
当然在使用$_SESSION
时?我想name
来
在用户会话后返回其原始名称。所以我们说吧
同一个用户想要第二天订购,他订购了5件商品,
输入名称将跨越5(长度,长度2,...,长度5)。
如何在各自显示所有用户输入的数据 表格(见第4步)?
我知道我必须在PHP($ _ SESSION,表格等)上做所有后端工作但是如果有人有自动增量的jQuery解决方案并且最后显示所有数据我都是为了它。
以下是我正在使用的内容
试图使用它来显示具有递增名称的数据,但无法找到解决方案。
<?php
session_start();
?>
<form>
<?php
$size = $_SESSION['size'];
$variables = array("$size");
$i = 1;
foreach ($variables as $var ) {
$name = "txt".$i;
echo "<input type='text' name='".$name."' value='".$var."' />";
$i++;
}
?>
</form>
有些人可能会提出PayPal IPN。我也创建了一个IPN监听器,但它不会通过沙箱调用。这里的用户发布了他的IPN监听器不能在沙箱上工作,但是当他通过paypal.com上线时它确实有效。可能也是我的情况,但我想继续开始销售,所以我需要一个不同的方法。即使我的IPN听众通过paypal.com工作,我也不能冒险使用它而不是100%肯定。所以,如果我现在可以使用这种方法,直到我确认我的听众工作,我就会这样做。
一如既往,我非常感谢你们的帮助。
答案 0 :(得分:0)
我实际上已经想了一会儿。这是我正在使用的代码:
<?php
if(isset($_POST['submit'])){
$_SESSION['invoice'] = $_POST['invoice'];
$invoice_no = $_SESSION['invoice'];
$decal = array(
'length' => $_POST['os0'],
'width' => $_POST['os1'],
'color' => $_POST['os2'],
'quantity' => $_POST['os3'],
'price' => $_POST['price'],
'submit' => $_POST['submit']
);
$_SESSION['order'][] = $decal;
$i = 0;
}
if(isset($_SESSION['order'])){
foreach($_SESSION['order'] as $sav) {
$i++;
?>
<input type="hidden" name="on0_<?php echo $i; ?>" value="Length">
<div class="decalName">
<label>Custom Decal <?php echo $i; ?></label>
</div>
<div class="label-input">
<label>Length</label><input type="text" name="os0_<?php echo $i; ?>" id="length" size="2" class="num" value="<?php echo $sav['length']; ?>" readonly>
</div>
<input type="hidden" name="on1_<?php echo $i; ?>" value="Width">
<div class="label-input"><label>Width</label><input type="text" name="os1_<?php echo $i; ?>" id="width" size="2" class="num" value="<?php echo $sav['width']; ?>" readonly>
</div>
<input type="hidden" name="on2_<?php echo $i; ?>" value="Color">
<div class="label-input">
<label>Color</label><input type="text" name="os2_<?php echo $i; ?>" value="<?php echo $sav['color']; ?>" readonly>
</div>
<div class="label-input">
<label>Quantity</label><input type="text" name="os3_<?php echo $i; ?>" size="2" class="num" id="quantity" value="<?php echo $sav['quantity']; ?>" readonly>
</div>
<input type="hidden" name="on3_<?php echo $i; ?>" value="quantity">
<input type="hidden" class="num" value="0.20">
<div class="label-input">
<label>Price $:</label><input type="text" class="tot" name="price" value="<?php echo $sav['price']; ?>" readonly>
</div><!--end label-input-->
<?php
}
?>