Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    3

    Passaggio parametri nella stessa pagina

    Salve a tutti sono nuovo e da poco ho iniziato a studiare php...

    vorrei chiedervi un aiuto per una cosa che non capisco. Io vorrei fare un form abbastanza lungo e suddividerlo in 3 parti e inserire quindi nell'ultima parte un bottone che mi visualizzi tutti i campi inseriti... io ho scritto il seguente codice ma non capisco perchè mi fa visualizzare solo l'ultimo campo... chi mi fa capire dove sbaglio???? Grazie in anticipo

    Codice PHP:
    <?php

    $pagina 
    = (isset($_GET['pagina']) && $_GET['pagina'] != '') ? $_GET['pagina'] : '1';

    switch (
    $pagina) {
        case 
    '1' :
            
    pagina1();
            break;
        case 
    '2' :
            
    pagina2();
            break;
        case 
    '3' :
            
    pagina3();
            break;
        case 
    'update' :
            
    update();
            break;    
    }

    ?>

    <?php
    function pagina1(){
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=2"?>" method="post">
     <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >Nome: <input name="nome" type="text" id="nome" size="30"></td>
       <td align="center">Cognome: <input name="cognome" type="text" id="cognome" size="30"></td>
      <td width="75" align="center"> <input name="pagina2" type="submit" id="pagina2" value="pagina 2"></td>
      </table>
    </form>
    <?php
    }
    ?>


    <?php
    function pagina2(){
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=3"?>" method="post">
      <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >Telefono: <input name="telefono" type="text" id="telefono" size="10"></td>
       <td align="center">Fax: <input name="fax" type="text" id="fax" size="10"></td>
      <td width="75" align="center"> <input name="pagina3" type="submit" id="pagina3" value="pagina 3"></td>
      </table>
    </form>
    <?php
    }
    ?>

    <?php
    function pagina3(){
    $telefono $_POST['telefono'];
    $fax $_POST['fax'];
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=update"?>" method="post">
      <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >email: <input name="email" type="text" id="email" size="10"></td>
     <tr> 
      <td align="right"></td>
      <td align="right"></td>
      <td width="75" align="center">
    <input name="Update" type="submit" id="Update" value="pagina modifica"></td>
     </tr>
    </table>
    <?php
    }
    ?>

    <?php
    function update(){
        
    $nome $_POST['nome'];
        
    $cognome $_POST['cognome'];
        
    $telefono $_POST['telefono'];
        
    $fax $_POST['fax'];
        
    $email $_POST['email'];
        echo 
    $nome;
        echo 
    $cognome;
        echo 
    $telefono;
        echo 
    $fax;
        echo 
    $email;
    }
    ?>
    </form>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    3
    nessuno mi sa aiutare?

  3. #3
    Ogni volta che ricarichi la pagina (visualizzando di volta in volta pagina1(), pagina2()...) perdi i dati passati nelle pagine precedenti.

    Per evitare questo in ogni nuova pagina dei riportare (magari in maniera nascosta, o memorizzandoli in un array di sessione) i dati letti in precedenza.

    Ti spiego con un esempio:
    Codice PHP:

    <?php

    $pagina 
    = (isset($_GET['pagina']) && $_GET['pagina'] != '') ? $_GET['pagina'] : '1';

    switch (
    $pagina) {
        case 
    '1' :
            
    pagina1();
            break;
        case 
    '2' :
            
    pagina2();
            break;
        case 
    '3' :
            
    pagina3();
            break;
        case 
    'update' :
            
    update();
            break;    
    }

    ?>

    <?php
    function pagina1(){
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=2"?>" method="post">
    <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >Nome: <input name="nome" type="text" id="nome" size="30"></td>
       <td align="center">Cognome: <input name="cognome" type="text" id="cognome" size="30"></td>
      <td width="75" align="center"> <input name="pagina2" type="submit" id="pagina2" value="pagina 2"></td>
      </table>
    </form>

    <?php
    }
    ?>


    <?php
    // QUI HAI I DATI PASSATI DA PAGINA1 IN $_POST
    function pagina2(){
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=3"?>" method="post">
      <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >Telefono: <input name="telefono" type="text" id="telefono" size="10"></td>
       <td align="center">Fax: <input name="fax" type="text" id="fax" size="10"></td>
      <td width="75" align="center"> <input name="pagina3" type="submit" id="pagina3" value="pagina 3"></td>
      </table>
    </form>

    <?php
    }
    ?>

    <?php
    // QUI PERDI I DATI PASSATI DA PAGINA1
    // MA HAI I DATI PASSATI DA PAGINA2 IN $_POST
    function pagina3(){
    $telefono $_POST['telefono'];
    $fax $_POST['fax'];
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'] . "?pagina=update"?>" method="post">
      <table width="780" border="0" align="center" cellpadding="5" cellspacing="1">
       <td align="center" >email: <input name="email" type="text" id="email" size="10"></td>
    <tr>
      <td align="right"></td>
      <td align="right"></td>
      <td width="75" align="center">
    <input name="Update" type="submit" id="Update" value="pagina modifica"></td>
    </tr>
    </table>
    </form>

    <?php
    }
    ?>

    <?php
    // QUI PERDI TUTTO TRANNE I DATI PASSATI DA PAGINA3
    function update(){
        
    $nome $_POST['nome'];
        
    $cognome $_POST['cognome'];
        
    $telefono $_POST['telefono'];
        
    $fax $_POST['fax'];
        
    $email $_POST['email'];
        echo 
    $nome;
        echo 
    $cognome;
        echo 
    $telefono;
        echo 
    $fax;
        echo 
    $email;
    }
    ?>
    Ora per memorizzare il tutto dovresti fare:
    Codice PHP:
    session_start();

    $pagina = (isset($_GET['pagina']) && $_GET['pagina'] != '') ? $_GET['pagina'] : '1';

    switch (
    $pagina) {
        case 
    '1' :
            
    pagina1();
            break;
        case 
    '2' :
            
    pagina2();
            break;
        case 
    '3' :
            
    pagina3();
            break;
        case 
    'update' :
            
    update();
            break;    
    }

    function 
    pagina1() {
       echo 
    "
           <form ...>
                ...
           </form>
       "
    }

    function 
    pagina2() {
       
    $_SESSION['nome'] = $_POST['nome'];
       
    $_SESSION['cognome'] = $_POST['cognome'];

       echo 
    "
           <form ...>
                ...
           </form>
       "
    }

    function 
    pagina3() {
       
    $_SESSION['telefono'] = $_POST['telefono'];
       
    $_SESSION['fax'] = $_POST['fax'];

       echo 
    "
           <form ...>
                ...
           </form>
       "
    }

    function 
    update(){
        
    $nome $_SESSION['nome'];
        
    $cognome $_SESSION['cognome'];
        
    $telefono $_SESSION['telefono'];
        
    $fax $_SESSION['fax'];

        
    $email $_POST['email'];

        echo 
    $nome;
        echo 
    $cognome;
        echo 
    $telefono;
        echo 
    $fax;
        echo 
    $email;

    tutto qua...
    Administrator of NAMDesign.Net

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    3
    Ti ringrazio tantissimo...mi hai spiegato tutto alla perfezione.

    tutto chiarissimo

    e grazie per la disponibilità

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.