- Home
- Categorie
- Coding e Sistemistica
- PHP
- form con collegamento funzione e file
-
form con collegamento funzione e file
Ciao a tutti, qualcuno saprebbe mica dirmi dove sbaglio? In questi codici i primi 2 funzionano e mi danno le percentuali giuste, gli altri 2 mi danno 0 e non riesco a capire come fare il collegamento...Premetto che sono ancora alle prime armi:
- form.html
<html>
<head>
</head>
<body>
<form action="elabora.php" method="post"><input type="text"name="numero1"><br>
<input type="radio" name="numero3" value="commercio">commercio impiegati<br>
<input type="radio" name="numero3" value="pubblici_esercizi">pubbl.eserc impiegati<br>
<input type="radio" name="numero3" value="commercio2">commercio operai<br>
<input type="radio" name="numero3" value="pubblici_esercizi2">pubbl.eserc operai<input type="submit" value="calcola il netto (lordo irpef)"><br>
</body>
</html>- funzione.php
<?php
print "<br>";
function aliquote_ctr_dip($percentuali)
{GLOBAL $perc_impiegati, $perc_operai;
switch($percentuali)
{
case "commercio":$perc_impiegati="10";
$perc_operai="9.89";break;
case 'pubblici_esercizi':
$perc_impiegati="18.2";
$perc_operai="10.8";
}
}?>
- elabora.php
<center>
<?phpinclude("funzione.php");
aliquote_ctr_dip( $_POST['numero3'] );
$numero1=$_POST['numero1'];if ($_POST['numero3']=="commercio")
$result=$numero1*$perc_impiegati/100;elseif
($_POST['numero3']=="commercio2")
$result=$numero1*$perc_operai/100;elseif
($_POST['numero3']=="pubblici_esercizi")
$result=$numero1*$perc_impiegati/100;elseif
($_POST['numero3']=="pubblici_esercizi2")
$result=$numero1*$perc_operai/100;echo "<br>";
echo $result?>
<center>Grazie!
-
Ciao maubox8 e benvenuto nel ForumGT.
Con "i primi due codici mi funzionano .." intendi le $result nella funzione elabora.php ?
-
Ciao MZ, grazie per l'aiuto e il benvenuto! Si, il problema era proprio nelle ultime 2 $result, comunque ho risolto in altro modo; ho aggiunto altre 2 istruzioni nella funzione, ora funziona tutto, ma il mio dilemma adesso è; quanto tempo ci metto per inserire tutti i "case" nella funzione? Ne dovrei inserire molte... esiste un modo piu' veloce?
Ti posto i nuovi codici e grazie per la disponiblità:- form.html
<html>
<head>
per le virgole usare i punti
</head>
<link rel=stylesheet href="style4.css" type="text/css">
<body>
<form action="elabora.php" method="post">
<br>
<input type="text" name="numero1">
<br>
<select name="numero3">
<br>
<option value="">scegli settore</option><br>
<option value="commercio_imp">commercio impiegati</option>
<option value="commercio_op">commercio operai</option>
<option value="pubblici_esercizi_imp">pubblici esercizi imp</option>
<option value="pubblici_esercizi_op">pubblici esercizi op</option><br>
</select>
<br><br>
<br>
<input type="submit" value="calcola il netto (lordo irpef)">
<br></body>
</html>- funzione_perc_ctr_dip.php
<?php
print "<br>";
function aliquote_ctr_dip($percentuali)
{
GLOBAL $perc_impiegati, $perc_operai, $no;
switch($percentuali)
{
case "":$no= "DEVI SELEZIONARE UN SETTORE";
case "commercio_imp":
$perc_impiegati="10";
break;
case "pubblici_esercizi_imp":$perc_impiegati="18.2";
case "commercio_op":
$perc_operai="9.89";
break;
case "pubblici_esercizi_op":$perc_operai="10.8";
}
}- elabora.php
<html>
<head>
</head>
<link rel=stylesheet href="style4.css" type="text/css">
<body>
<?php
include("funzione_perc_ctr_dip.php");
aliquote_ctr_dip( $_POST['numero3'] );
$numero1=$_POST['numero1'];if ($_POST['numero3']=="")
$result="$no";elseif
($_POST['numero3']=="commercio_imp")
$result=$numero1-$numero1*$perc_impiegati/100;
elseif
($_POST['numero3']=="pubblici_esercizi_imp")
$result=$numero1-$numero1*$perc_impiegati/100;
elseif
($_POST['numero3']=="commercio_op")
$result=$numero1-$numero1*$perc_operai/100;elseif
($_POST['numero3']=="pubblici_esercizi_op")
$result=$numero1-$numero1*$perc_operai/100;
echo "<br>";
echo "LORDO IRPEF";
echo "<br>";
echo $result?>
</body>
</html>Grazie ancora!