Page 1 sur 1

un résultat en variable

Posté : 08 sept. 2010, 11:59
par legrosdu93
Bonjour,
J'ai un petit souci de programmation (d'où ma présence ici!!).
Je vous explique:
j'aimerais savoir si c'est possible etsi oui comment pour mettre en variable un résultat d'un echo
un petit exemple pour etre plus clair car en me relisant même moi je ne comprends pas.
En faite je voudrais faire un truc du genre:
IF ( $machin and $ machine)
{
echo 'ceci';
}
if ('ceci')
{
echo 'cela';
}
j’espère avoir été clair, je reste sur le forum pour plus de détail si nécessaire.
Merci

Re: un résultat en variable

Posté : 08 sept. 2010, 13:06
par sylvaing26
En gros ca peut donner ca
if( $machin and $ machine)
{
$variable = 'ceci';
}
if ('ceci')
{
$variable = 'cela';
}
echo $variable;

Re: un résultat en variable

Posté : 08 sept. 2010, 13:40
par legrosdu93
je te remerci, je vais essayer et je te donne le résultat

Re: un résultat en variable

Posté : 08 sept. 2010, 13:48
par legrosdu93
voici mon code ce qui va peu être vous donner un apercu et me corriger sur mes erreures:
<html>
    <head><title>Votre alarme</title></head>
    <body>
        <h1>Déterminez votre centrale d'alarme</h1>
        <h2>Entrez les données suivantes </h2>
        <form name="formulaire" method="post" action="ALARME1.php">
            Nombre de sirène interne : <input type="text" name="sireneint"/> <br/>
            Nombre de sirène externe: <input type="text" name="sireneext"/> <br/>
            Nombre de clavier : <input type="text" name="clavier"/> <br/>
			Nombre d'utilisateur : <input type="text" name="utilisateur"/> <br/>
			Nombre de secteur : <input type="text" name="secteur"/> <br/>
			Télésurveillance (oui / non): <input type="text" name="tele"/> <br/>
			<h3>Matériel filaire </h3>
			Détecteur infrarouge : <input type="text" name="infrarouge"/> <br/>
			Détecteur Double technologie : <input type="text" name="double"/> <br/>
			Détecteur longue portée : <input type="text" name="longue"/> <br/>
			Contact de porte : <input type="text" name="porte"/> <br/>
			Contact d'ouverture : <input type="text" name="ouverture"/> <br/>
			<h3>Matériel radio </h3>
			Détecteur infrarouge : <input type="text" name="rinfrarouge"/> <br/>
			Contact d'ouverture : <input type="text" name="rouverture"/> <br/>
			
            <input type="submit" name="valider" value="OK"/>
        </form>
        <?php
			foreach ($_POST as $post) //cette boucle permet de mettre à zéro tous les champs qui n'ont pas été remplis
			{
			if (empty($post))
			$post = 0;
			}
			if(isset($_POST['valider'])){
            $sireneint=$_POST['sireneint'];
            $sireneext=$_POST['sireneext'];
            $clavier=$_POST['clavier'];
			$infrarouge=$_POST['infrarouge'];
			$double=$_POST['double'];
			$longue=$_POST['longue'];
			$porte=$_POST['porte'];
			$ouverture=$_POST['ouverture'];
			$rinfrarouge=$_POST['rinfrarouge'];
			$rouverture=$_POST['rouverture'];
			$utilisateur=$_POST['utilisateur'];
			$secteur=$_POST['secteur'];			
			$tele=$_POST['tele'];
			
			$ef = $infrarouge + $double + $longue + $porte + $ouverture + $sireneint + $sireneext;
			$radio = $rinfrarouge + $rouverture;
			$pc = 'petite centrale';
			$mc = 'moyenne centrale';
									
			if (($ef <= 22)and($radio==0)and($clavier<4)and($secteur<3)and($utilisateur<21))
			{
				$variable= 'petite centrale';
			}
			else
			{
				if ( ($ef <= 10) and ($radio >= 1)and($clavier<4)and($secteur<3)and($utilisateur<21))
				{
					$variable = 'petite centrale';
				}
				else
				{
					$variable = 'moyenne centrale';
				}
				
			}
				if ($variable= 'petite centrale')
					{
						echo '<br />prévoir batterie 12V 7A<br />';
					}
				else
					{	
						 echo '<br />prévoir batterie 12V 18A<br />';
					}
				
							
				if ($tele=='oui')
					{
						echo '<br />prévoir abonnement<br />'; 
					}
					else
					{
						echo '';
					}
				if	(($radio)and($variable='petite centrale'))
					{
						echo '<br />- +1transpondeur radio<br />';
					}
					
				if (($ef>6) and ($ef<11)and($variable='petite centrale'))
				{
					echo '<br />- +1 transpondeur<br />';
				}
				elseif (($ef>10)and($ef<15)and($variable = 'petite centrale'))
				{
					echo '<br />- +2 transpondeurs<br />';
				}
				elseif (($ef>14)and($ef<19)and($variable='petite centrale'))
				{
					echo '<br />- +3 transpondeurs<br />';
				}
				elseif (($ef>18)and($ef<23)and($variable='petite centrale'))
				{
					echo '<br />- +4 transpondeurs<br />';
				}
				
				if (($ef>8)and($ef<13)and($variable='moyenne centrale'))
				{
					echo '<br />- +1 transpondeur<br />';
				}
				
				echo $variable;
				
				
		}
        ?>
    </body>
</html>

Re: un résultat en variable

Posté : 08 sept. 2010, 13:57
par sylvaing26
Attention dans tes conditions !!
if($variable='petite centrale')
Toujours mettre == pour comparer ta variable à une donnée
Si tu mets qu'un = tu lui donne cette valeur !

La synthaxe correcte est
if($variable=='petite centrale')
Pour l'ensemble des condition le mieux pour voir les erreur c'est que tu essaie ;)
Mais verifie d'abord ta synthaxe !

Re: un résultat en variable

Posté : 08 sept. 2010, 14:00
par legrosdu93
la le probleme c'est qu'au final j'ai toujours petite centrale et non moyenne comme je le voudrais (ps j'ai rajouté un == au $variable=='petite centrale'

Re: un résultat en variable

Posté : 08 sept. 2010, 14:04
par legrosdu93
c'est ce que j'ai fait mais cela ne fonctionne toujours pas

Re: un résultat en variable

Posté : 08 sept. 2010, 14:07
par sylvaing26
c'est ce que j'ai fait mais cela ne fonctionne toujours pas
Ou cela ne fonctionne pas ?

Re: un résultat en variable

Posté : 08 sept. 2010, 14:15
par b.jerome
Etant donner que tu as souvent la même variable met un code pour te reperer pendant le debogage.
if ($variable == 'petite centrale #1')
if ($variable == 'petite centrale #2')
etc... ainsi tu t'y retrouvera plus facilement.

Re: un résultat en variable

Posté : 08 sept. 2010, 14:34
par legrosdu93
autant pour moi, j'ai fait une erreure qui n'a rien avoir, désormais (et pour le moment) tout fonctionne
Merci de ta précieuse aide

Re: un résultat en variable

Posté : 08 sept. 2010, 14:37
par sylvaing26
Parfait alors :wink: