<html>
//index.php
<form action="" method="post">
<label for="item">Item: </label>
<select name="item">
<option value="fruit tea">Fruit Tea</option>
<option value="strawberries">Strawberries</option>
<option value="coffee">Coffee</option>
</select><br />
<label for="qty">Qty: </label>
<input type="text" name="qty" />
<input type="submit" name="submit" value="submit" />
</form>
<?php
@$qty = $_POST['qty'];
@$item = $_POST['item'];
$co = new Checkout( $pricing_rules );
print $co->scan( $item ). ' has been scanned '.$co->increment(). ' times';
?>
</html>
<?php
/**
* Description of Checkout
*
* @author cookie
*/
class Checkout {
private $pricing_rules = array();
private $pcode;
public $item;
public function __construct( array $pricing_rules ) {
$this->pricing_rules = $pricing_rules;
}
public function scan( $item ) {
$this->increment();
return $item;
}
private function prod_code( $pcode ) {
$this->pcode = $pcode;
}
public function increment() {
static $count = 0;
$count++;
return $count;
}
public function total() {
}
}
?>
それは何をすべきか...
送信ボタンを 4 回クリックすると、ドロップダウンから選択したイチゴが表示されます。スクリプトが画面に出力されます。
イチゴは1回スキャンされました
イチゴは2回スキャンされました
イチゴは3回スキャンされました
イチゴは4回スキャンされました
等....
$count
増分を追跡します。
実際に行うこと:
それは印刷します:
何度サブミットを押してもストロベリーは2回スキャンされました。そしてそこで止まります。ここで何かが欠けています。
私はそれが何をしているのかを見ています.
print $co->scan( $item ). ' has been scanned '.$co->increment(). ' times';
私は試した:
if($_SERVER['REQUEST_METHOD'] == 'POST') $co->increment();
また、これは $count を 1 増やしますが、そこで止まります。私はこれに少し苦労しています..
ヘルプ