Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    108

    Errore inspiegabile unexpected T_CASE

    salve a tutti, non riesco a capire perchè ricevo questo errore Parse error: syntax error, unexpected T_CASE online 36
    codice:
    <?php
    /*richiamo i dati dal form */
    $primo= $_POST['importo'];
    $menu= $_POST['menu'];
    $menu2= $_POST['menu2'];
    $fisso=0.35; /*commissione fissa */
    $percentuale=3.4; /*percentuale trattenuta dall'importo (variabile) */
    
    /* inizio switch */
    switch ($menu)
    {
    case 'vuoto';
    echo "<font color=\"red\">Non hai inserito alcun valore per la nazione, torna indietro!</font>
    ";
    break;
    case  'italia'; /*se viene scelto questo paese dal menù la percentuale trattenuta varia di conseguenza*/
    switch ($menu2)/*viene utilizzato nel caso venga selezionato qualcosa dal menù, tipo di tariffa*/
    {
    case 'standard';
    {
    if (!isset($primo) or trim($primo) == "")
    {
        $percentuale = 0;
    }
    if ($primo>2500)
    {
        $percentuale = 2.7; /*variazione */
    }
    if ($primo>10000.01)
    {
        $percentuale = 2.2;/*variazione */
    }
    if ($primo>100000.01)
    {
        $percentuale = 1.8;/*variazione */
    }
    case 'commerciante1'; RIGA INCRIMINATA
    print 'commerciante1';
    break;
    }
    $sommapercentuale= $primo/100*$percentuale; /*calcolo della percentuale trattenuta*/
    echo "Percentuale trattenuta: $primo / 100 x $percentuale = <font color=\"red\">$sommapercentuale</font>
    "; /*stampa a video delle operazioni eseguite e risultato*/
    $totalenetto2= $primo-$fisso-$sommapercentuale; /*calcolo del totale netto (senza tarife)*/
    $totalenetto=round($totalenetto2, 2); /*arrotondamento per eccesso del totale netto)*/
    echo "Totale netto: $primo - $fisso - $sommapercentuale = <font color=\"red\">$totalenetto</font>
    ";/*stampa a video delle operazioni eseguite e risultato*/
    $totaletariffe2= $fisso+$sommapercentuale; /*calcolo del totale delle tariffe dovute*/
    $totaletariffe=round($totaletariffe2, 2); /*arrotondamento per eccesso del totale delle tariffe dovute)*/
    echo "Totale tariffe: $fisso + $sommapercentuale = <font color=\"red\">$totaletariffe</font>
    "; /*stampa a video delle operazioni eseguite e risultato*/
    }
    break;
    }
    ?>

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    perché dopo il case ci vanno i : non il ;

  3. #3
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    108
    ho provato a cambiare ma il problema rimane

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sostituisci i ; con i : anche nelgli altri "case" e ricontrolla le parentesi graffe, non sono corrette.

  5. #5
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    108
    ho cambiato tutti i case ma non cambia niente, per le parentesi quali sono quelle sbagliate a me sembrano tutte giuste?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Beh, come correggerle dipende da come devi raggruppare il codice, ma ci sono 6 { e 7 } quindi qualcosa non va.

  7. #7
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Indentando il codice è saltato fuori quello che dovrebbe essere il problema
    Codice PHP:
    switch ($menu)
    {
        case 
    'vuoto':
            echo 
    "<font color=\"red\">Non hai inserito alcun valore per la nazione, torna indietro!</font>
    "
    ;
            break;
        case  
    'italia'/*se viene scelto questo paese dal menù la percentuale trattenuta varia di conseguenza*/
            
    switch ($menu2)/*viene utilizzato nel caso venga selezionato qualcosa dal menù, tipo di tariffa*/
            
    {
                case 
    'standard':
                {
                    if (!isset(
    $primo) or trim($primo) == "")
                    {
                        
    $percentuale 0;
                    }
                    if (
    $primo>2500)
                    {
                        
    $percentuale 2.7/*variazione */
                    
    }
                    if (
    $primo>10000.01)
                    {
                        
    $percentuale 2.2;/*variazione */
                    
    }
                    if (
    $primo>100000.01)
                    {
                        
    $percentuale 1.8;/*variazione */
                    
    }

                
                case 
    'commerciante1'RIGA INCRIMINATA
                    
    print 'commerciante1';
                    break;
                } 
    //questa chiude il case "standard" quindi dovrebbe andare prima del case "commerciante1" e manca il break
                
    $sommapercentuale$primo/100*$percentuale/*calcolo della percentuale trattenuta*/
                
    echo "Percentuale trattenuta: $primo / 100 x $percentuale = <font color=\"red\">$sommapercentuale</font>
    "
    /*stampa a video delle operazioni eseguite e risultato*/
                
    $totalenetto2$primo-$fisso-$sommapercentuale/*calcolo del totale netto (senza tarife)*/
                
    $totalenetto=round($totalenetto22); /*arrotondamento per eccesso del totale netto)*/
                
    echo "Totale netto: $primo - $fisso - $sommapercentuale = <font color=\"red\">$totalenetto</font>
    "
    ;/*stampa a video delle operazioni eseguite e risultato*/
                
    $totaletariffe2$fisso+$sommapercentuale/*calcolo del totale delle tariffe dovute*/
                
    $totaletariffe=round($totaletariffe22); /*arrotondamento per eccesso del totale delle tariffe dovute)*/
                
    echo "Totale tariffe: $fisso + $sommapercentuale = <font color=\"red\">$totaletariffe</font>
    "
    /*stampa a video delle operazioni eseguite e risultato*/
            
    }
            break;


  8. #8
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    108
    scusa ma non capisco cosa vuoi dire

  9. #9
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    hai letto il commento che ho aggiunto di fianco ad una delle graffe?

  10. #10
    Utente bannato
    Registrato dal
    Nov 2011
    Messaggi
    108
    ho fatto la modifica che mi hai suggerito soltanto che adesso non ottengo più l'errore ma un file bianco per quanto riguarda standard e il funzionamento corretto per commerciante 1
    ti allego anche il file index.php
    codice:
    <html>
    <head>
    <title>Calcolatore 1.0 PayPal</title>
    </head>
    <body>
    <h1>Calcolatore 1.0 PayPal </h1>
    <form method="POST" action="calcolatrice-2.php">
    <input type="text" maxlength="9" name="importo">
    <select name="menu">
    <option name="menu" value="vuoto"></option>
    <option name="menu" value="italia">Italia</option>
    <option name="menu" value="germania">Germania</option>
    <option name="menu" value="canada">Canada</option>
    <option name="menu" value="australia">Australia</option>
    </select>
    
    <select name="menu2">
    <option name="menu2" value="vuoto-2"></option>
    <option name="menu2" value="standard">standard</option>
    <option name="menu2" value="commerciante1">commerciante1</option>
    <option name="menu2" value="commerciante-2">commerciante-2</option>
    <option name="menu2" value="commerciante-3">commerciante-3</option>
    </select>
    <input type="submit" velue="calcola"><input type="reset" value="reset">
    </form>
    <hr>
    </body>
    </html>

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.