8768 sujets

Développement web côté serveur, CMS

Bonjour,
quand on sait pas, qu'on trouve pas .... Alsacreation est là!

Un lecteur entre des valeurs numériques sur une page en Php, je voudrais effectuer des calculs sur cette même page.
Donc le bouton Submit n'est pas utilisable.

COmment faire pour effectuer les calculs lorsque l'internaut tape sur "Envoyer".

MErci pour vos explications.
Bonjour Smiley smile

mais si le bouton submit est utilisable... Smiley lol

il suffit que l'action de ton form soit sur la meme page que celle sur laquelle tu es Smiley smile
exemple je suis sur index.php mon form envoi sur index.php

ensuite il faut que tu testes en entrée de la page si ta variable $_POST contient quelque chose pour ne pas lancer les calculs à chaque fois que tu viens sur la page mais seulement une fois que le form est envoyé.

Sinon il y a aussi la solution en ajax Smiley smile mais là je pense qu'on sort de ton domaine de connaissance, vu ton autre post concernant déjà cette problématique Smiley cligne
pchlj a écrit :
Bonjour Smiley smile

mais si le bouton submit est utilisable... Smiley lol

il suffit que l'action de ton form soit sur la meme page que celle sur laquelle tu es Smiley smile
exemple je suis sur index.php mon form envoi sur index.php Smiley cligne
Ok, merci.
Je galère un peu trop là, j'ai besoin d'aide.
Pourquoi cela me dit "unexpected '$base'(T_variable) in line 40
<?php 
	session_start(); 
?>
<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8" />
		<title></title>
		<meta name="keywords" content=""/>
		<link rel="stylesheet" href="style" />
        <title></title> 
    </head>


				
	<label for "nom">Votre altitude sur montagne BASE en mètres: </label> 
	<input type="number" name="base" id="base">	<br />	<br />			

	<label for "nom">Altitude  montagne Obstacle en mètres: </label> 
	<input type="number" name="horizon" id="horizon">	<br />	<br />			

	<label for "nom">Distance de montagne Base à montagne Obstacle  en mètres: </label> 
	<input type="number" name="d" id="d">	<br />	<br />			

	<label for "number">Distance montagne Base à montagne Cible  en mètres</label>
	<input type="number" name="D" id="D" ><br /><br />


<p style="margin-bottom: 10%"></p>
	
<button class="boutonenvoyer" type="submit">
<span class="ble	u gras fontgros">Envoyer </span></button>
<p style="margin-bottom: 5%"></p><hr>

<? php 
$base=$_POST['base'];
$horizon=$_POST['horizon'];
$D=$_POST['D'];
$d=$_POST['d']; 

$alpha=360*$D/40000000;
$beta=360*$d/40000000;
$dd=(6371000+$base)*tan($beta*2 * pi() /360);
$bb=((6371000+$base)/cos($beta*2 * pi() /360))-6371000;
$ddd=(tan($alpha*2 * pi() /360)*(6371000+$base))-$d;
$CC=((6371000+$base)/cos($alpha*2 * pi() /360))-6371000; 
$gamma=rad2deg(atan(($horizon-$bb)/$dd)) ;
$C3=($dd+$ddd)*tan($gamma*2 * pi() /360);
$CCC=$C3/cos($alpha*2 * pi() /360);
$C=$CC +$CCC; 

		header('Location: pageprincipale.php');
	
echo "Altitude de la montagne visée: $C";
?>
<br />				

</form>
</div>
<p style="margin-bottom: 10%"></p><hr>
</span></a><br />
</body>
</html>


Merci pour votre aide!
Modifié par abeille (22 Sep 2016 - 18:09)
Heu j'ai pas l'erreur moi Smiley decu

en revanche il faut retoucher un peu ton code pour pas être embêté Smiley smile

like this :
<?php 
	session_start(); 
?>
<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8" />
		<title></title>
		<meta name="keywords" content=""/>
		<link rel="stylesheet" href="style" />
        <title></title> 
    </head>


<form method="post">				
	<label for "nom">Votre altitude sur montagne BASE en mètres: </label> 
	<input type="number" name="base" id="base">	<br />	<br />			

	<label for "nom">Altitude  montagne Obstacle en mètres: </label> 
	<input type="number" name="horizon" id="horizon">	<br />	<br />			

	<label for "nom">Distance de montagne Base à montagne Obstacle  en mètres: </label> 
	<input type="number" name="d" id="d">	<br />	<br />			

	<label for "number">Distance montagne Base à montagne Cible  en mètres</label>
	<input type="number" name="D" id="D" ><br /><br />


<p style="margin-bottom: 10%"></p>
	
<button class="boutonenvoyer" type="submit">
<span class="ble	u gras fontgros">Envoyer </span></button>
<p style="margin-bottom: 5%"></p><hr>
</form>
<?php 
if(in_array_keys("base", $_POST)){ // ici le if qui permet de tester la présence des infos [cligne]
$base=$_POST['base'];
$horizon=$_POST['horizon'];
$D=$_POST['D'];
$d=$_POST['d']; 

$alpha=360*$D/40000000;
$beta=360*$d/40000000;
$dd=(6371000+$base)*tan($beta*2 * pi() /360);
$bb=((6371000+$base)/cos($beta*2 * pi() /360))-6371000;
$ddd=(tan($alpha*2 * pi() /360)*(6371000+$base))-$d;
$CC=((6371000+$base)/cos($alpha*2 * pi() /360))-6371000; 
$gamma=rad2deg(atan(($horizon-$bb)/$dd)) ;
$C3=($dd+$ddd)*tan($gamma*2 * pi() /360);
$CCC=$C3/cos($alpha*2 * pi() /360);
$C=$CC +$CCC; 

	//	header('Location: pageprincipale.php'); // SUPPRIME CETTE LIGNE
	
echo "Altitude de la montagne visée: $C";
}
?>
<br />				

</form>
</div>
<p style="margin-bottom: 10%"></p><hr>
</span></a><br />
</body>
</html>