Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Calcolo totale

  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    Calcolo totale

    chi mi aiuta ragazzi? sto cercando di capire meglio come calcolare un totale con gli array,ma da solo non ci arrivo

    ho una index.php

    cosi fatta
    Codice PHP:

    <form method="post" action="calcola.php">
    Stanze<select name="pippo" >
    <option name="s1">una</option>
    <option name="s2">due</option>
    <option name="s3">tre</option>
    </select>
    Persone<select name="pippo2">
    <option name="p1">una</option>
    <option name="p2">due</option>
    <option name="p3">tre</option>
    </select>
    <input type="submit" name="calcola" value="calcola" />
    </form>
    <?php
    $s1
    =$_POST['s1'];
    $s2=$_POST['s2'];
    $s3=$_POST['s3'];
    $p1=$_POST['p1'];
    $p2=$_POST['p2'];
    $p3=$_POST['p3'];


    ?>
    e poi ho la pagina di azione calcola.php
    Codice PHP:
    <?php
    $s1
    =5;
    $s2=8;
    $s3=12;

    $p1=15;
    $p2=18;
    $p3=23;

    $stanze=array($s1,$s2,$s3);
    $persone=array($p1,$p2,$p3);

    if(isset(
    $calcola))
    while(
    $totale==$stanze $persone)
    {echo 
    "il totale è di €".$totale."";}



    ?>
    ovviamente non funge niente

    ma dov'è che sto sbagliando?

  2. #2
    a parte il calcolo... i dati passano con $_POST. Quindi devi estrarre i dati da $_POST nella pagina calcola.php che a sua volta sara' tutta da rivedere nella sua logica.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    seguendo il tuo consiglio ho modificato calcola.php cosi:
    Codice PHP:
    <?php
    $s1
    =$_POST['s1'];
    $s2=$_POST['s2'];
    $s3=$_POST['s3'];
    $p1=$_POST['p1'];
    $p2=$_POST['p2'];
    $p3=$_POST['p3'];

    $s1=5;
    $s2=8;
    $s3=12;

    $p1=15;
    $p2=18;
    $p3=23;

    $stanze=array($s1,$s2,$s3);
    $persone=array($p1,$p2,$p3);

    if(isset(
    $calcola))
    while(
    $totale==$stanze $persone)
    {echo 
    "il totale è di €".$totale."";}



    ?>
    ma sicuramente sto sbagliando qualcos'altro di basilare perchè non mi produce nessun calcolo

    mi puoi aiutare?

  4. #4
    ma e' errato proprio il concetto nel suo complesso.

    Se usi una select passera' un solo valore con il nome definito nella select.

    Codice PHP:
    <form method="post" action="calcola.php">
    Stanze<select name="pippo" >
    <
    option value="s1">una</option>
    <
    option value="s2">due</option>
    <
    option value="s3">tre</option>
    </
    select>
    Persone<select name="pippo2">
    <
    option value="p1">una</option>
    <
    option value="p2">due</option>
    <
    option value="p3">tre</option>
    </
    select>
    <
    input type="submit" name="calcola" value="calcola" />
    </
    form
    quindi troverai solo nel $_POST:

    $_POST['pippo'] con il valore selezionato (s1/s2/s3)
    $_POST['pippo1'] con il valore selezionato (p1/p2/p3)
    $_POST['calcola'] con il valore 'calcola'

    quindi potresti semplicemente mettere il valore direttamente nel form perche' quello che fai dopo no ha proprio alcun senso anche ad essere ottimisti. Quindi:

    Codice PHP:
    <form method="post" action="calcola.php">
    Stanze<select name="pippo" >
    <
    option value="5">una</option>
    <
    option value="8">due</option>
    <
    option value="12">tre</option>
    </
    select>
    Persone<select name="pippo2">
    <
    option value="15">una</option>
    <
    option value="18">due</option>
    <
    option value="23">tre</option>
    </
    select>
    <
    input type="submit" name="calcola" value="calcola" />
    </
    form
    Ora ad inizio della pagina calcola.php prova a mettere la stampa di $_POST cosi' vedi e valuti per bene cosa ricevi dal form:

    calcola.php
    Codice PHP:
    <?php
    echo "<pre>";
    print_r($_POST);
    exit;
    ?>

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    hai ragione,scusami se sono banale ma somno ancora alle prime armi

    mi sembra di aver capito che quindi quella che passa è la variabile della select(name)

    quindi le option della select vengono riconosciute automaticamente quando passa la select....giusto?



    comunque proverò e ti farò sapere se incappo in altri errori per ora ti ringrazio tantissimo

  6. #6
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao,ho copiato la form modificata da te e in effetti tutto va meglio adesso

    ho un problema però sul pulsante,perchè quando lo clikko mi viene stampato a video questo codice:
    Array
    (
    [pippo] => 5
    [pippo2] => 18
    [calcola] => calcola
    )



    come se $calcola avesse dentro un nome.....??

    il codice del foglio di calcolo è


    Codice PHP:
    <?php


    $pippo
    =$_POST['pippo'];
    $pippo2=$_POST['pippo2'];
    $calcola=$_POST['calcola'];



    if(isset(
    $calcola))
    while(
    $totale==$pippo $pippo2)
    {echo 
    "il totale è di €".$totale."";}



    ?>
    <?php 
    echo "<pre>"
    print_r($_POST); 
    exit; 
    ?>
    cosa sbaglio ancora ?

  7. #7
    <input type="submit" name="calcola" value="calcola" />

    dentro a $calcola trovi quello che ci metti nell'input cioe' il value "calcola".

    per il resto devi solo togliere quel while che non ha ne senso e manco serve.

    Codice PHP:
    <?php

    $pippo   
    $_POST['pippo'];
    $pippo2  $_POST['pippo2'];
    $calcola $_POST['calcola'];

    if(isset(
    $calcola))  {
        
    $totale $pippo $pippo2;
        echo 
    "il totale di $pippo x $pippo2 è di € $totale";
        }  else {  
                 echo 
    "nulla da calcolare";
                  }
    ?>
    volendo fare i "raffinati" dovresti controllare che ci siano i numerici attesi, fare scegliere l'operazione, controllare le possibili eccezioni tipo il diviso per zero e poi alla fine ti farai una calcolatrice aritmetica.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.