A voir également:
- Casse tête PhP
- Casse-tête avec des allumettes - Télécharger - Jeux vidéo
- Easy php - Télécharger - Divers Web & Internet
- Remplacer tete sur photo - Guide
- Un mot est caché dans l'en-tête du document. pour le trouver, modifiez sa couleur. ✓ - Forum Word
- Whatsapp telephone cassé ✓ - Forum WhatsApp
1 réponse
Utilisateur anonyme
6 oct. 2011 à 16:16
6 oct. 2011 à 16:16
Bonjour,
Il y a plusieurs choses :
if( !empty( $n1 == true) && if( !empty( $n2 == true)) ne signifie rien du tout, la bonne syntaxe serait ceci sans doute :
if( !empty($n1) && !empty($n2) ) {
Après vous mettez deux fois ceci :
$n1 = $_POST["nb1"];
$n2 = $_POST["nb2"];
Pas logique,
A la limite le code pourrait être
isset($_POST["nb1"]) pour tester l'existence de l'élément dans le tableau POST
Après $res -> $calc -> $calculer ($op); signifie quoi ?
$res est un objet instancié dans calc.php ?
ou c'est un résultat que vous attendez ? Dans ce cas ce serait
$res = $calc ->calculer ($op); et non $res -> $calc -> $calculer ($op);
Et puis une méthode d'un objet ne commence pas par $ donc sans doute il faute mettre
$res = $calc ->calculer ($op); au lieu de $res = $calc ->$calculer ($op);
Vous débutez en PHP ?
Cordialement
Il y a plusieurs choses :
if( !empty( $n1 == true) && if( !empty( $n2 == true)) ne signifie rien du tout, la bonne syntaxe serait ceci sans doute :
if( !empty($n1) && !empty($n2) ) {
Après vous mettez deux fois ceci :
$n1 = $_POST["nb1"];
$n2 = $_POST["nb2"];
Pas logique,
A la limite le code pourrait être
<?php require "calc.php"; if(isset($_POST["nb1"]) && isset($_POST["nb2"])){ $calc = new Calculator(); $n1 = $_POST["nb1"]; $n2 = $_POST["nb2"]; $op = $_POST["operateur"]; $calc -> set($n1, $n2); $res = $calc ->calculer ($op); }else $res ="?"; } ?>
isset($_POST["nb1"]) pour tester l'existence de l'élément dans le tableau POST
Après $res -> $calc -> $calculer ($op); signifie quoi ?
$res est un objet instancié dans calc.php ?
ou c'est un résultat que vous attendez ? Dans ce cas ce serait
$res = $calc ->calculer ($op); et non $res -> $calc -> $calculer ($op);
Et puis une méthode d'un objet ne commence pas par $ donc sans doute il faute mettre
$res = $calc ->calculer ($op); au lieu de $res = $calc ->$calculer ($op);
Vous débutez en PHP ?
Cordialement
6 oct. 2011 à 16:38
Disons que j'ai commencé mes cours de php il y a un mois. Wouah on peut dire que je n'ai pas
chomé pour les erreurs d'étourderie !
Le fichier calc.php contient la classe calculator qui va générer le calcul souhaité à partir de la
fonction calculer. Celle-ci retourne une valeur (noté ici $res) qui va être la réponse au calcul
demandé par l'utilisateur. Voilà :
<?php
class Calculator{
private $nb1;
private $nb2;
public function __construct(){
$this -> $nb1 = 0;
$this -> $nb2 = 0;
}
public function set($val1, $val2){
$this -> $nb1 = $val1;
$this -> $nb2 = $val2;
}
public function add(){
return $this -> $nb1 + $this -> $nb2;
}
public function souss(){
return $this -> $nb1 - $this -> $nb2;
}
public function mult(){
return $this -> $nb1 * $this -> $nb2;
}
public function div(){
if( $nb2 != 0 ){
return $this -> $nb1 / $this -> $nb2;
}else{
return false;
}
}
public function calculer(){
switch ($operator){
case "+" :
return $this -> add();
break;
case "-" :
return $this -> souss();
break;
case "*" :
return $this -> mult();
break;
case "/" :
return $this -> div();
break;
case "default" :
return false;
break;
}
}
}
?>
Je ne pense pas qu'il y ait une erreur.
6 oct. 2011 à 16:54
$operator, il sort d'où ?
Je suppose que la bonne écriture devrait être
public function calculer($operator){