Développement d'une boutique en PHP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Développement d'une boutique en PHP

Re: Développement d'une boutique en PHP

par Mazarini » 13 avr. 2012, 15:39

Je ne suis pas un expert de la programmation objet, mais il me semble que tu devrais faire plusieurs objets en regroupant des choses qui forment un tout cohérent. Par exemple faire un objet produit, un objet personne (ou client), un objet panier...

Autrement, comme je te l'ai dit dans un autre post, pour la méthode ItemQuantity tu ne peux avoir que 0 ou 1 comme résultat.

Re: Développement d'une boutique en PHP

par MEGASTORE » 13 avr. 2012, 15:26

Merci du conseil, je n'ai pas fait d'autres erreurs sinon ou code trop compliqué ?

Re: Développement d'une boutique en PHP

par Mazarini » 13 avr. 2012, 15:23

$this->items = array(); me semble plus simple.

Re: Développement d'une boutique en PHP

par MEGASTORE » 13 avr. 2012, 15:19

J'ai fait une fonction supplémentaire
public function EmptyCart()
	{
		foreach ($this->items as $item => $price)
		{
			$this->RemoveToCart($item);
		}
	}

Développement d'une boutique en PHP

par MEGASTORE » 13 avr. 2012, 15:11

Bonjour à tous, je viens vous demander votre aide, je viens de passer 2 h pour faire ma page de fonctions en PHP
<?php

Class ClassStore
{
	public $items = Array();
	
	public function GetItemList()
	{
		return $this->items;
	}
	
	public function ItemQuantity($item)
	{
		$i = 0;
		
		foreach ($this->items as $key => $value)
		{
			if ($value == $item)
			{
				$i++;
			}
		}
		
		return $i;
	}
	
	public function Amount()
	{
		$amount = 0;
		
		foreach ($this->items as $item => $price)
		{
			$amount += $price;
		}
		
		return $amount;
	}
	
	public function AddToCart($item, $price)
	{
		$this->items[$item] = $price;
	}
	
	public function RemoveToCart($item)
	{
		unset($this->items[$item]);
	}
	
	public function CreateTicket()
	{
		global $core;

			$ticket = "ticket-";
			$ticket .= $core->Hash(rand(30,150));
			
			return $ticket;
	}
	
	public function GetUserMoney($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			mysql_result(dbquery("SELECT money FROM user_store"), 0);
		}
	}
	
	public function HaveEnoughMoney($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			if ($this->GetUserMoney($username) >= $this->Amount())
			{
				return true;
			}
			
			return false;
		}
	}
	
	public function SubtractMoney($username, $value)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			$value = $this->GetUserMoney($username) - $value;
			
			dbquery("UPDATE user_infos SET money = '" . $value . "' WHERE username = '" . filter($username) . "'");
		}
	}
	
	public function BuyItems($username)
	{
		global $users;
		
		if ($users->IsNameTaken($username))
		{
			if ($this->HaveEnoughMoney($username))
			{
				$this->SubtractMoney($username, $this->Amount());
				dbquery("INSERT INTO user_ticket (ticket) VALUES ('" . $this->CreateTicket(); . "')");
				
				return true;
			}
			
			return false;
		}
	}
}

?>
Je voudrais vous demander si j'ai fait des erreurs de codes ou autres, j'utilise notepad ++