• Consiglio Direttivo

    Ciao Kian e benvenuto nel forum GT 😉
    Una volta recuperate le variabili
    [php]$articolo=$_POST['articolo']; // esempio: Mele
    $quantita=$_POST['quantita']; // esempio: 5

    // tramite query ti ricavi da una tabella il costo unitario di Mele, mettiamo 3

    $tot = $valore_unitario * $quantita;

    echo $tot; // risultato: 15[/php]

    Dovrebbe funzionare
    Facci sapere :ciauz:


  • User Attivo

    Grazie funziona 😉 calcola che è una bellezza 😄

    Ora però mi sento in imbarazzo a dirlo ma, 😢 essendo questa la mia prima "creazione" di un php (fino ad ora mi sono limitato a modificarli ma mai a crearli dal nulla), non so come procedere :mmm:

    So cosa ci manca

    1. Tabella con i dati (dove il php da te scritto va a "pescare" i dati per i calcoli)
    2. Integrazione del php con il form... per farti capire io come un pollo sono andato a mettere dentro 'articolo'
      [php]$articolo=$_POST['articolo'][/php]
      il form 😞 pur sapendo che non serviva a nulla. Mi serve una spinta...

    Grazie ancora


  • Consiglio Direttivo

    @Kian said:

    So cosa ci manca

    1. Tabella con i dati (dove il php da te scritto va a "pescare" i dati per i calcoli)
      Per questo puoi lavorare in due modi:
    2. un database MySql (Scelta migliore)
    3. un file di testo (un po laborioso ma se po fa' :2:

    @Kian said:

    1. Integrazione del php con il form... per farti capire io come un pollo sono andato a mettere dentro 'articolo'
      [php]$articolo=$_POST['articolo'][/php]
      il form 😞 pur sapendo che non serviva a nulla. Mi serve una spinta...
      Devi mettere come name della tua select name="articolo", con $_POST['articolo'] recuperi il dato inviato dal form e poi procedi secondo script .
      Nella stessa pagina poi implementare tranquillamente il codice PHP che recupererà il valore inviato dell'option selezionata 😉

  • User Attivo

    Inizio col dire che mi sento un genio 😄 mi piace il php anche se non sono riuscito a concludere niente :bho:

    Nel mio delirio di onnipotenza ho fatto questo form con php
    [PHP]<form action="mioform.php" method="post" name="fruttivendolo">
    <input type="hidden" name="formID" />

    <label>Scegli il frutto</label>
    <select class="other" name="$_POST['articolo']" id="q1" >
    <option>Mela</option>
    <option>Pera</option>
    </select>
    <label>Scegli la quantità</label>
    <select class="other" name="$_POST['quantita']" id="q2" >
    <option>1</option>
    <option>2</option>
    <option>3</option>
    <option>4</option>
    <option>5</option>
    </select>
    <input type="submit" class="btn" value="Submit" />
    </form>
    <?
    $articolo=$_POST['articolo'];
    $quantita=$_POST['quantita'];
    $mela = 3;
    $pera = 1;
    if ($articolo == 'Mela') {
    $tot = $mela * $quantita";
    }
    echo $tot;
    if ($articolo == 'Pera') {
    $tot = $pera * $quantita;
    }
    echo $tot;
    ?>[/PHP]
    In teoria nella mia testa funziona ma in pratica mi da

    Parse error: syntax error, unexpected
    😛 illuminatemi :sun: quanto ho sbagliato?


  • Consiglio Direttivo

    @Kian said:

    Inizio col dire che mi sento un genio 😄 mi piace il php anche se non sono riuscito a concludere niente :bho:

    Nel mio delirio di onnipotenza ho fatto questo form con php
    Bene l'approccio iniziale è giusto 😄
    @Kian said:

    In teoria nella mia testa funziona
    In testa funziona sempre....poi con calma si notano le magagne 😉

    [php]<form action="mioform.php" method="post" name="fruttivendolo">
    <input type="hidden" name="formID" /> // a che ti serve??

    <label>Scegli il frutto</label>
    <select class="other" name="articolo" id="articolo"> // avevi letto male ? 😛
    <option>Mela</option>
    <option>Pera</option>
    </select>
    <label>Scegli la quantità</label>
    <select class="other" name="quantita" id="quantita" >
    <option value="1">1</option> // il valore che invierai lo devi assegnare all'attributo value 😉
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    </select>
    <input type="submit" class="btn" value="Submit" />
    </form>
    <?
    $articolo=$_POST['articolo'];
    $quantita=$_POST['quantita'];
    $mela = 3;
    $pera = 1;
    if ($articolo == 'Mela') {
    $tot = $mela * $quantita;
    }
    echo $tot;
    if ($articolo == 'Pera') {
    $tot = $pera * $quantita;
    }
    echo $tot;
    ?>[/php]
    invece di fare tanti if, puoi usare else if...alla fine fai un unico richiamo a $tot
    Poi si puo' anche far in modo che ti figurino ancora selezionate le scelte fatte 😉


  • User Attivo

    Samyorn mi hai iniziato al php 😄 è una cosa bellissima! Sto creando form che si aggrovigliano tra loro in calcoli :sbav: Ti ringrazio infinitamente!

    Tuttavia la mia sete sta andando oltre... mi spiego: tutti i calcoli vengono effettuali alla pressione del tasto "Submit" e, sempre dopo la sua pressione, viene mostrato il risultato. Se volessi che "echo $tot" si aggiorasse e fosse mostrato in tempo reale come dovrei fare?

    Te lo chiedo perchè non ho trovato nessuna guida che nemmeno lo accennasse mentre ho visto form dove viene fatto regolarmente quindi presumo si tratti di una cavolata.

    Grazie 1000 per l'aiuto


  • Moderatore

    in tempo reale???

    due soluzioni:
    La prima Ajax;
    la seconda meno complessa ma un po' più bruttaRefresh della stessa pagina.

    Spiego la seconda 😉

    basta far sì che ad ogni click sui bottoncini + e - vrei un refresh della stessa pagina passandogli naturalmente i valori... essa si refresherà e ti mostrerà l'evento aggiornato... è una soluzione"sporca" ma efficace 🙂

    vedi tu...


  • User Attivo

    Ancora infinitamente grazie, mi state aprendo le porte di un mondo nuovo 😄

    Mi sono tuffato anche in Ajax:fumato:

    Ormai faccio tutto da me provando e riprovando imparando dagli errori però una cosettina ve la devi chiedere. Come interrompo lo svolgimento dello script?
    [PHP]<?
    if ($articolo == 'Tipo1') {
    $tot = $Tipo1 * $quantita;
    }
    if ($tipo == 'Pubblico') {
    $pubblico = 5;
    $totale = $tot + $pubblico;
    echo $totale;
    }else{
    echo $tot;
    }
    ?>
    <?
    if ($articolo == 'Tipo2') {
    $tot = $Tipo2 * $quantita;
    }
    if ($tipo == 'Pubblico') {
    $pubblico = 5;
    $totale = $tot + $pubblico;
    echo $totale;
    }else{
    echo $tot;
    }
    ?>[/PHP]
    Succede che, nonostante nel form sia selezionata solo l'opzione "Tipo1", l'echo mi calcola e visualizza anche il "Titolo2". Ad esempio mi vien fuori 1350 dove il rosso è il risultato di "Titolo1" e il blu di "Titolo2".

    Non si tratta di interrompere lo script ma di fargli capire che deve calcolare solo la selezione del form.


  • Consiglio Direttivo

    @Kian said:

    Ancora infinitamente grazie, mi state aprendo le porte di un mondo nuovo 😄
    Ingordo :tongueout:
    Comunque si....andando avanti vedrai che il PHP (almeno al sottoscritto è accaduto così) ti spingerà sempre oltre 😄

    @kian said:

    Succede che, nonostante nel form sia selezionata solo l'opzione "Tipo1", l'echo mi calcola e visualizza anche il "Titolo2". Ad esempio mi vien fuori 1350 dove il rosso è il risultato di "Titolo1" e il blu di "Titolo2".
    Non si tratta di interrompere lo script ma di fargli capire che deve calcolare solo la selezione del form.
    Titolo1 e titolo2 sarebbero "pubblico"?

    Io noto dallo script che esegui comunque il controllo se $tipo è uguale a Pubblico, dovresti inserirlo dentro l'if di verifica articolo

    [php]
    <?
    if ($articolo == 'Tipo1')
    {
    $tot = $Tipo1 * $quantita;
    if ($tipo == 'Pubblico')
    {
    $pubblico = 5;
    $totale = $tot + $pubblico;
    echo $totale;
    }
    else
    {
    echo $tot;
    }
    }
    ?>

    [/php]Credo che così dovresti risolvere 😉


  • User Attivo

    Ok il mio form è completo anche grazie al vostro aiuto 😉 sicuramente ho fatto passaggi in più ma ciò che conta è che funziona. Ho riscontrato un solo problema... più che problema un fastidio. Quando clicco "Calcola" (sarebbe Submit) parte il calcolo e vengono mostrati i risultati ma si cancella il form.

    Mi spiego: seleziono 5 mele e calcolo l'importo. Una volta calcolato l'importo le informazioni inserite precedentemente nel form si cancellano. E scomodo perchè non si può ricontrollare quello che si è scelto. Direi questione di cache. Sbaglio? Come faccio a salvare i dati inseriti nel form? Grazie.

    [CENTER]--------------------[/CENTER]

    [LEFT]Ed ora un domanda più seria. Avete capito che questo form calcola l'importo che un cliente deve pagarmi per un servizio. Adesso come faccio a "dire" a paypal o carta di credito di "prendere" il dato calcolato nel form e farlo pagare al cliente? Anche qui faccio l'esempio.[/LEFT]

    [LEFT]Compilazione form > Calcolo importo totale dovuto > Acquista > Si apre paypal o carta di credito con l'importo calcolato nel form già inserito.[/LEFT]

    [LEFT]Sapete dirmi qualcosa o dove posso chiedere per una cosa del genere?[/LEFT]


  • Consiglio Direttivo

    @Kian said:

    Ok il mio form è completo anche grazie al vostro aiuto 😉 sicuramente ho fatto passaggi in più ma ciò che conta è che funziona. Ho riscontrato un solo problema... più che problema un fastidio. Quando clicco "Calcola" (sarebbe Submit) parte il calcolo e vengono mostrati i risultati ma si cancella il form.

    Mi spiego: seleziono 5 mele e calcolo l'importo. Una volta calcolato l'importo le informazioni inserite precedentemente nel form si cancellano. E scomodo perchè non si può ricontrollare quello che si è scelto. Direi questione di cache. Sbaglio? Come faccio a salvare i dati inseriti nel form? Grazie.

    inserisci un controllo nelle varie option che restituisca selected se il dato inserito corrisponde a quello relativo alla option 😉
    EDIT: dimenticavo e assegni value uguale alla quantità inserita che hai trasmesso 😉

    Per paypal.....non so dirti:bho:


  • User Attivo

    Se ho capito bene questo

    <option value="0"></option>
      <option value="Tipo1">Tipo1</option>
      <option value="Tipo2">Tipo2</option>
      <option value="Tipo3">Tipo3</option>
    

    Deve diventare

    <option selected value="0"></option>
      <option selected value="Tipo1">Tipo1</option>
      <option selected value="Tipo2">Tipo2</option>
      <option selected value="Tipo3">Tipo3</option>
    

    Solo che cosi non funziona :S restituisce come risultato sempre "Tipo3".

    Per il fatto di paypall ho trovato il form

    <FORM ACTION="paypal" METHOD="POST">
    <INPUT TYPE="hidden" NAME="cmd" VALUE="_ext-enter">
    <INPUT TYPE="hidden" NAME="redirect_cmd" VALUE="_xclick">
    <INPUT TYPE="hidden" NAME="business" VALUE="[email protected]">
    <INPUT TYPE="hidden" NAME="undefined_quantity" VALUE="1">
    <INPUT TYPE="hidden" NAME="item_name" VALUE="hat">
    <INPUT TYPE="hidden" NAME="item_number" VALUE="123">
    <INPUT TYPE="hidden" NAME="amount" VALUE=" ***COSTO*** ">
    <INPUT TYPE="hidden" NAME="shipping" VALUE="1.00">
    <INPUT TYPE="hidden" NAME="shipping2" VALUE="0.50">
    <INPUT TYPE="hidden" NAME="currency_code" VALUE="USD">
    <INPUT TYPE="hidden" NAME="first_name" VALUE="John">
    <INPUT TYPE="hidden" NAME="last_name" VALUE="Doe">
    <INPUT TYPE="hidden" NAME="address1" VALUE="9 Elm Street">
    <INPUT TYPE="hidden" NAME="address2" VALUE="Apt 5">
    <INPUT TYPE="hidden" NAME="city" VALUE="Berwyn">
    <INPUT TYPE="hidden" NAME="state" VALUE="PA">
    <INPUT TYPE="hidden" NAME="zip" VALUE="19312">
    <INPUT TYPE="hidden" NAME="lc" VALUE="US">
    <INPUT TYPE="hidden" NAME="email" VALUE="[email protected]">
    <INPUT TYPE="hidden" NAME="night_phone_a" VALUE="610">
    <INPUT TYPE="hidden" NAME="night_phone_b" VALUE="555">
    <INPUT TYPE="hidden" NAME="night_phone_c" VALUE="1234">
    <INPUT TYPE="image" SRC="paypal logo" BORDER="0" NAME="submit" ALT=Make payments with PayPal - it's fast, free and secure!>
    </FORM>
    

    Al posto di COSTO devo inserirci il risultato del famoso form che calcola il prezzo. Per dirla brutta e facile dovrebbe essere

    <INPUT TYPE="hidden" NAME="amount" VALUE=" <? echo $totale ?> ">
    

    Ma non funziona :surprised: come faccio a richiamare li dentro la mia variabile?

    Grazie ancora, scusate se rompo :dull: ma quando non ci posso arrivare nè di mio nè con guide siete la mia ultima speranza :arrabbiato:


  • Consiglio Direttivo

    No, il mio discorso era diverso, devi fare in modo che quando invii i dati ti "spunti" il selected solo nella option relativa, ovvero:

    [php]<?
    $tipo=$_POST['articolo'];
    ?>
    <select class="other" name="articolo" id="articolo">
    <option selected value="0" <? if ($tipo==0) { echo "selected"; } ?>></option>
    <option selected value="Tipo1" <? if ($tipo=="Tipo1") { echo "selected"; } ?>>Tipo1</option>
    <option selected value="Tipo2" <? if ($tipo=="Tipo2") { echo "selected"; } ?>>Tipo2</option>
    <option selected value="Tipo3" <? if ($tipo=="Tipo3") { echo "selected"; } ?>>Tipo3</option>
    ........[/php]

    e lo stesso discorso vale per la quantità 😉