Eccomi ancora qua... il mio form comincia a fare progressi, potete vederlo a questo indirizzo:
www.matteomosconi.com/timber/
ho cercato di separare il codice per renderlo più semplice ed ecco cosa ho ottenuto:
index.php
in questa pagina ho deciso di separe le due colonne DX e SX
Codice PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
<link rel="stylesheet" type="text/css" href="css/layout.css">
</head>
<body>
<?php
include("form.php");
?>
<?php
include("riepilogo.php");
?>
</body>
</html>
form.php
in questa pagina ho inserito il codige che va a generare il form vero e proprio (colonna SX)
Codice PHP:
<div class="colonna_SX">
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
<fieldset>
<legend>Informazioni personali </legend>
<div>
<label for="user">Nome [b]*[/b]</label>
<input id="user" name="user">
</div>
<div>
<label for="address">Email [b]*[/b]</label>
<input id="address" name="address">
</div>
<div>
<label for="nazione">Nazionalità [b]*[/b]</label>
<select size="1" name="nazione" >
<option selected value="1, Italia">Italia</option>
<option value="0, Estero">Estero</option>
</select>
</div>
<div>
<label for="city">Città [b]*[/b]</label>
<input id="city" name="city">
</div>
<div>
<label for="professione">Professione [b]*[/b]</label>
<select size="1" name="professione" >
<option selected value="0.04, Azienda, 0">Azienda</option>
<option value="0, Ingegnere, 0">Ingegnere</option>
<option value="0, Architetto, 0">Architetto</option>
<option value="0.04, Studente, 1">Studente</option>
<option value="0.04, Privato, 1">Privato</option>
</select>
</div>
<legend2>Quantità</legend2>
<div>
<label for="licenze">N° Licenze [b]*[/b]</label>
<select size="1" name="licenze">
<option selected>1</option>
<option> 2</option>
<option> 3</option>
<option> 4</option>
<option> 5</option>
<option> 6</option>
<option> 7</option>
<option> 8</option>
<option> 9</option>
<option> 10</option>
</select>
</div>
<div>
<input type="submit" id="go" value="Conferma" />
I campi contrassegnati con [b]*[/b] sono obbligatori</p>
</div>
</fieldset>
</form>
</div>
riepilogo.php
in questa pagina ho inserito il riepilogo dei dati (colonna DX) e al suo interno richiamo la funzione conto.php
Codice PHP:
<div class="colonna_DX">
<fieldset>
<legend>Riepilogo </legend><div>
<?php
// if(isset($_POST['Submit'])){
include("functions/conto.php");
// }
?>
<div>
<label for="user">Nome [b]:[/b]</label><?php echo $user; ?>
</div>
<div>
<label for="address">Email [b]:[/b]</label><?php echo $email; ?>
</div>
<div>
<label for="nazione">Nazionalità [b]:[/b]</label><?php echo $nazione; ?>
</div>
<div>
<label for="city">Città [b]:[/b]</label><?php echo $city; ?>
</div>
<div>
<label for="professione">Professione [b]:[/b]</label><?php echo $professione; ?>
</div>
<div>
<label for="licenze">N° Licenze [b]:[/b]</label><?php echo $licenze; ?>
</div>
<div>
<label for="licenze">Costo licenze [b]:[/b]</label><?php echo $x; ?>
</div>
<div>
<label for="licenze">Iva [b]:[/b]</label><?php echo $iva; ?>
</div>
<div>
<label for="licenze">Ritenuta [b]:[/b]</label><?php echo $ritenuta; ?>
</div>
<div>
<label for="licenze">TOTALE [b]:[/b]</label><?php echo $totale; ?>
</div>
<form action="https://www.paypal.com/it/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="mail@hotmail.com">
<input type="hidden" name="item_name" value="Nome dell'oggetto">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="amount" value="<?php echo $totale; ?>">
<input type="image" src="https://www.paypalobjects.com/it_IT/IT/i/btn/btn_paynow_LG.gif" border="0" name="submit" >
</form>
</fieldset>
</div>
e per concludere allego conto.php dove vengono effettivamente effettuati i calcoli che servono per generare il riepilogo
Codice PHP:
<?php
error_reporting (E_ALL & ~E_NOTICE);
list($value, $professione, $riten) = explode(', ', $_POST['professione']); // formato (%cnpaia; professione; 0
list($tax, $nazione) = explode(', ', $_POST['nazione']);
$n = $_POST['licenze'];
$a = 0.21; // Imposta valore dell'IVA
$b = 0.20; // Imposta valore della ritenuta
$prezzo1 = 350; // Imposta prezzo base licenza
$prezzo2 = 250; // Imposta prezzo scontato
$nsconto = 5; // imposta numero min licenze per prezzo scontato
if ($n >= $nsconto)
{$prezzo = $prezzo2;
}else{
$prezzo = $prezzo1;}
$x = $prezzo * $n; // calcolo del prezzo
if ($tax == 0)
{$valuex = 0.04;
}else{
$valuex = $value;}
$cnpaia = $x * $valuex; // calcolo del contributo CNPAIA
if ($tax == 0)
{$ivax = 0; $ritenutax = 0;
}elseif ($riten == 1)
{$ivax = $a; $ritenutax = 0;
}else {$ivax = $a; $ritenutax = $b;
}
$iva = ($x+ $cnpaia) * $ivax;
$ritenuta = $x * $ritenutax;
$totale = $x + $cnpaia + $iva - $ritenuta ;
?>
La prima cosa che mi chiedevo è... un codice impostato in questo modo si può considerare ammissibile?
come è possibile migliorarlo?
Vorrei inoltre implementarlo ulteriormente, eliminare il bottone "conferma" e far si che il riepilogo si compili automaticamente man mano che l'utente completi il form... leggendo in rete credo che la soluzione a questo problema avvenga mediante ajax + jquery ma... non sono sicuro e non saprei da che parte iniziare per implementarlo...
cosa ne dite? è fattibile?
Grazie
M