Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52

    Come si attribuisce ad una variabile un valore da tastiera?

    Da premettere che ho studiato l'HTML, CSS, VBSCRIPT,JAVASCRIPT e l'SQL ora mi sto cimentando nel PHP.

    Sono alle prime armi e ho riscontrato questo problema, lavoro con altervista. Da qullo che ho potuto capire è che bisogna lavorare su 2 file il primo è quello html e il secondo è il php. Ammettiamo che avessi questa pagina html:
    codice:
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form name=modulo>
    <table align=center>
        <tr>
            <td align="center">Primo numero</td>
            <td><input type=text name=Primo></td>
        </tr>
        <tr>
            <td align="center">Secondo numero</td>
            <td><input type=text name=Secondo></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
            <p align="center"><input type=button value="Esegui somma"> <input type=reset value=Cancella></td>
        </tr>
        <tr>
            <td align="center">Somma</td>
            <td><input type=text name=Somma></td>
        </tr>
    </table>
    </form>
    </body>
    </html>
    -Non so è se mettere un input di tipo button o submit.
    - è ovvio che c'è qualche parte mancante al <form...>.
    -Vorrei sapere come fare il collegamento delle variabili in php e la relativa comunicazione.
    - il tasto reset è indipendente dal php?

    (è ovvio che un pagina del genere è inutile ma mi serve per esercitarmi)
    Grazie in anticipo

  2. #2
    Premesso che non sono un veterano del php , quindi la mia risposta potrebbe essere banale e troppo scontata.
    Detto questo , nel php si utilizzano i metodi GET e POST , che restituiscono il valore inserito nella pagina precedente dall' utente.
    Ipotizziamo di utilizzare il metodo GET: nel "<form>" devi inserire questo:

    <form action="PAGINA_2.php" method="GET" >
    E all' interno del form , un button di tipo submit (puoi usare anche un button normale che indirizza alla pagina successiva) :

    <button type="submit" name="nome_button" value="value_button" >
    Ora i valori vengono mandati nella seconda pagina e dovrai prelevarli in questo modo (attribuendoli ad una variabile) :

    (pagina_2.php):
    $primatxt = $_GET['nome_prima_textbox'];
    $secondatxt = $_GET['nome_seconda_textbox'];
    $terzatxt= $_GET['nome_seconda_textbox'];

    echo "il primo valore inserito e' $primatxt";
    echo "il secondo valore inserito e' $secondatxt";
    echo "il terzo valore inserito e' $terzatxt";

    Ovviamente , nel caso volessi trasportare i valori delle textbox in un eventuale terza pagina , dovrai usare le sessioni (niente di complesso).

    L' ultima domanda non mi e' tanto chiara , ma se ho capito bene , il tasto reset non va a toccare il php , ma esegue una semplice pulizia dei valori inseriti.
    Ultima modifica di alfredom15; 06-05-2014 a 14:26

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52
    ora ho 2 file il file il primo:
    prova.html
    codice:
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form action="Provare.php" method="GET" >
    <table align=center>
        <tr>
            <td align="center">Primo numero</td>
            <td><input type=text name=Primo></td>
        </tr>
        <tr>
            <td align="center">Secondo numero</td>
            <td><input type=text name=Secondo></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
            <p align="center">
                <!---<input type=button value="Esegui somma">-->
                <input type="submit" name="nome_button" value="value_button">
                <input type=reset value=Cancella></td>
        </tr>
        <tr>
            <td align="center">Somma</td>
            <td><input type=text name=Somma></td>
        </tr>
    </table>
    </form>
    </body>
    </html>
    e il secondo:
    provare.php
    codice:
    <?php
    $primo = $_GET['Primo'];
    $secondo = $_GET['Secondo'];
    $somma=$primo+$secondo;
    
    
    echo "La somma è: $somma";
    
    
    ?>
    quando lo provo mi esce:
    "La pagina http://******.altervista.org/Provare..._button&Somma= non è presente."

    cosa devo fare?

    non si potrebbe avare il risultato nella stessa pagina?
    mi spiego in javascript avrei avuto questo tipo script:
    codice:
    <script language=Javascript>
    function somma()
    var a,b;
    {
      a=parseFloat(document.all.Primo.value);
      b=parseFloat(document.all.Secondo.value);
      document.all.Somma.value=parseFloat(a + b);
    }
    </script>
    preferirei inserire il risultato nell'apposita textbox

  4. #4
    Si si , può ma siccome mi hai parlato di seconda pagina , pensavo intedessi avere un risultato nella seconda.
    Per avere il risultato nella prima pagina bisogna usare l' isset. Ovviamente dovrai scrivere due volte il codice html (nel caso ci sia l' isset o meno) , personalmente non conosco metodo più semplice.
    Ti spiego meglio :

    Prima pagina (non c'è bisogno di una seconda) :

    codice:
    <?php
    
    if(isset($_GET['submit'])){
    
    
    @$primo = $_GET['Primo'];
    @$secondo = $_GET['Secondo'];
    @$somma = $primo+$secondo;
    
    
    echo '<html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form method="GET" >
    <table align=center>
        <tr>
            <td align="center">Primo numero</td>
            <td><input type=text name=Primo></td>
        </tr>
        <tr>
            <td align="center">Secondo numero</td>
            <td><input type=text name=Secondo></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
            <p align="center">
                <!---<input type=button value="Esegui somma">-->
                <input type="submit" name="submit" value="Fai la somma">
                <input type=reset value=Cancella></td>
        </tr>
        <tr>
            <td align="center">Somma</td>
            <td><input color="red" type="text" name="text" value="'.$somma.'"></td>
        </tr>
    </table>
    </form>
    </body>
    </html>';
    }
    
    
    else
    
    
    {
    
    
    echo '<html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form method="GET" >
    <table align=center>
        <tr>
            <td align="center">Primo numero</td>
            <td><input type=text name=Primo></td>
        </tr>
        <tr>
            <td align="center">Secondo numero</td>
            <td><input type=text name=Secondo></td>
        </tr>
        <tr>
            <td colspan="2" align="center">
            <p align="center">
                <!---<input type=button value="Esegui somma">-->
                <input type="submit" name="submit" value="Fai la somma">
                <input type=reset value=Cancella></td>
        </tr>
        <tr>
            <td align="center">Somma</td>
            <td><input type=text name="SOMMA"  value=""></td>
        </tr>
    </table>
    </form>
    </body>
    </html>';
    }
    
    
    ?>
    Fammi sapere.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52
    Grazie mille era proprio quello che cercavo però se avessi voluto farlo su 2 pagine come avevi capito prima tu mi dava l'errore, come mai?

  6. #6
    Per farlo in due pagine si può però se lo vuoi all' interno della textbox e' inutile utilizzare la seconda pagina .
    Se vuoi LO STESSO risultato del codice di prima però in due pagine diverso si fa così :

    Prima pagina (1.html)


    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form method="GET" action="1.php">
    <table align=center>
    <tr>
    <td align="center">Primo numero</td>
    <td><input type=text name=Primo></td>
    </tr>
    <tr>
    <td align="center">Secondo numero</td>
    <td><input type=text name=Secondo></td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <p align="center">
    <!---<input type=button value="Esegui somma">-->
    <input type="submit" name="submit" value="Fai la somma">
    <input type=reset value=Cancella></td>
    </tr>
    <tr>
    <td align="center">Somma</td>
    <td><input type=text name="SOMMA" value=""></td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    Seconda Pagina (1.php)

    <?php


    @$primo = $_GET['Primo'];
    @$secondo = $_GET['Secondo'];
    @$somma = $primo+$secondo;




    echo '<html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Somma</title>
    </head>
    <body>
    <form method="GET" >
    <table align=center>
    <tr>
    <td align="center">Primo numero</td>
    <td><input type=text name=Primo></td>
    </tr>
    <tr>
    <td align="center">Secondo numero</td>
    <td><input type=text name=Secondo></td>
    </tr>
    <tr>
    <td colspan="2" align="center">
    <p align="center">
    <!---<input type=button value="Esegui somma">-->
    <input type="submit" name="submit" value="Fai la somma">
    <input type=reset value=Cancella></td>
    </tr>
    <tr>
    <td align="center">Somma</td>
    <td><input color="red" type="text" name="text" value="'.$somma.'"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>';




    ?>
    Ma alla fine il risultato e' lo stesso, in caso avessi dovuto capire male , spiegami ...

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2014
    Messaggi
    52
    si grazie mille

Tag per questa discussione

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.