[PHP] Calcul dans un formulaire
Résolu
Orkok
Messages postés
462
Date d'inscription
Statut
Membre
Dernière intervention
-
Orkok Messages postés 462 Date d'inscription Statut Membre Dernière intervention -
Orkok Messages postés 462 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
je me suis mis depuis quelques jours au PHP, et là, je rencontre un petit problème qui me gène énormément mais la réponse est peut-être très simple pour celui qui a l'habitude du PHP.
Ce que je désire faire, c'est créer un petit formulaire, où le visiteur pourra rentrer des chiffres, et lorsqu'il clique sur le bouton "Calcul", un calcul se fait grâce au PHP et met les réponses dans des cases dans une autre partie du formulaire.
Si j'ai fait des choses qui ne vont pas, n'hésitez surtout pas à me le dire, pour que je corrige, et n'oubliez pas que je débute, alors soyez indulgents. Je vous remercie d'avance pour l'aide que vous m'apporterez.
Je vous mets le code source:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Topo-Fr3d</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" />
</head>
<body>
<h1 title="Mon site quoi !!"><a href="../index.html"> Topo-Fr3d </a><br /></h1>
<p class="soustitre">XY Par Gisement-Distance</p>
<form method="post" action="xy_gd.php">
<fieldset class="fieldset_gauche">
<legend> Coordonnées du point de base : </legend>
<p>
<label for="x1">X : </label>
<input type="text" name="x1" id="x1" size="20" maxlength="20" />
</p>
<p>
<label for="y1">Y : </label>
<input type="text" name="y1" id="y1" size="20" maxlength="20" />
</p>
</fieldset>
<fieldset class="fieldset_droit">
<legend>Gisement et Distance à entrer : </legend>
<p>
<label for="gisement">Gisement : </label>
<input type="text" name="gisement" id="gisement" size="20" maxlength="20" />
</p>
<p>
<label for="distance">Distance : </label>
<input type="text" name="distance" id="distance" size="20" maxlength="20" />
</p>
</fieldset>
<input type="submit" value="Calcul" class="calcul_1"/>
<input type="reset" value="Effacer" class="calcul_2"/>
<p><br /><br /></p>
<?php
if (isset($_POST['x1']) and isset($_POST['y1']) and isset($_POST['gisement']) and isset($_POST['distance']))
{
$x1 = $_POST['x1'];
$y1 = $_POST['y1'];
$gisement = $_POST['gisement'];
$distance = $_POST['distance'];
}
else
{
echo "Marche pas !!";
$x1 = "";
$y1 = "";
$gisement = "";
$distance = "";
}
function xy_gd($x1, $y1, $gisement, $distance)
{
$x2 = $x1 + $y1;
}
?>
<fieldset class="fieldset_resultat">
<legend>Coordonnées du point calculé : </legend>
<p>
<label for="$x2">X : </label>
<input type="text" name="$x2" id="$x2" size="20" maxlength="20" action="<?php echo $x2 ?>" />
</p>
<p>
<label for="y2">Y : </label>
<input type="text" name="y2" id="y2" size="20" maxlength="20" />
</p>
</fieldset>
</form>
</body>
</html>
je me suis mis depuis quelques jours au PHP, et là, je rencontre un petit problème qui me gène énormément mais la réponse est peut-être très simple pour celui qui a l'habitude du PHP.
Ce que je désire faire, c'est créer un petit formulaire, où le visiteur pourra rentrer des chiffres, et lorsqu'il clique sur le bouton "Calcul", un calcul se fait grâce au PHP et met les réponses dans des cases dans une autre partie du formulaire.
Si j'ai fait des choses qui ne vont pas, n'hésitez surtout pas à me le dire, pour que je corrige, et n'oubliez pas que je débute, alors soyez indulgents. Je vous remercie d'avance pour l'aide que vous m'apporterez.
Je vous mets le code source:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Topo-Fr3d</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" />
</head>
<body>
<h1 title="Mon site quoi !!"><a href="../index.html"> Topo-Fr3d </a><br /></h1>
<p class="soustitre">XY Par Gisement-Distance</p>
<form method="post" action="xy_gd.php">
<fieldset class="fieldset_gauche">
<legend> Coordonnées du point de base : </legend>
<p>
<label for="x1">X : </label>
<input type="text" name="x1" id="x1" size="20" maxlength="20" />
</p>
<p>
<label for="y1">Y : </label>
<input type="text" name="y1" id="y1" size="20" maxlength="20" />
</p>
</fieldset>
<fieldset class="fieldset_droit">
<legend>Gisement et Distance à entrer : </legend>
<p>
<label for="gisement">Gisement : </label>
<input type="text" name="gisement" id="gisement" size="20" maxlength="20" />
</p>
<p>
<label for="distance">Distance : </label>
<input type="text" name="distance" id="distance" size="20" maxlength="20" />
</p>
</fieldset>
<input type="submit" value="Calcul" class="calcul_1"/>
<input type="reset" value="Effacer" class="calcul_2"/>
<p><br /><br /></p>
<?php
if (isset($_POST['x1']) and isset($_POST['y1']) and isset($_POST['gisement']) and isset($_POST['distance']))
{
$x1 = $_POST['x1'];
$y1 = $_POST['y1'];
$gisement = $_POST['gisement'];
$distance = $_POST['distance'];
}
else
{
echo "Marche pas !!";
$x1 = "";
$y1 = "";
$gisement = "";
$distance = "";
}
function xy_gd($x1, $y1, $gisement, $distance)
{
$x2 = $x1 + $y1;
}
?>
<fieldset class="fieldset_resultat">
<legend>Coordonnées du point calculé : </legend>
<p>
<label for="$x2">X : </label>
<input type="text" name="$x2" id="$x2" size="20" maxlength="20" action="<?php echo $x2 ?>" />
</p>
<p>
<label for="y2">Y : </label>
<input type="text" name="y2" id="y2" size="20" maxlength="20" />
</p>
</fieldset>
</form>
</body>
</html>
A voir également:
- Calcul php formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Calcul moyenne excel - Guide
- Formulaire de reclamation instagram - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
10 réponses
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Topo-Fr3d</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" /> </head> <body> <h1 title="Mon site quoi !!"><a href="../index.html"> Topo-Fr3d </a><br /></h1> <p class="soustitre">XY Par Gisement-Distance</p> <?php //fonctions function xy_gd($x1, $y1, $gisement, $distance) { $x2 = $x1 + $y1; } //si formulaire posté if (isset($_POST['x1']) and isset($_POST['y1']) and isset($_POST['gisement']) and isset($_POST['distance'])) { $x1 = $_POST['x1']; $y1 = $_POST['y1']; $gisement = $_POST['gisement']; $distance = $_POST['distance']; $x2=xy_gd($x1, $y1, $gisement, $distance); //il ne suffit pas de mettre une fonction, il faut l'appeler $y2=xy_gd($x1, $y1, $gisement, $distance); //si tu utilises $y2, tu dois aussi le calculer avant, la je t'i mis du bidon } else { $x1 = ""; $y1 = ""; $x2="" $y2=""; $gisement = ""; $distance = ""; } ?> <form method="post" action="xy_gd.php"> <fieldset class="fieldset_gauche"> <legend> Coordonnées du point de base : </legend> <p> <label for="x1">X : </label> <input type="text" name="x1" id="x1" size="20" maxlength="20" value="<?php echo $x1 ;?>" /> </p> <p> <label for="y1">Y : </label> <input type="text" name="y1" id="y1" size="20" maxlength="20" value="<?php echo $y1 ;?>"/> </p> </fieldset> <fieldset class="fieldset_droit"> <legend>Gisement et Distance à entrer : </legend> <p> <label for="gisement">Gisement : </label> <input type="text" name="gisement" id="gisement" size="20" maxlength="20" value="<?php echo $gisement ;?>"/> </p> <p> <label for="distance">Distance : </label> <input type="text" name="distance" id="distance" size="20" maxlength="20" value="<?php echo $distance ;?>"/> </p> </fieldset> <input type="submit" value="Calcul" class="calcul_1"/> <input type="reset" value="Effacer" class="calcul_2"/> <p><br /><br /></p> <fieldset class="fieldset_resultat"> <legend>Coordonnées du point calculé : </legend> <p> <label for="$x2">X : </label> <input type="text" name="$x2" id="$x2" size="20" maxlength="20" action="<?php echo $x2 ?>" /> </p> <p> <label for="y2">Y : </label> <input type="text" name="y2" id="y2" size="20" maxlength="20" /> </p> </fieldset> </form> </body> </html>
bonjour,
enleve les "return $x2" dans tes conditions "if($gisement >= 0 AND $gisement <= 100) etc..."
ccordialement, dreamfeeder.
enleve les "return $x2" dans tes conditions "if($gisement >= 0 AND $gisement <= 100) etc..."
ccordialement, dreamfeeder.
Bonjour,
j'ai de nouveau un problème, mais sur une autre page internet.
Dans une fonction, je fais une condition if-elseif-elseif-else, et ce que je ne comprend pas, c'est que ça saute directement à else. On dirait que ça ne prend pas en compte les elseif juste avant, pourtant, les conditions d'entrées des elseif sont bonnes.
D'avance, merci pour celui qui m'aide.
Voici le code:
j'ai de nouveau un problème, mais sur une autre page internet.
Dans une fonction, je fais une condition if-elseif-elseif-else, et ce que je ne comprend pas, c'est que ça saute directement à else. On dirait que ça ne prend pas en compte les elseif juste avant, pourtant, les conditions d'entrées des elseif sont bonnes.
D'avance, merci pour celui qui m'aide.
Voici le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Topo-Fr3d</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" /> </head> <body> <h1 title="Mon site quoi !!"><a href="../index.html"> Topo-Fr3d </a><br /></h1> <p class="soustitre">Gisement-Distance par XY</p> <?php function gisement($x1, $y1, $x2, $y2) //Fonction qui ne fonctionne pas dont je vous ai parlé { $delta_x = $x2 - $x1; $delta_y = $y2 - $y1; echo $delta_x; echo $delta_y; if ($delta_x = 0 AND $delta_y > 0) { $gisement = 0; } elseif($delta_x = 0 AND $delta_y < 0) { $gisement = 200; } elseif($delta_y = 0 AND $delta_x > 0) { $gisement = 100; } elseif($delta_y = 0 AND $delta_x < 0) { $gisement = 300; } elseif($delta_x > 0 AND $delta_y < 0) { $gisement = atan($delta_x / $delta_y); $gisement = round($gisement, 6); $gisement = $gisement + 200; } elseif($delta_x < 0 AND $delta_y < 0) { $gisement = atan($delta_x / $delta_y); $gisement = round($gisement, 6); $gisement = $gisement + 200; } elseif($delta_x < 0 AND $delta_y > 0) { $gisement = atan($delta_x / $delta_y); $gisement = round($gisement, 6); $gisement = $gisement + 400; } elseif($delta_x > 0 AND $delta_y > 0) { $gisement = atan($delta_x / $delta_y); $gisement = round($gisement, 6); } else { echo "blem"; } return $gisement; } function distance($x1, $y1, $x2, $y2) { $delta_x = $x2 - $x1; $delta_y = $y2 - $y1; $distance = sqrt(($delta_x * $delta_x) + ($delta_y * $delta_y)); $distance = round($distance, 6); return $distance; } function secure_data($data) { return htmlspecialchars($data); } //si formulaire posté if (isset($_POST['x1']) and isset($_POST['y1']) and isset($_POST['x2']) and isset($_POST['y2'])) { $x1 = $_POST['x1']; $y1 = $_POST['y1']; $x2 = $_POST['x2']; $y2 = $_POST['y2']; $gisement = gisement($x1, $y1, $x2, $y2); $distance = distance($x1, $y1, $x2, $y2); } else { $x1 = ""; $y1 = ""; $gisement = ""; $distance = ""; $x2 = ""; $y2 = ""; } ?> <form method="post" action="gd_xy.php"> <fieldset class="fieldset_gauche"> <legend> Coordonnées du point 1 : </legend> <p> <label for="x1">X : </label> <input type="text" name="x1" id="x1" size="20" maxlength="20" value="<?php echo secure_data($x1); ?>" /> </p> <p> <label for="y1">Y : </label> <input type="text" name="y1" id="y1" size="20" maxlength="20" value="<?php echo secure_data($y1); ?>" /> </p> </fieldset> <fieldset class="fieldset_droit"> <legend>Coordonnées du point 2 : </legend> <p> <label for="x2">X : </label> <input type="text" name="x2" id="x2" size="20" maxlength="20" value="<?php echo secure_data($x2); ?>" /> </p> <p> <label for="y2">Y : </label> <input type="text" name="y2" id="y2" size="20" maxlength="20" value="<?php echo secure_data($y2); ?>" /> </p> </fieldset> <input type="submit" value="Calcul" class="calcul_1"/> <input type="reset" value="Effacer" class="calcul_2"/> <fieldset class="fieldset_resultat"> <legend>Gisement-Distance obtenus : </legend> <p> <label for="gisement">Gisement : </label> <input type="text" name="gisement" id="gisement" size="20" maxlength="20" value="<?php echo secure_data($gisement); ?>" /> </p> <p> <label for="distance">Distance : </label> <input type="text" name="distance" id="distance" size="20" maxlength="20" value="<?php echo secure_data($distance); ?>" /> </p> </fieldset> </form> </body> </html>
Salut,
grosse erreur dans toutes les lignes de test
if ($delta_x = 0 AND $delta_y > 0)
le test d'égalité c'est == et pas = (erreur classique, ça arrive à tout le monde)
Au passage <= inférieur ou égal à zéro
>= sup ou égal à zéro
car tu ne traites pas le cas $delta_x =0 $delta_y=0
@lain
grosse erreur dans toutes les lignes de test
if ($delta_x = 0 AND $delta_y > 0)
le test d'égalité c'est == et pas = (erreur classique, ça arrive à tout le monde)
if ($delta_x == 0 AND $delta_y > 0)
Au passage <= inférieur ou égal à zéro
>= sup ou égal à zéro
car tu ne traites pas le cas $delta_x =0 $delta_y=0
@lain
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re-Salut,
j'ai un petit défi pour toi Alain_42.
Une page php, pour une résolution de triangle, on doit entrer au moins 3 cases dont 1 distance. Lorsqu'on appuye sur "calcul", on dirait que la page ne se soucie pas des données entrés, et donc, va tout de suite au premier if( isset ...) alors que la page doit aller vers un elseif selon les données rentrés. J espère que tu vois ce que je veux dire.
Ca me met ca comme erreur:
Warning: Division by zero in C:\Program Files\wamp\www\Site Web\calculs\reso_tri.php on line 34
La ligne 34 correspond à la fontion loicosinusbis.
Voici le code:
j'ai un petit défi pour toi Alain_42.
Une page php, pour une résolution de triangle, on doit entrer au moins 3 cases dont 1 distance. Lorsqu'on appuye sur "calcul", on dirait que la page ne se soucie pas des données entrés, et donc, va tout de suite au premier if( isset ...) alors que la page doit aller vers un elseif selon les données rentrés. J espère que tu vois ce que je veux dire.
Ca me met ca comme erreur:
Warning: Division by zero in C:\Program Files\wamp\www\Site Web\calculs\reso_tri.php on line 34
La ligne 34 correspond à la fontion loicosinusbis.
Voici le code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Topo-Fr3d</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" /> </head> <body> <h1 title="Mon site quoi !!"><a href="index.html"> Topo-Fr3d </a><br /></h1> <p class="soustitre">Résolution de triangle<br /><br /><br /></p> <?php function radian_grade($angle) //convertit les angles radian en angle grade { $angle = ( ($angle * 180) / pi() ) / 0.9; return $angle; } function grade_radian($angle) //convertit les angles grade en angle radian { $angle = ( ($angle * 0.9) * pi() ) / 180; return $angle; } function deuxangles($angle_1, $angle_2) //obtention du 3ème angle du triangle par les 2 autres { $angle_3 = (200 - $angle_1 - $angle_2); return $angle_3; } function loicosinusbis($distance_1, $distance_2, $distance_3) //Loi du cosinus inversée pour trouver l'angle 1 { $cos = acos(( ($distance_2 * $distance_2) + ($distance_3 * $distance_3) - ($distance_1 * $distance_1) ) / (2 * $distance_2 * $distance_3)); $angle_1 = radian_grade($cos); return $angle_1; } function secure_data($data) { return htmlspecialchars($data); } function loisinus($distance_1, $angle_1, $angle_2) //Loi des sinus pour trouver une distance { $angle_1 = grade_radian($angle_1); $angle_2 = grade_radian($angle_2); $distance_2 = $distance_1 * sin($angle_2) / sin($angle_1); return $distance_2; } function loisinusbis($distance_1, $angle_1, $distance_2) //Loi des sinus pour trouver un angle { $angle_1 = grade_radian($angle_1); $angle_2 = asin( $distance_2 * sin($angle_1) / $distance_1 ); $angle_2 = radian_grade($angle_2); return $angle_2; } //si le formulaire est posté if (isset($_POST['d_a']) AND isset($_POST['d_b']) AND isset($_POST['d_c'])) //champ rentrés : distance a, distance b, distance c { $d_a = $_POST['d_a']; $d_b = $_POST['d_b']; $d_c = $_POST['d_c']; echo "1"; $a_a = round(loicosinusbis($d_a, $d_b, $d_c), 6); $a_b = round(loicosinusbis($d_b, $d_a, $d_c), 6); $a_c = round(loicosinusbis($d_c, $d_b, $d_a), 6); } elseif (isset($_POST['d_a']) AND isset($_POST['a_a']) AND isset($_POST['a_b'])) //champ rentrés : distance a, angle A, angle B { $d_a = $_POST['d_a']; $a_a = $_POST['a_a']; $a_b = $_POST['a_b']; $a_c = round(deuxangles($a_a, $a_b), 6); $d_b = round(loisinus($d_a, $a_a, $a_b), 6); $d_c = round(loisinus($d_a, $a_a, $a_c), 6); } elseif (isset($_POST['d_a']) AND isset($_POST['a_a']) AND isset($_POST['a_c'])) //champ rentrés : distance a, angle A, angle C { $d_a = $_POST['d_a']; $a_a = $_POST['a_a']; $a_c = $_POST['a_c']; $a_b = deuxangles($a_a, $a_c); $d_b = loisinus($d_a, $a_a, $a_b); $d_c = loisinus($d_a, $a_a, $a_c); } elseif (isset($_POST['d_a']) AND isset($_POST['a_b']) AND isset($_POST['a_c'])) //champ rentrés : distance a, angle B, angle C { $d_a = $_POST['d_a']; $a_b = $_POST['a_b']; $a_c = $_POST['a_c']; $a_a = deuxangles($a_b, $a_c); $d_b = loisinus($d_a, $a_a, $a_b); $d_c = loisinus($d_a, $a_a, $a_c); } elseif (isset($_POST['d_a']) AND isset($_POST['d_b']) AND isset($_POST['a_a'])) //champ rentrés : distance a, distance b, angle A { $d_a = $_POST['d_a']; $d_b = $_POST['d_b']; $a_a = $_POST['a_a']; $a_b = loisinus($d_a, $a_a, $d_b); $a_c = deuxangles($a_a, $a_b); $d_c = loisinus($d_a, $a_a, $a_c); } elseif (isset($_POST['d_a']) AND isset($_POST['d_b']) AND isset($_POST['a_b'])) //champ rentrés : distance a, distance b, angle B { $d_a = $_POST['d_a']; $d_b = $_POST['d_b']; $a_b = $_POST['a_b']; $a_a = loisinusbis($d_b, $a_b, $d_a); $a_c = deuxangles($a_a, $a_b); $d_c = loisinus($d_a, $a_a, $a_c); } elseif (isset($_POST['d_a']) AND isset($_POST['d_b']) AND isset($_POST['a_c'])) //champ rentrés : distance a, distance b, angle c PAS ENCORE FINI { $d_a = $_POST['d_a']; $d_b = $_POST['d_b']; $a_c = $_POST['a_c']; $a_a = loisinus($d_b, $a_b, $d_a); $a_c = deuxangles($a_a, $a_b); $d_c = loisinus($d_a, $a_a, $a_c); } else { echo "marche pas"; $a_a = ""; $a_b = ""; $a_c = ""; $d_a = ""; $d_b = ""; $d_c = ""; } ?> <form method="post" action="reso_tri.php"> <fieldset class="fieldset_gauche"> <legend>Angles du triangle : </legend> <p> <label for="a_a">Angle A : </label> <input type="text" name="a_a" id="a_a" size="20" maxlength="20" value="<?php echo secure_data($a_a); ?>" /> </p> <p> <label for="a_b">Angle B : </label> <input type="text" name="a_b" id="a_b" size="20" maxlength="20" value="<?php echo secure_data($a_b); ?>" /> </p> <p> <label for="a_c">Angle C : </label> <input type="text" name="a_c" id="a_c" size="20" maxlength="20" value="<?php echo secure_data($a_c); ?>" /> </p> </fieldset> <fieldset class="fieldset_droit"> <legend>Côtés du triangle : </legend> <p> <label for="d_a">Côté a : </label> <input type="text" name="d_a" id="d_a" size="20" maxlength="20" value="<?php echo secure_data($d_a); ?>" /> </p> <p> <label for="d_b">Côté b : </label> <input type="text" name="d_b" id="d_b" size="20" maxlength="20" value="<?php echo secure_data($d_b); ?>" /> </p> <p> <label for="d_c">Côté c : </label> <input type="text" name="d_c" id="d_c" size="20" maxlength="20" value="<?php echo secure_data($d_c); ?>" /> </p> </fieldset> <input type="submit" value="Calcul" class="calcul_1bis"/> <input type="reset" value="Effacer" class="calcul_2bis"/> </form> </body> </html>
Bonsoir,
merci pour le défi,
isset veut dire que la variable existe, mais elle peut être vide, donc il faut aussi tester qu'elle n'est pas vide
donc pour tous les if et elseif tu modifies ainsi:
attention aux parenthèses de combinaison des AND
@lain
merci pour le défi,
isset veut dire que la variable existe, mais elle peut être vide, donc il faut aussi tester qu'elle n'est pas vide
donc pour tous les if et elseif tu modifies ainsi:
if ((isset($_POST['d_a']) AND $_POST['d_a']!="") AND (isset($_POST['d_b']) AND $_POST['d_b']!="") AND (isset($_POST['d_c']) AND $_POST['d_c']!="")) //champ rentrés : distance a, distance b, distance c
attention aux parenthèses de combinaison des AND
@lain
bonjour,
deja doit y avoir une erreur dans la fonction loicosinusbis car en rentrant 3 cotés egaux les angles affiché sont de 66,66666 degrés au lieu de 60.
Pour ta question jsuis en train de chercher je te dis si je trouve.
cordialement dreamfeeder.
EDIT: autant pour moi j'avai pas fais attention que tu voulé des grades et non des degrés ;-)
deja doit y avoir une erreur dans la fonction loicosinusbis car en rentrant 3 cotés egaux les angles affiché sont de 66,66666 degrés au lieu de 60.
Pour ta question jsuis en train de chercher je te dis si je trouve.
cordialement dreamfeeder.
EDIT: autant pour moi j'avai pas fais attention que tu voulé des grades et non des degrés ;-)
Je vous remercie tous les deux de prendre votre temps pour me donner une bonne réponse.
J'ai mis ce que tu m'as dit Alain, et ça fonctionne parfaitement. Ce qui m'énerve, c'est que c'est tout bête, mais faut vraiment y penser.
dreamfeeder -> Nous autres géomètres, travaillons en grade, pour les calculs, c'est beaucoup plus pratique que les degrés. Ta réponse est humaine, le degré est utilisé dans beaucoup plus de domaine que le grade, donc c'est normal de se précipiter vers le degré ;)
J'ai mis ce que tu m'as dit Alain, et ça fonctionne parfaitement. Ce qui m'énerve, c'est que c'est tout bête, mais faut vraiment y penser.
dreamfeeder -> Nous autres géomètres, travaillons en grade, pour les calculs, c'est beaucoup plus pratique que les degrés. Ta réponse est humaine, le degré est utilisé dans beaucoup plus de domaine que le grade, donc c'est normal de se précipiter vers le degré ;)
J'ai rectifié ce que tu m'as dit, raccourci un peu le code, une fois appuyer sur "calcul", ça lance bien la fonction, ainsi que l'opération dedans vu que j'ai mis un echo avec la variable calculée juste après et que ça me l'affiche.
Ce qui ne fonctionne toujours pas, c'est la variable x2 qui ne s'affiche pas dans le dernier fieldset.
Ce qui ne fonctionne toujours pas, c'est la variable x2 qui ne s'affiche pas dans le dernier fieldset.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <head> <title>Topo-Fr3d</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Design" href="all.css" /> </head> <body> <h1 title="Mon site quoi !!"><a href="../index.html"> Topo-Fr3d </a><br /></h1> <p class="soustitre">XY Par Gisement-Distance</p> <?php //fonctions function xy_gd($x1, $y1) { $x2 = $x1 + $y1; echo $x2; } //si formulaire posté if (isset($_POST['x1']) and isset($_POST['y1'])) { $x1 = $_POST['x1']; $y1 = $_POST['y1']; $x2 = xy_gd($x1, $y1); //il ne suffit pas de mettre une fonction, il faut l'appeler } else { $x1 = ""; $y1 = ""; } ?> <form method="post" action="xy_gd.php"> <fieldset class="fieldset_gauche"> <legend> Coordonnées du point de base : </legend> <p> <label for="x1">X : </label> <input type="text" name="x1" id="x1" size="20" maxlength="20" value="<?php echo $x1 ;?>" /> </p> <p> <label for="y1">Y : </label> <input type="text" name="y1" id="y1" size="20" maxlength="20" value="<?php echo $y1 ;?>"/> </p> </fieldset> <fieldset class="fieldset_droit"> <legend>Gisement et Distance à entrer : </legend> <p> <label for="gisement">Gisement : </label> <input type="text" name="gisement" id="gisement" size="20" maxlength="20" /> </p> <p> <label for="distance">Distance : </label> <input type="text" name="distance" id="distance" size="20" maxlength="20" /> </p> </fieldset> <input type="submit" value="Calcul" class="calcul_1"/> <input type="reset" value="Effacer" class="calcul_2"/> <fieldset class="fieldset_resultat"> <legend>Coordonnées du point calculé : </legend> <p> <label for="x2">X : </label> <input type="text" name="x2" id="x2" size="20" maxlength="20" value="<?php echo $x2 ; ?>" /> </p> <p> <label for="y2">Y : </label> <input type="text" name="y2" id="y2" size="20" maxlength="20" /> </p> </fieldset> </form> <?php echo $x2 ; ?> </body> </html>
//fonctions function xy_gd($x1, $y1) { $x2 = $x1 + $y1; return $x2;// il faut que la fonction renvoie le résultat //echo $x2; }
J'ai encore un problème manque de pot.
Cette fois, lorsque je clique sur "calcul", ca me vide ma page, et rien ne s'affiche, pourtant, j'ai rien touché de spécial.
Tu peux télécharger ma page php ainsi que la page CSS pour avoir une meilleur présentation :
ici
Si tu préfères avoir le code directement sur le forum, dis le moi, je le mettrai.
Merci.
Cette fois, lorsque je clique sur "calcul", ca me vide ma page, et rien ne s'affiche, pourtant, j'ai rien touché de spécial.
Tu peux télécharger ma page php ainsi que la page CSS pour avoir une meilleur présentation :
ici
Si tu préfères avoir le code directement sur le forum, dis le moi, je le mettrai.
Merci.
Alors là,
tu viens de sauver mon futur site internet, je te remercie beaucoup.
Ce qui m'énerve, c'est que j'aurai du y penser, vu que j'ai des bases en langage C.
Mais là, il n'y qu'une seule variable, si je veux en retourner plusieurs, je met plusieurs return ? je pense pas.
tu viens de sauver mon futur site internet, je te remercie beaucoup.
Ce qui m'énerve, c'est que j'aurai du y penser, vu que j'ai des bases en langage C.
Mais là, il n'y qu'une seule variable, si je veux en retourner plusieurs, je met plusieurs return ? je pense pas.
<input type="text" name="$x2" id="$x2" size="20" maxlength="20" action="<?php echo $x2 ?>" />
dans un input c'est pas action= mais value=
et ne mets pas $x2 comme name et id mais x2, il ne faut pas de $ dans les définitions des champs