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

    Integrazione php - html

    Buongiorno a tutti,
    anche oggi sono qui a sottoporvi un piccolo problema...

    In questi giorni ho creato un piccolo form in html+css dove l'utente può compilare svariati campi...
    I valori inseriti vengono estrapolati e rimaneggiati da un file php che li utilizza per fare una serie di calcoli dai quali ottiene l'importo totale da pagare. Alla fine del php ho impostato un bottone "Paga ora" di paypal al quale viene passata la variabile $totale e inizia la procedura di pagamento...

    Il tutto sembra funzionare correttamente ed ora, vorrei fare implementarlo ulteriormente!
    In particolare vorrei fare in modo che al completamento del form l'utente non fosse reindirizzato sulla pagina php
    ma vorrei inserire un riepilogo nella stessa pagina htlm...
    Mi piacerebbe avere la pagina impostata su 2 colonne... a sinistra il form da completare e a destra il riepilogo dell'importo con il pulsante "paga ora".

    Come posso ottenere un risultato simile facendo si che al completamento del form venga caricata solo la colonna destra del riepilogo?
    come posso importare le variabili del php della pagina html?

    Spero di essere stato sufficientemente esplicativo... se la discussione si anima poi posto il codice per entrare meglio nei particolari.

    Grazie
    M

  2. #2
    provo a semplificare il quesito...

    come posso creare un file index contenitore di due colonne all'interno del quale posso includere
    nella colonna sinistra il mio form.html e nella colonna destra il mio riepilogo ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    ma il riepilogo si deve aggiornare dopo l'invio del form? se sì allora basta che la pagina richiami se stessa renderizzando il riepilogo con le variabili del form ($_POST probabilmente), se no - se cioè il riepilogo deve aggiornarsi DURANTE le modifiche del form - è un problema più javascript (diretto o AJAX)

  4. #4
    ti allego il codice

    index.html
    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <
    html>
    <
    head>
    <
    link rel="stylesheet" type="text/css" href="css/layout.css">
    <
    title>Prova Form</title>
    </
    head>
    <
    body>
        <
    h1>...</h1>
        


        <
    form name="form" method="post" action="functions/conto.php">


        <
    fieldset>
        <
    legend>Informazioni personali </legend>

        <
    div>
                <
    label for="user">Nome [b]*[/b]</label>
                <
    input id="user" name="user">
            </
    div>
            <
    div>
                <
    label for="address">Email [b]*[/b]</label>
                <
    input id="address" name="address">
            </
    div>
        <
    div>
            <
    label for="nazione">Nazionalità [b]*[/b]</label>
            <
    select size="1" name="nazione" >
                <
    option selected value="1, Italia">Italia</option>
                <
    option value="0, Estero">Estero</option>
            </
    select
            </
    div>
            <
    div>
                <
    label for="city">Città [b]*[/b]</label>
                <
    input id="city" name="city">
            </
    div>
            <
    div>
             <
    label for="professione">Professione [b]*[/b]</label>                        

            <
    select size="1" name="professione" >
                <
    option selected value="0.04, Azienda, 0">Azienda</option>
                <
    option value="0, Ingegnere, 0">Ingegnere</option>
                <
    option value="0, Architetto, 0">Architetto</option>
                <
    option value="0.04, Studente, 1">Studente</option>
                <
    option value="0.04, Privato, 1">Privato</option>
            </
    select>
            </
    div>


        <
    legend2>Quantità</legend2>
            <
    div>
             <
    label for="licenze">N°Licenze [b]*[/b]</label>                            

                <
    select size="1" name="licenze">
                <
    option selected>1</option>
                <
    option2</option>
                <
    option3</option>
                <
    option4</option>
                <
    option5</option>
                <
    option6</option>
                <
    option7</option>
                <
    option8</option>
                 <
    option9</option>
                 <
    option10</option>
            </
    select>
            </
    div>

            <
    div>
        <
    input type="submit" id="go" value="Conferma" />
        

    I campi contrassegnati con [b]*[/bsono obbligatori</p>
            </
    div>

    </
    form>
    </
    body
    conto.php

    Codice PHP:
    <?php

    list($value$professione$riten) = explode(', '$_POST['professione']);        // formato (%cnpaia; professione; 0
    list($tax$nazione) = explode(', '$_POST['nazione']);
    $n $_POST['licenze'];

    $a 0.21;                    // Imposta valore dell'IVA
    $b 0.20;                    // Imposta valore della ritenuta
    $prezzo1 350;                    // Imposta prezzo base licenza
    $prezzo2 250;                    // Imposta prezzo scontato
    $nsconto 5;                    // imposta numero min licenze per prezzo scontato

        
    if ($n >= $nsconto)
              {
    $prezzo $prezzo2;
        }else{ 
            
    $prezzo $prezzo1;}

    $x        $prezzo $n;            // calcolo del prezzo

        
    if ($tax == 0)
              {
    $valuex 0.04;
        }else{ 
            
    $valuex $value;}

    $cnpaia     $x $valuex;            // calcolo del contributo CNPAIA

        
    if ($tax == 0)
              {
    $ivax 0$ritenutax 0;
        }elseif (
    $riten == 1)
            {
    $ivax $a$ritenutax 0
        }else     {
    $ivax $a$ritenutax $b;
            }

    $iva         = ($x$cnpaia) * $ivax;

    $ritenuta     $x $ritenutax;

    $totale     $x $cnpaia $iva $ritenuta ;

    echo 
    "Nazionalità: = $nazione 
    "
    ;
    echo 
    "Professione: = $professione 
    "
    ;
    echo 
    "Quantità: = $n 
    "
    ;
    echo 
    "Prezzo: = $x Euro

    "


    echo 
    "CNPAIA: = $cnpaia Euro
    "
    ;
    echo 
    "IVA: = $iva Euro
    "
    ;
    echo 
    "Ritenuta: = $ritenuta Euro
    "
    ;
    echo 
    "TOTALE: = $totale Euro

    "
    ;

    ?> 

    <form action="https://www.paypal.com/it/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="mydangerousmind84@hotmail.com">
    <input type="hidden" name="item_name" value="Nome dell'oggetto">
    <input type="hidden" name="currency_code" value="EUR">
    <input type="hidden" name="amount" value="<?php echo $totale?>">
    <input type="image" src="https://www.paypalobjects.com/it_IT/IT/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - Il sistema di pagamento online più facile e sicuro!">
    </form>
    A me basterebbe che il riepilogo si aggiorni dopo l'invio del form, non in maniera dinamica...
    credo che sia anche il metodo più semplice...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    scusa, ma forse non ho capito.... cos'è che non ti funziona? cioè... index.php ha un form che al submit richiama conto.php in cui si leggono i dati passati: per caso non li legge?

  6. #6
    no no... legge tutto perfettamente!

    il problema è che non voglio che l'utente venga redirectato alla pagina conto.php..
    vorrei che completando il form si creasse un riepilogo (con le informazioni prese da php) sulla colonna destra della pagina index.html

    praticamente vorrei che si ricaricasse solo la colonna del riepilogo e non tutto il sito...

  7. #7
    allora devi farlo in AJAX. Altrimenti devi per forza passare da conto.php.
    Volendo puoi integrare conto.php nella stessa pagina del form, ma anche in questo caso ricaricherebbe tutto e in più ti trovi anche un codice molto più sporco.

    Quello che vuoi fare tu devi farlo in AJAX. Possibilmente utilizzando la libreria jQuery che ti rende tutto più semplice.

  8. #8
    cavolo... detto cosi sembra complicato
    ma il file "contenitore" con le 2 colonne è da fare in html ?

  9. #9
    EDIT: mi sono confuso con un altro topic e mi sto pure perdendo.

    Che sarebbe questo file contenitore?

    Tu hai bisogno di un file con due colonne.
    Una con il form e una momentaneamente vuota.

    Al submit del form, viene avviato uno script in jQuery che richiama la funzione $.ajax().
    Questa funzione si occupa di inviare il form a conto.php e darti il risultato di conto.php nella seconda colonna del tuo file, in tempo reale e senza aggiornare la pagina.

    Non è difficile, fidati.

  10. #10
    Stavo meditando su quanto mi hai scritto...

    Il form comincia a prendere forma e sono arrivato al punto di dover implementare jquery e ajax (ancora non so come...). A questo indirizzo si può vedere come ho impostato il form:
    http://www.matteomosconi.com/timber/

    La mia idea sarebbe quella di completare il riepilogo (colonna DX) mentre l'utente inserisce i dati nel form (colonna SX) quindi pensavo di eliminare il il submint (tasto conferma)...
    Come posso fare ???

    Grazie

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.