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 corriger .Envoyé 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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager