J'ai un problème avec mon code

Résolu/Fermé
John smith3 Messages postés 26 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 21 juin 2013 - 4 déc. 2012 à 14:16
John smith3 Messages postés 26 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 21 juin 2013 - 7 déc. 2012 à 16:18
Bonjour,

J'ai un petit problème, je souhaite créer un PHP qui puisse être modifié par les visiteur qui effectueras un calcul pour évidement afficher le résultat.
Je voudrais savoir si mon code et juste déjà !

Code HTML :
<form action="CIBLE2 method="post" >
	<p>
		<select name="machine">
			<option value="BQL-808">BQL-808</option>
			<option value="BQL-S33">BQL-S33</option>
			<option value="BQL-S33O">BQL-S33 Occasion</option>
		</select>
	<br />
		<input type="text" name="nbrglace" />
		<input type="text" name="prixglace" />
		<input type="submit" value="Calculer" />
	</p>
</form>


Puis le PHP qui va avec je suis vraiment pas sur qu'il sois correcte si vous pouvez me corriger ?

Code PHP :
<?php
	if ($POST_machine == 'BQL-808')
	{
		($prixmachine == 2699);
		fuction Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine)
		{
			$rentabilite=($_POST['nbrglace']*$_POST['prixglace']*30)-(($_POST['nbrglace']*30)/15*$_POST['prixglace'])-(($_POST['nbrglace']*30)*0.145)-$prixmachine;
			return $rentabilite;
		}
		$rentabilite = Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine);
		echo 'La machine serra remboursée au bout de' . $rentabilite . 'mois.';
	}
	elseif ($POST_machine == 'BQL-S33')
	{
		($prixmachine == 3299);
		fuction Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine)
		{
			$rentabilite=($_POST['nbrglace']*$_POST['prixglace']*30)-(($_POST['nbrglace']*30)/15*$_POST['prixglace'])-(($_POST['nbrglace']*30)*0.145)-$prixmachine;
			return $rentabilite;
		}
		$rentabilite = Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine);
		echo 'La machine serra remboursée au bout de' . $rentabilite . 'mois.';
	}
	elseif ($POST_machine == 'BQL-S33O')
	{
		($prixmachine == 2350);
		fuction Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine)
		{
			$rentabilite=($_POST['nbrglace']*$_POST['prixglace']*30)-(($_POST['nbrglace']*30)/15*$_POST['prixglace'])-(($_POST['nbrglace']*30)*0.145)-$prixmachine;
			return $rentabilite;
		}
		$rentabilite = Rentabilite($_POST['nbrglace'], $_POST['prixglace'], $prixmachine);
		echo 'La machine serra remboursée au bout de' . $rentabilite . 'mois.';
	}
?>


Je suis quasiment sur qu'il y a énormément d'erreur.

Merci d'avance pour votre aide !
A voir également:

2 réponses

Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
4 déc. 2012 à 14:50
Déjà, pourquoi réécrire trois fois la même fonction?
tu l'ecrit une fois au début avant les testes et tu pourra la rappelé n'importe ou.

Ensuite, les paramètres d'un fonction sont des variables. Pas des post ou des get.

Enfin, le double == sert a tester la valeur, pas a attribuer une valeur.

voila un code php qui n'as pas d'erreur et plus concis

<?php
	function Rentabilite($nbrglace,$prixglace,$prixmachine){
		return ($nbrglace*$prixglace*30)-(($nbrglace*30)/15*$prixglace)-(($nbrglace*30)*0.145)-$prixmachine;
	}

	$machine=$_POST['machine'];
	$nbrglace=$_POST['nbrglace'];
	$prixglace=$_POST['prixglace'];
	$rentabilite='';

	if($machine=='BQL-808'){
		$prixmachine=2699;
		$rentabilite=Rentabilite($nbrglace,$prixglace,$prixmachine);
	}elseif($machine=='BQL-S33'){
		$prixmachine=3299;
		$rentabilite=Rentabilite($nbrglace,$prixglace,$prixmachine);
	}elseif($machine=='BQL-S33O'){
		$prixmachine=2350;
		$rentabilite=Rentabilite($nbrglace,$prixglace,$prixmachine);
	}

	echo'La machine serra remboursée au bout de '.$rentabilite.' mois.';

?>
1
John smith3 Messages postés 26 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 21 juin 2013
Modifié par John smith3 le 4/12/2012 à 15:36
Super ! Merci beaucoup d'avoir corrigé mon PHP je débute et je ne m'y retrouve vraiment pas ! Ça va pour le HTML mais le PHP c'est l'enfer je sais pas comment l'utiliser ! Alors merci beaucoup.

Mais il y a encore une erreur c'est que la dernière soustraction ne s'effectue pas (-$prixmachine). Comment y remédier ?

Et aussi je voudrait savoir comment lier ces deux fichier. Car j'ai un site sur Jimdo et je ne sais pas si je peut envoyer le fichier PHP ( si on peut quelqu'un peut m'expliquer ?).
J'aimerai donc une solution ou si il était possible de fusionner les deux fichier. Je crois que c'est possible de programmer du PHP directement dans le HTML ?

Encore merci.
0
Stanislas Poisson Messages postés 424 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 22 mai 2018 66
4 déc. 2012 à 19:02
Faut, tu ne pourras pas envoyer ton fichier sur Jimdo, il te faut ton serveur mutualiser ou privé. et tu ne peux pas non plus mettre du php dans du html, c'est l'inverse, le php génère du html.

Quand a ton calcul, met peut etre des parenthèse supplémentaire.
0
John smith3 Messages postés 26 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 21 juin 2013
7 déc. 2012 à 16:17
Ok super merci !
0
astuces72 Messages postés 7763 Date d'inscription vendredi 15 janvier 2010 Statut Membre Dernière intervention 18 janvier 2025 1 639
Modifié par astuces72 le 5/12/2012 à 08:26
slt

j'ai encore plus court !!!

<form id="form" name="form" method="POST" action="">
<p>
<select name="machine">
<option value="2699" selected="SELECTED">BQL-808 Tarif: 2699euros</option>
<option value="3299">BQL-S33 Tarif: 3299euros</option>
<option value="2350">BQL-S33 Tarif: 2350euros Occasion</option>
</select>
<br />
<input type="text" name="nbrglace" />
<input type="text" name="prixglace" />
<input type="submit" name="Btn_envoi" value="Calculer" />
</p>
</form>
<?php
if (isset($_POST['Btn_envoi']))
{
$machine=$_POST['machine'];
$nbrglace=$_POST['nbrglace'];
$prixglace=$_POST['prixglace'];
echo $prxmachine = 'La machine serra remboursee au bout de '.(-(($nbrglace*30)/15*$prixglace)-(($nbrglace*30)*0.145)-$machine).' mois.';
echo '<br/>operation bidon avec les variables: nbrglace + prixglace + machine ='.($nbrglace+$prixglace+$machine);
echo '<br/><a href="mailto: ton_email@free.fr?subject=Calcul de chez pas quoi&body=je ne comprend %0A rien du tout a cette operation %0A mais voici le resultat:%0A'.$prxmachine.'">Envoyer le resultat par email via mailto</a>';
}
?>

Ton opération est fausse par contre, ça ne te donne pas des mois le résultat mais je dirais plutôt de l'euro, et comme je ne comprend pas ce que tu veux...!
que calcul tu au juste ?

j'ai mis un lien avec un mailto pour t'envoyer le résultat via la messagerie du client, si il y en a une de configurer sur son pc, sinon ça ne fonctionnera pas.
1
John smith3 Messages postés 26 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 21 juin 2013
7 déc. 2012 à 16:18
Merci beaucoup mais la taille ne m'importait peut ! mais c'est super gentil de m'avoir donner cette version !
0