|
|
|
|
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>
Le courage et la persévérance ont un talisman magique devant lequel les difficultées disparaissent et les obstacles s'évaporent.Configuration: Windows Vista
Firefox 3.0.1
<!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>
|
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.
<!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>Le courage et la persévérance ont un talisman magique devant lequel les difficultés disparaissent et les obstacles s'évaporent. |
Répondre à Alain_42
|
Alors là,
|
Bonjour,
<!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>Le courage et la persévérance ont un talisman magique devant lequel les difficultés disparaissent et les obstacles s'évaporent. |
Salut,
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 |
Re-Salut,
<!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> Le courage et la persévérance ont un talisman magique devant lequel les difficultés disparaissent et les obstacles s'évaporent.
|
Bonjour,
|
Je vous remercie tous les deux de prendre votre temps pour me donner une bonne réponse.
|