Visualizzazione dei risultati da 1 a 7 su 7

Discussione: calcolo dell iva

  1. #1

    calcolo dell iva

    ciao
    allora, vi chiedo una cosa che magari a voi sembrerra semplice ma per me sembra che nn lo è.dunque, ho una tabella che contiene delle caselle di testo in cui vanno inseriti dei perzzi, e poi ci sono i select dove scegliere l'aliquota iva.
    <form name="tabella" method="post" action="esempio4.php">
    <table border="1" cellspacing="1" cellpadding="1" width="40%" height="70%">
    <tr><td>Prezzo
    <td>Aliquota IVA

    <tr><td><input type="text" name="prezzo1" size="20">
    <td><select name="iva1">
    <option>4.00% </option>
    <option>10.00% </option>
    <option>20.00% </option>
    </select>

    ......e poi uguale per altre 9 righe.
    il mio cidice php dovrebbe stampare il totale imponibile ed il totale(iva compresa).Ma nn lo fa, stampandomi vari errori
    Codice PHP:
    $tot=0;
    $tot_iva=0;
    for (
    $j=1$j<=10$j++)
       { if ((isset(
    $_POST['prezzoj']))&&(isset($_POST['ivaj'])))
         {
    $prezzoj=$_POST['prezzoj'];
           
    $ivaj=$_POST['ivaj'];
           
    $i=($prezzoj*$ivaj/100);
           
    $tot=$tot+$prezzoj;
           
    $tot_iva=$tot_iva+$i;
              }
    echo 
    "Totale imponibile=".$tot;
    $t=$tot+$tot_iva;
    echo 
    "Totale da pagare=".$t;
     } 
    Notice: Undefined index: prezzoj in ...
    Notice: Undefined index: ivaj in ...


    p.s. sto usando un libro che propone di usare in questo caso le $$ pero lo script mi sembra tanto piu complikcato e poi, in esecuzione mi da tanti di quei errori che nn so da dove cominciare.ho cercato di scrivere lo script a modo mio ma nn sembra dare risultati migliori. quindi, avete qualche idea?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    che libro stai leggendo?

    L'uso del $$ secondo me (e non solo) è il male, rende il codice illeggibile, e non sai mai con quali variabili stai lavorando.

    Andando al tuo codice, l'errore (che non è un vero e proprio errore ma un NOTICE) ti indica che stai cercando di accedere alla chiave "prezzoj" dell'array $_POST.

    Quindi o hai scritto male il campo "name" del form da cui arrivano i dati o viceversa il nome della chiave corrispondende dell'array $_POST


  3. #3
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    <td><select name="iva1">
    <option value="4">4.00% </option>
    <option value="10">10.00% </option>
    <option value="20">20.00% </option>
    </select>




    for ($j=1; $j<=10; $j++)
    {
    $imponibile=0;
    $tot_iva=0;

    if (isset($_POST['prezzo'.$j]))
    {

    $prezzo = $_POST['prezzo'.$j];

    $iva = 1 + ($_POST['iva'.$j]/100);

    $imponibile = ($prezzo / $iva) ;

    $tot_iva= $prezzo - $imponibile;
    }
    echo "

    Imponibile=".number_format($imponibile, 2, '.', ',');
    echo "
    Aliquota=".$_POST['iva'.$j]."% - IVA = ".number_format( $iva, 2, '.', ',');
    echo "
    Totale da pagare=".$prezzo."</p> ;
    }
    ...altri 5 anni di purga...

  4. #4
    Originariamente inviato da gianiaz
    che libro stai leggendo?
    è una guida all' apprendimento di php.Comunque, mi confonde abbastanza e cosi ho deciso di usare il manuale online.Ogni tanto guardo gli esercizi di applicazione che propone il libro.
    Questa e la loro soluzione all esercizio che ho descritto prima:
    Codice PHP:
    <HTML><HEAD><TITLE>esempio4.html</TITLE></HEAD>
    <BODY>
    <?php                      //esempio4.php
    echo "<HR><FORM METHOD=post ACTION=".$PHP_SELF.">";
    $p="prezzo1";
    $i="iva1";
    ?>
    <TABLE BORDER=2>
    <TR>
      <TD>Prezzo
      <TD>Aliquota Iva
    <?php
    $n_righe
    =0;
    do
      {
      echo 
    "<TR><TD><INPUT TYPE=text NAME=$p SIZE=20>";
      echo 
    "<TD><SELECT NAME=$i><OPTION>4.00%<OPTION>10.00%<OPTION>20.00%</SELECT>";
      
    $p++;
      
    $i++;
      
    $n_righe++;
      }
    while (
    $n_righe<10);
    ?>
    </TABLE>
    <INPUT TYPE=submit VALUE="<-- AVANTI -->"><HR>
    </FORM>
    <HR>
    <?php
    $tot
    =0;
    $tot_iva=0;
    $p="prezzo1";
    $i="iva1";
    $n_righe=0;
    do
      {
      
    $tot+=$$p;
      
    $tot_iva+=($$p*$$i/100);
      
    $n_righe++;
      
    $p++;
      
    $i++;
      }
    while(
    $n_righe<10);
    echo 
    "Totale imponibile: ".$tot."
    "
    ;
    $tot=$tot+$tot_iva;
    echo 
    "Totale con IVA   : ".$tot."
    "
    ;
    ?>
    </BODY>
    </HTML>
    se come in output mi stampa tantissimi errori e lo script nn l' ho capito benissimo, ho deciso di fare a modo mio.

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Un paio di consigli sulla forma:

    1. L'html e tutti i suoi attributi vanno scritti sempre in minuscolo.
    2. Il valore degli attributi va sempre scritto tra apici doppio

    Per far funzionare invece il tuo script:

    I tag option devono avere l'attributo value="" come dall'esempio di alpeweb, altrimenti non ricevi il valore nella pagina php.

    Un consiglio, quando vuoi fare un po' di debug, usa la funzione print_r per vedere cosa ti arriva effettivamente via post.

    Nella pagina dove fai il calcolo scrivi:

    print_r($_POST);

    ciao

  6. #6
    Originariamente inviato da gianiaz
    Un paio di consigli sulla forma:

    1. L'html e tutti i suoi attributi vanno scritti sempre in minuscolo.
    2. Il valore degli attributi va sempre scritto tra apici doppio
    L' ultimo script che ho postato e riprodotto esattamente dall cd del libro. Quindi, quando sei all' inizio immaginati quante incertezze ti puo creare.
    Comunque, grazie per i tuoi consigli.

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da fiorelina21
    L' ultimo script che ho postato e riprodotto esattamente dall cd del libro. Quindi, quando sei all' inizio immaginati quante incertezze ti puo creare.
    Comunque, grazie per i tuoi consigli.
    Il punto è che non necessariamente il libro è errato, magari è solo datato.

    Le specifiche riguardanti la scrittura in minuscolo e l'attenzione a una sintassi più rigida sono nate con la nascita dell'xhtml (di cui ti consiglio di leggere la guida sul sito di html.it), quindi dipende da quando è stato pubblicato il libro.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.