Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324

    Problemi con il richiamo delle classi

    Ciao a tutti,
    premesso che sono agli inizi e sto cercando di imparare php... Solo che il problema sta che non riesco a stampare a vvideo una semplicissima operazione... Essa consiste nel richiamare un metodo presente in un altra classe e passarli di due variabili... Prese queste due variabili in ingresso esegue un operazione scelta dall'utente, che puo essere addizione, sottrazione, divisione o moltiplicazione...


    questo è il codice delle due classi php:

    Codice PHP:
    <?php class Operazione

             
    //creato costruttore     
                    
    public function Operazione($valore){     
             }      
        
                    public function 
    operazione($valore1,$valore2){     
                 
    $valore3 $valore1 $valore2;                  
                              return (
    " il valore3 è : ".£valore3);     
                      }  

               }    
    ?>
    Codice PHP:
    <?php include_once '../operazione/operazione.php';   

    //controllo se avviene in maniera corretta il passaggio dei dati   
               
    if(isset($_POST['valore1'])){     
                        
    $valore1 $_POST['valore1']; 
               }else{ 
            echo (
    "valore1 non valorizzato 
    "
    );     
               }          

                if(isset(
    $_POST['valore2'])){ 
            
    $valore2 $_POST['valore2'];     
                }else{         
                    echo (
    "valore2 non valorizzato 
    "
    );     
                }      
        
                 if(isset(
    $_POST['operazione'])){ 
            
    $operazione $_POST['operazione'];     
                 }else{         
                     echo (
    "operazione non valorizzato 
    "
    );     
                 }  

                  echo(
    "il valore1 è ".$valore1."
    "
    ); 
                  echo(
    " il valore2 è ".$valore2."
    "
    ); 
                  echo(
    " il operazione è ".$operazione."
    "
    ); 
     
                  
    //qua creo l'oggetto per richiamare poi subito dopo il metodo... ma non funziona
                  
    $gestore = new Operazione("ciao");
                   echo(
    $gestore->operazione($valore1,$valore2));

    ?>

    invece questa è la index da dove gli invio i dati:


    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>Insert title here</title
    </
    head
    <
    body>  

    <
    h3 align="center">Quale operazione vuoi eseguire?</h3>  

    <
    form action="gestore.php" method="post"
     <
    label for="valore1">Valore1</label><input type="text" name="valore1" />

     
    <
    label for="valore2">Valore2</label><input type="text" name="valore2" />

     
    <
    select name="operazione"
    <
    option value="addizione" selected="selected">Addizione </option
    <
    option value="sottrazione">Sottrazione </option
    <
    option value="moltiplicazione" >Moltiplicazione </option
    <
    option value="divisione" >Divisione </option
    </
    select>

     
    <
    input type="submit" value="invia"/>  </form>     
    </
    body>
     </
    html

    Questo è il codice... Se qualcuno mi sa dare una mano gliene sarei grato... Premesso i dati dalla index al file "gestore.php" ci arrivano solo che non capisco come mai non passano al metodo....

    Un grazie anticipato per l'aiuto....

    Ps: utilizzo Php5.

  2. #2
    1. Mi domando a cosa serve quel costruttore se poi non fa niente. Si può eliminare. Inoltre un po' più di fantasia nei nomi non farebbe male.
    2. C'è un errore di sintassi -> return (" il valore3 è : ".£valore3);
    3. Dai la possibilità di fare quattro operazioni ma il metodo ne fa una sola, la somma.
    Ora forse il metodo dovrebbe occuparsi anche di valutare l'operazione scelta.
    qualcosa come

    switch($operazione)
    {
    case "Addizione":
    return $valore1 + $valore2;

    case "Sottrazione":
    return $valore1 - $valore2;

    .....
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    4. quelle parentesi dopo echo non servono a nulla

    echo$gestore->operazione($valore1,$valore2);
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    324
    Originariamente inviato da mtx_maurizio
    1. Mi domando a cosa serve quel costruttore se poi non fa niente. Si può eliminare. Inoltre un po' più di fantasia nei nomi non farebbe male.
    2. C'è un errore di sintassi -> return (" il valore3 è : ".£valore3);
    3. Dai la possibilità di fare quattro operazioni ma il metodo ne fa una sola, la somma.
    Ora forse il metodo dovrebbe occuparsi anche di valutare l'operazione scelta.
    qualcosa come

    switch($operazione)
    {
    case "Addizione":
    return $valore1 + $valore2;

    case "Sottrazione":
    return $valore1 - $valore2;

    .....
    Ciao,
    grazie per le dritte ne terrò conto... comunque ho provato a gestire la cosa come mi hai proposto te ma senza risultati hai altre idee???

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.