bonsoir j'ai cette erreur
Avez vous deja eu une erreur comme celle ci . ? merci de m'aiderFatal error: Cannot access empty property in C:\wamp\www\poo\pizza.php on line 19
bonsoir j'ai cette erreur
Avez vous deja eu une erreur comme celle ci . ? merci de m'aiderFatal error: Cannot access empty property in C:\wamp\www\poo\pizza.php on line 19
Bonsoir,
Pas de mémoire, mais c'est surement une histoire de pizza, au chorizo 19 ...
(Traduction : on pourrait avoir ton code de la page pizza.php, du moins la partie qui ne fonctionne pas)
Envoyé par SpiritOfDoc
![]()
![]()
voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php class Commande { var $prixRoyale ; var $prixCampagnarde ; var $nomClient ; var $listePizzas; //Constructeur avec paramètre function Commande($nom) { if ($nom != "") $this->nomClient = $nom; } function ajouterRoyale($nombre) { $this->listePizzas[0] += $nombre; } function ajouterCampagnarde($nombre) { $this->listePizzas[1] += $nombre; } function calculerPrix() { $montant_Royale = $this->listePizzas[0] * $this->$prixRoy; $montant_Campagnarde = $this->listePizzas[1] * $this->$prixCamp; return $montant_Royale + $montant_Campagnarde; } function afficherCommande() { echo "Commande du client : ".$this->nomClient; echo "<BR>Pizza(s) 'Royale' : ".$this->listePizzas[0]; echo "<BR>Pizza(s) 'Campagnarde' : ".$this->listePizzas[1]; echo "<HR>Totale de votre commande : ".$this->calculerprix(); echo " Euros<BR>"; } } $nom=$_POST['nom']; $prixRoy=$_POST['roy']; $prixCamp=$_POST['cam']; $client = new Commande($nom); $client->ajouterRoyale($prixRoy); $client->ajouterCampagnarde($prixCamp); $client->afficherCommande();
Voilà :
Il faut que tu corriges les prix des pizzas (j'suis pas un pro de la pizza), ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php class Commande { var $prixRoyale = 10; var $prixCampagnarde = 10; 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->prixRoyale; $montant_Campagnarde = $this->listePizzas[1] * $this->prixCampagnarde; return $montant_Royale + $montant_Campagnarde; } function afficherCommande() { echo 'Commande du client : '.$this->nomClient; echo '<br />Pizza(s) \'Royale\' : '.$this->listePizzas[0]; echo '<br />Pizza(s) \'Campagnarde\' : '.$this->listePizzas[1]; echo '<hr />Totale de votre commande : '.$this->calculerPrix(); echo ' Euros<br />'; } } if ( $_POST['nom']!='' ){ $client = new Commande(); $client->nomClient=$_POST['nom']; $client->ajouterRoyale($_POST['roy']); $client->ajouterCampagnarde($_POST['cam']); $client->afficherCommande(); } ?>$_POST['roy'] et $_POST['cam'] doivent être des nombres !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var $prixRoyale = 10; var $prixCampagnarde = 10;
J'ai rien remplacer, j'ai juste mis des balises xHTML au lieu de celle HTML, et j'ai remplacer tes " par des '.
Bonne chance Mr le pizzaïolo.
De rien, si tu veux savoir ce qui n'allait pas je peux te faire un corrigerEnvoyé par patchouli
.
En fait ce que tu m'donné c'est le code initial qu'on npous a donné. car si on regarde bien le prix des pizzas s'il on le met a 10 il est figé alors sa risque d'etre difficile de faire des changement dans la base (plutard) et donc il faut en fait une variable pour la Royale et la Campagnarde . je ne sais pas si j'expose bien mon probleme.Envoyé par SpiritOfDoc
![]()
En effet, j'y ai pensé après, quand je commande des pizzas on peut l'avoir en différente taille, et donc un prix différent.
Dans ce cas là il faut que tu rajoutes des valeurs à ton formulaire (un choix de la taille de la pizza).
et tu remplaces
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var $prixRoyale = 10; var $prixCampagnarde = 10;
ok ok j'avais pas pensé a ce recours(par rapport aux differents tailles) c'est une bonne idée . je te remercie encore .Envoyé par SpiritOfDoc
et passe a la pizzeria pour que je t'en offre (gratos ) (y'aura pas besoin de commande ou quoi que se soit
)
encore merci et vive ce forum j'y apprend pleins de choses.
Voilà ceci fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <?php class Commande { var $prixRoyale; var $prixCampagnarde; 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->prixRoyale; $montant_Campagnarde = $this->listePizzas[1] * $this->prixCampagnarde; return $montant_Royale + $montant_Campagnarde; } function afficherCommande() { echo 'Commande du client : '.$this->nomClient; echo '<br />Pizza(s) \'Royale\' : '.$this->listePizzas[0]; echo '<br />Pizza(s) \'Campagnarde\' : '.$this->listePizzas[1]; echo '<hr />Totale de votre commande : '.$this->calculerPrix(); echo ' Euros<br />'; } } if ( $_POST['nom']!='' ){ $client = new Commande(); $client->nomClient=$_POST['nom']; $client->prixRoyale=$_POST['prix_roy']; $client->prixCampagnarde=$_POST['prix_cam']; $client->ajouterRoyale($_POST['roy']); $client->ajouterCampagnarde($_POST['cam']); $client->afficherCommande(); } ?>
P.s : désolé pour l'erreur, faut que j'aille me coucher :p
je suis entrin de le remodifiier pour qu'il soit plus adapter a ce que je voudrais obtenirEnvoyé par SpiritOfDoc
Partager