Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema Php-- Calcolatrice

    salve io sono ancora alle prime armi col php e mi servirebbero delle spiegazioni riguardo a uno script ke sto facendo, ma che mi da problemi:
    sto facendo una calcolatrice ke si mette il segno il primo valore e il secondo e fa apparire il risultato; ve la linko.

    http://cereslandia.altervista.org/calcolatrice/calcolatrice.htm

    poi ci sono i file; quello html col form dove vengono inviati i dati al php:

    <html>
    <head>
    <title>Calolatrice</title>
    </head>
    <body>
    <form name="form1" method="post" action="calcola.php">
    <input type="text" name=segno>
    Segno


    </p>
    <input type="text" name=a>
    Primo Numero


    </p>
    <input type="text" name=b>
    Secondo Numero


    </p>
    <input type="submit" name="Submit" value="Invia">
    <input type="reset" name="Reset" value="Reset">
    </form>
    </body>
    </html>
    e il file php che dovrebbe fare apparire il risultato:

    <html>
    <head>
    </head>
    <body>
    <?

    if (segno=='+'){
    somma($a,$b);}
    else if (segno=='-'){
    meno($a,$b);}
    else if (segno=='*'){
    per ($a,$b);}
    else if (segno=='/'){
    diviso($a,$b);}


    function sommma ($x,$y)
    {
    $z = $x+$y;
    echo "

    Il risultato è $z </p>";
    }
    function meno ($x,$y)
    {
    $z = $x-$y;
    echo "

    Il risultato è $z </p>";
    }
    function per ($x,$y)
    {
    $z = $x*$y;
    echo "

    Il risultato è $z </p>";
    }
    function diviso ($x,$y)
    {
    $z = $x/$y;
    echo "

    Il risultato è $z </p>";
    }

    ?>
    </body>
    </html>

    il problema è che non mi fa apparire nessun risultato!
    dove ho sbagliato? grazie a tutti in anticipo
    lol

  2. #2
    segno è una variabile, anteponi il simbolo $
    codice:
    if($segno)
    E' la mia opinione ed io la condivido
    Non condivido la tua idea ma darei la vita perché tu la possa esprimere (Voltaire)
    Scrivi sul muro

  3. #3
    Concordo!!!

    Mi sembra che sia l'unico errore!

  4. #4
    e per esser compatibile con register_global a OFF dovresti usare $_GET['a']; $_GET['b']; e $_GET['segno'];

    Poi c'è uno degli errori più gravi secondo la mia insegnate di algoritmica: la divisione per zero, non fai il controllo (ma non ha niente a che vedere con il codice).

    E per finire alla fine degli if(){}elseif(){} io ci metterei un else con un messaggio di errore per segnalare che il segno non è corretto, e se vuoi la serie di controlli la puoi trasformare in uno switch
    Codice PHP:
    <?php
    $segno 
    '/';
    $a 10;
    $b 5;

    switch (
    $segno){
        case 
    '+':
            print 
    $a+$b;
            break;
        case 
    '-':
            print 
    $a-$b;
            break;
        case 
    '*':
            print 
    $a*$b;
            break;
        case 
    '/':
            print 
    $a/$b;
            break;
        default:
            print 
    'operazione sconosciuta';
    }
    ?>

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.