Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Passare ad una seconda pagina dopo inserimento dei dati!!!!

    Buona sera a tutti,

    stò realizzando in php delle paginette per inserimento di dati in un DB.
    Lo scopo è quello di creare 3 pagine che corrispondono ogniuna ad una tabella.
    Nella prima viene richiesto l'inserimento dei dati anagrafici, al click dell'invio dei dati si dovrebbe passare alla seconda pagina per continuare ad inserire altri tipi di dati (riguardanti sempre la stessa persona inserita inizialmente), così via anche per le altre pagine.
    Quindi le tre tabelle che vengono popolate dalle form devo essere relazionate tra di loro.
    Ora la mia domanda è la seguente...
    Partendo dal presupposto che ho creato già la prima pagina, che al click carica i dati nella prima tabella del DB, come faccio a passare alla seconda pagina per continuare a caricare i dati nella seconda tabella facendo sì che questi nuovi dati siano relazionati ai primi inseriti???

    Sperando di esser stato chiaro, vi saluto e ringrazio per l'aiuto che darete!!!

  2. #2
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Anzichè salvare nel database i dati inviati da ogni singola pagina, potresti utilizzare le sessioni per memorizzarvi i dati inseriti in tutte le pagine. Alla fine della compilazione stampi un riepilogo di ciò che è stato scritto e, se confermato, invii tutti i dati in una sola volta.

  3. #3
    si, penso sia un'ottima soluzione...soltanto che non ho mai fatto una cosa del genere e non saprei da dove iniziare...avresti un esempio con un paio di pagine che fatto quel discorso della sessione che dicevi??? ...tanto per avere una idea...
    Grazie

  4. #4
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    L'utilizzo di una sessione è molto semplice. La prima cosa da fare è inizializzarla con session_start(), di modo da renderla attiva da quel momento in poi. E' importante che questa istruzione sia sempre la prima, cioè si torvi all'inizio della pagina, evitando che ci siano altri caratteri o semplici spazi vuoti prima della chiamata a session_start().

    Codice PHP:
    <?php
    session_start
    ();
    //altre istruzioni...

    ?>
    Successivamente, quando i dati dal form saranno stati inviati, inizierai ad utilizzare tante sessioni per quanti dati saranno stati inviati. Memorizzandoli in questo modo:

    Codice PHP:
    $_SESSION['nome'] = $_POST['nome'];
    $_SESSION['cognome'] = $_POST['cognome'];
    //e così via per tutti i dati interessati... 
    Dal momento in cui la sessione è stata registrata potrai usufruire dei dati in essa contenuti per tutta la sua durata, quindi fra tutte le varie pagine che compongono il modulo per registrare i dati.

    Questa è la base di partenza, per altre informazioni c'è il manuale, indispensabile. Giusto per uno sguardo veloce sull'argomento, un'articolo a caso: sessioni ... tutt'è iniziare a provare, vedrai che non è complicato.

  5. #5
    ok, proverò seguendo le tue istruzioni ed il manuale...
    grazie mille.

  6. #6
    ciao, ho letto le guide sulle sessioni, e teoricamente ho capito a cosa servono e come funzionano...ma praticamente non riesco ad adattarlo alla mia situazione!!! ossia:
    Io ho preparato i campi per l'inserimento dei dati ma non riesco a capire come adattarlo adesso con la sessione!!!

    come posso fare? da dove posso prendere spunto???
    Grazie 1000

  7. #7
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Guarda questo semplice esempio, segui i commenti...



    Prima pagina (pag1.php) Inizio del modulo con alcuni dati da inserire

    Codice PHP:
    <?php
    session_start
    ();

    if(isset(
    $_POST['submit'])) {
      
    //esegui tutti i controlli del caso sui dati inviati e, se tutto è
      //andato a buon fine, registri in sessione i valori interessati.
      
    $_SESSION['nome'] = $_POST['nome'];
      
    $_SESSION['cognome'] = $_POST['cognome'];

      
    //dopo l'elaborazione dati, vai alla pagina successiva.
      
    header('Location: pag2.php');  

    } else {
      
    //se non sono stati inviati i dati stampi il form. (il value dei campi è stato
      //valorizzato la rispettiva sessione per evitare di dover riscrivere
      //di nuovo i dati, nel caso l'utente dovesse tornare indietro
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input tyep="text" name="nome" value="<?php echo isset($_SESSION['nome']) ? $_SESSION['nome'] : ''?>" />
    <input tyep="text" name="cognome" value="<?php echo isset($_SESSION['cognome']) ? $_SESSION['cognome'] : ''?>" />
    <input type="submit" name="submit" value="Esegui" />
    </form>
    <?php
    }
    ?>

    Seconda pagina (pag2.php) Prosieguo de modulo con altri dati da inserire

    Codice PHP:
    <?php
    session_start
    ();

    if(isset(
    $_POST['submit'])) {
      
    //esegui tutti i controlli del caso sui dati inviati e, se tutto è
      //andato a buon fine, registri in sessione i valori interessati.
      
    $_SESSION['occupazione'] = $_POST['occupazione'];
      
    $_SESSION['interessi'] = $_POST['interessi'];

      
    //dopo l'elaborazione dati, vai alla pagina successiva.
      
    header('Location: pag3.php');  

    } else {
      
    //se non sono stati inviati i dati stampi il form. (il value dei campi è stato
      //valorizzato la rispettiva sessione per evitare di dover riscrivere
      //di nuovo i dati, nel caso l'utente dovesse tornare indietro
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input tyep="text" name="occupazione" value="<?php echo isset($_SESSION['occupazione']) ? $_SESSION['occupazione'] : ''?>" />
    <input tyep="text" name="interessi" value="<?php echo isset($_SESSION['interessi']) ? $_SESSION['interessi'] : ''?>" />
    <input type="submit" name="submit" value="Esegui" />
    </form>
    <?php
    }
    ?>

    Terza pagina (pag3.php) Riepilogo dei dati inseriti

    Codice PHP:

    <?php
    session_start
    ();

    if(isset(
    $_SESSION['nome']) && isset($_SESSION['cognome']) && isset($_SESSION['occupazione'])) {
      
    //controlli se le variabili di sessione conteneti i dati
      //sono state definite e in caso positivo stampi il riepilogo
      
    echo "Riepilogo dati - Nome: {$_SESSION['nome']} Cognome: {$_SESSION['cognome']}";
      
    //altri dati... poi esegui la query al database in base alle tue necessità...
    }
    else {
      
    //altrimenti ritorni alla pagina inziale
      
    header('Location: pag1.php');
    }
    ?>
    Questa è solo una delle possibili soluzioni. Ovviamente dovrai aggiungere i dovuti controlli sui dati inviati, durante i vari inserimenti e prima di eseguire la query. Non è un cosa impossibile, basta solo iniziare a fare dei tentativi nella direzione giusta...

  8. #8
    ok...funziona tutto alla perfezione, ho aggiunto le righe di codice per caricare sul DB i dati delle pagine e và tutto bene!!!!
    Ho creato dopo l'invio dei dati una pagina dove c'è un link che riporta nuovamente alla pag1.php per inserire dei nuovi dati...solamente che i campi mi rimangono ancora con i vecchi dati dentro...come posso fare???
    Inoltre (e devo ancora provare) questi dati raccolti nelle 3 pagine devono essere inseriti rispettivamente in tre tabelle differenti....ho pensato di fare 3 query di inserimento una per ogni tabella...ora il mio dubbio è: come faccio a farsì che i dati inseriti nelle tre tabelle siano relazionati tra di loro nel momento in cui faccio una pagina di ricerca per richiamare tutti i dati relativi ad una persona??? Non sò se mi sono spiegato bene...
    Grazie 1000

  9. #9
    Utente di HTML.it L'avatar di neida
    Registrato dal
    Feb 2005
    Messaggi
    1,478
    Originariamente inviato da akhenaton5
    ok...funziona tutto alla perfezione, ho aggiunto le righe di codice per caricare sul DB i dati delle pagine e và tutto bene!!!!
    Ho creato dopo l'invio dei dati una pagina dove c'è un link che riporta nuovamente alla pag1.php per inserire dei nuovi dati...solamente che i campi mi rimangono ancora con i vecchi dati dentro...come posso fare???
    cancella il contenuto del value dei campi del form, cioè quelle righe di codice che richiamano il valore memorizzato in sessione. Quindi avrai una cosa simile: <input tyep="text" name="nome" value="" />

    Originariamente inviato da akhenaton5
    Inoltre (e devo ancora provare) questi dati raccolti nelle 3 pagine devono essere inseriti rispettivamente in tre tabelle differenti....ho pensato di fare 3 query di inserimento una per ogni tabella...ora il mio dubbio è: come faccio a farsì che i dati inseriti nelle tre tabelle siano relazionati tra di loro nel momento in cui faccio una pagina di ricerca per richiamare tutti i dati relativi ad una persona??? Non sò se mi sono spiegato bene...
    Grazie 1000
    La soluzione che hai scelto, query separate, per inserire i dati in tabelle diverse va bene.

    Per l'ultima questione, relazione dei dati, tutto dipende da come hai strutturato il tuo database. Se hai le giuste relazioni fra le varie tabelle/dati, non ci dovrebbero essere problemi...

  10. #10
    il DB l'ho organizzato in questa maniera:

    una tabella anagrafica con i dati dell'utente
    una tabella con ulteriori informazioni dello stesso utente

    ora come faccio a farsì che nel momento in cui richamo quel soggetto mi debba far visualizzare i relativi dati delle due tabelle??? Quale campo univoco devo mettere in relazione per caso l'id che si autoincrementa ad ogni inserimento???

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.