我是非常新的PHP,我的问题标题可能看起来很不清楚。我对此感到抱歉。我试着在这里解释一下。
我有一个checkout.php类,它是主类。 在课堂上,我有三个不同的部分发货,付款和收据。在制作checkout.php课程时,我只使用了div。现在我意识到这不起作用,因为在买方填写运费部分中的表单并按下继续按钮后,需要将数据传递到付款的另一部分。我意识到不可能将数据传递到同一个php类中。在这种情况下,你建议我做什么?我希望发货,付款和收据成为不同的类,例如 checkout.php / shipping ,结帐.php / payment 和 checkout.php / receipt 分别不改变设计。我怎样才能做到这一点?
<div class="checkout_nav">
<ul>
<li><a class="link_nav_1" href="#" rel="shipping"> <?php echo $lang['Shipping']; ?></a></li>
<li><a class="link_nav_2" href="#" rel="payment"> <?php echo $lang['Payment']; ?></a></li>
<li><a class="link_nav_3" href="#" rel="receipt"> <?php echo $lang['Receipt']; ?></a></li>
</ul>
</div>
<div id="first_nav">
<form action="payment.php" class="form" method="post" name="form" onsubmit="return validateForm();">
<input name="firstname" type="text" id="first_name" placeholder="<?php echo $lang['First name']; ?>" class="required"/>
<input name="lastname" type="text" id="last_name" placeholder="<?php echo $lang['Last name']; ?>" class="required"/>
<input name="address1" type="text" id="address1" placeholder="<?php echo $lang['Address line 1']; ?>" class="required"/>
<input name="address2" type="text" id="address2" placeholder="<?php echo $lang['Address line 2']; ?>"/>
<input name="city" type="text" id="city" placeholder="<?php echo $lang['City']; ?>" class="required"/>
<input name="zipcode" type="text" id="zip" placeholder="<?php echo $lang['Zip code']; ?>" class="required"/>
<input name="amount" type="hidden" value="<?php echo $mycart_total_price; ?>"/>
<select name="country" placeholder="Choose" style="width:280px">
<option>Finland</option>
<option>Sweden</option>
<option>Norway</option>
</select><br>
<input name="delivery_submit" class="btn" id="btn" type="submit" value="<?php echo $lang['Continue']; ?>" />
</form>
</div>
<div id="second_nav" style="display: none;">
<h1>Payment</h1>
</div>
<div id="third_nav" style="display: none">
<h1>Receipt</h1>
</div>
答案 0 :(得分:0)
PHP是一种运行一次的语言,然后就死了。 您需要使用会话或数据库存储信息以便以后调用。这是标准的PHP开发内容,并不是很复杂。
至于在类之间获取数据,您可以在调用构造函数时将第二个或第三个类所需的数据注入到类中,或者让它们填充它们自己的本地版本。
听起来你在这里遇到了设计问题 - 你可能需要的是一个&#39; Order&#39;要保留详细信息的课程,然后按顺序排列&#39;课程可以传递到“运输”中。 &#39;接收&#39;和&#39;付款&#39;这样他们就可以访问它的详细信息进行处理。订单类可以传递到您的会话中以管理以避免必须从数据库重新加载它(或者每次需要时重新实例化该类)并在每个需要使用的页面上读回会话它