pb écriture 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 : pb écriture php

par Cyrano » 28 août 2006, 15:53

C'est l'avantage qu'on a d'être une vedette :langue:

Blague à part, c'est vrai que ce n'est pas forcément approprié de mettre un code tout fait, reste quand même que ce n'est pas forcément non plus un avantage pour le posteur qui devra peut-être bien analyser un peu avant utilisation.

par thehawk » 28 août 2006, 15:46

RRRRRRrrrrRRRRR quand je donne un code tout fait je me fait engueler
(zeus te sent pas viser ....:axe: ) et Cyrano le donne tout cuit et onlui dit rien ... c'est injuste snif je vais pleurer dans mon coin puisque c'est ca . :cry: :cry:

par Cyrano » 27 août 2006, 19:14

Attentions aux majuscules/minuscules quand tu définis une variable ou une fonction. Corrigé fonctionnel :
<?php
class Commande 
{
    var $PrixRoyal = 6;
    var $PrixCampagnarde = 8;
    var $nomClient;
    var $listePizzas;
    
    function ajouterRoyale($nombre)
    {
        $this->listePizzas[0] += $nombre;
    }
    function ajouterCampagnarde($nombre)
    {
        $this->listePizzas[1] += $nombre;
    }
    function CalculerPrix()
    {
        $montant_Royale = $this->listePizzas[0] * $this->PrixRoyal;
        $montant_Campagnarde = $this->listepizzas[1] * $this->PrixCampagnarde;
        $total = $montant_Royale + $montant_Campagnarde;
        return $total;
    }
    function Affichercommande()
    {
        $nb_royales = (isset($this->listePizzas[0])) ? $this->listePizzas[0] : "0";
        $nb_campagnardes = (isset($this->listePizzas[1])) ? $this->listePizzas[1] : "0";
        echo "Commande du client : ". $this->nomclient;
        echo "<BR>Pizzas(s) 'royale' : ". $nb_royales;
        echo "<BR>Pizzas(s) 'campagnarde(s)' : ". $nb_campagnardes;
        echo "<HR>Total de votre commande : ". $this->CalculerPrix();
        echo " euros<BR><HR>";
    }
}

$client1=new Commande();
$client1->nomClient="PHPDébutant";
$client1->ajouterRoyale(5); //disons que 0 est le code pour "Pizza royale", j'en veux 5
$client1->ajouterCampagnarde(2);
$client1->Affichercommande();
$client2=new Commande();
$client2->nomClient="Anne";
$client2->ajouterRoyale(1); //je veux deux campagnardes (n°1)
$client2->Affichercommande();
?>
Je te laisse le soin d'analyser.

par zeus » 27 août 2006, 18:32

Salut,

m'est avis que l'erreur vient de cette ligne :
var $listePizzas; 
Tu ne précises pas que cette varaible est un tableau et, pire, tu n'initialise pas les case 0 et 1.

Donc la 1ere fois que tu executes ce code :
function ajouterRoyale($nombre) {
          $this->listePizzas[0] += $nombre;[/color]
 } 
PHP ne sait pas ce que contient $this->listePizzas[0];
Ce qui me confirme dans cette idée, c'est que toutes les erreurs sont liées à cette variable.

Tu pourrais donc ajouter un contructeur à ta méthode pour initialiser ce tableau.

pb écriture php

par lbailler » 27 août 2006, 18:15

Bonjour, je suis débutant et j'ai récupéré ces lignes de codes
77   class Commande {
78	  var $PrixRoyal = 6;
79	  var $PrixCampagnarde = 8;
80	  var $nomClient;
81	  var $listePizzas;
82	  	function ajouterRoyale($nombre) {
  		$this->listePizzas[0] += $nombre;[/color]
		}
	  	function ajouterCampagnarde($nombre) {
	  		$this->listePizzas[1] +=$nombre;
		}
	  	function CalculerPrix() {
		$montant_Royale=$this->listePizzas[0]* $this->prixRoyal;
		$montant_Campagnarde=$this->listepizzas[1]*$this->prixcampagnarde;
	  	return $montant_royale+$montant_campagnarde;
		}
		function Affichercommande() {
		echo "Commande du client : ".$this->nomclient;
		echo "<BR>Pizzas(s) 'royale' : ".$this->listepizzas[0];
		echo "<BR>Pizzas(s) 'campagnarde(s)' : ".$this->listepizzas[1];
		echo "<HR>Total de votre commande : ".$this->calculerprix();
		echo " euros<BR>";
		}
}
$client1=new Commande();
$client1->nomClient="PHPDébutant";
$client1->ajouterroyale(5); //disons que 0 est le code pour "Pizza royale", j'en veux 5
$client1->ajoutercampagnarde(2);
$client1->affichercommande();
$client2=new commande();
$client2->nomClient="Anne";
$client2->ajouterroyale(1); //je veux deux campagnardes (n°1)
$client2->affichercommande();
?>
Malheureusement, j'ai les messages d'erreur suivants (entre autres):

Code : Tout sélectionner

g:\site_php\prog_objet\pizza1.php on line 83 Notice: Undefined offset: 1 in g:\site_php\prog_objet\pizza1.php on line 86 Notice: Undefined property: nomclient in g:\site_php\prog_objet\pizza1.php on line 94 Commande du client : Notice: Undefined property: listepizzas in g:\site_php\prog_objet\pizza1.php on line 95 Pizzas(s) 'royale' : Notice: Undefined property: listepizzas in g:\site_php\prog_objet\pizza1.php on line 96 Pizzas(s) 'campagnarde(s)' : Notice: Undefined property: prixRoyal in g:\site_php\prog_objet\pizza1.php on line 89 Notice: Undefined property: listepizzas in g:\site_php\prog_objet\pizza1.php on line 90 Notice: Undefined property: prixcampagnarde in g:\site_php\prog_objet\pizza1.php on line 90 Notice: Undefined variable: montant_royale in g:\site_php\prog_objet\pizza1.php on line 91 Notice: Undefined variable: montant_campagnarde in g:\site_php\prog_objet\pizza1.php on line 91
Pourriez-vous m'aider ?
merci