Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema con php

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    residenza
    Basildon, Essex
    Messaggi
    34

    Problema con php

    Non riesco proprio a trovare l'errrore

    Questo è il codice:

    <?php


    $nome=$_POST['nome'];
    $punitario=$_POST['punitario'];
    $cognome=$_POST['cognome'];
    $residenza=$_POST['residenza'];
    $telefono=$_POST['telefono'];
    $email=$_POST['email'];
    $mq=$_POST['mq'];
    $piastrelle=$_POST['piastrelle'];






    echo"<h1>Piastrelle</h1><br><hr><br>";


    if($piastrelle=="gres")
    $a=10;
    else $a=0;
    if($piastrelle=="clicken")
    $a=15;
    else $a=0;
    if($piastrelle=="cotto")
    $a=20;
    else $a=0;
    if($piastrelle=="pvc")
    $a=25;
    else $a=0;
    if($piastrelle=="laminato")
    $a=30;
    else $a=0;

    $tot=$a*$mq;


    echo"$nome $cognome $residenza $telefono $email $piastrelle $mq <br>";
    echo"La sua spesa totale è $tot &#128<br>";


    ?>


    In pratica da sempre risultato 0 è come se la $a non me la prende e le assegna valore 0!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Analizziamo un attimo ciò che stai facendo tu supponendo
    $piastrelle = "gres";
    Codice PHP:
    if($piastrelle=="gres"//vero
        
    $a=10//assegno $a = 10
    else
        
    $a=0;

    //continuo l'esecuzione del codice
    if($piastrelle=="clicken"//falso
        
    $a=15;
    else
        
    $a=0//vado qui e sovrascrivo $a = 0;

    //seguito del codice 
    Quindi solo nel caso in cui $piastrelle = "laminato" vedrai il tuo codice "funzionare", questo perché vengono eseguiti tutti gli if/else e se l'ultimo if ti risulta falso, $a=0

    devi fare così
    Codice PHP:
    if($piastrelle=="gres")
    {
        
    $a=10;
    }
    else if(
    $piastrelle=="clicken")
    {
        
    $a=15;
    }
    else if(
    $piastrelle=="cotto")
    {
        
    $a=20;
    }
    else if(
    $piastrelle=="pvc")
    {
        
    $a=25;
    }
    else if(
    $piastrelle=="laminato")
    {
        
    $a=30;
    }
    else
    {
        
    $a=0;


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    residenza
    Basildon, Essex
    Messaggi
    34
    Ca**o le graffe!
    Grazie mille!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Non è solo questione di graffe, guarda bene il codice.
    La tua struttura sono tanti if/else, la mia un unico if/else if/else if/.../else

    Se vuoi scriverlo in modo più elegante
    Codice PHP:
    switch($piastrelle)
    {
        case 
    "gres":
            
    $a 10;
            break;

        case 
    "clicken":
            
    $a=15;
            break;

        case 
    "cotto":
            
    $a=20;
            break;

        case 
    "pvc":
            
    $a=25;
            break;

        case 
    "laminato":
            
    $a=30;
            break;

        default:
            
    $a=0;
            break;


Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.