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

    una sola pagina per inserimento dati

    Ciao ragazzi,

    questo è il mo secondo post di aiuto !

    questa volta sono alle prese con un processo di inserimento di dati articolato da più form in cui ogni form rappresenta una fase ed ogni fase verifica la precedente attraverso la verifica di inserimento di una keyword. Inserisco la prima e le seconda, ma dalla terza in poi comincio ad avere problemi. Sicuramente il problema è di struttura logica degli if.
    :master:
    L'alternativa sarebbe creare tante pagine per ogni fase di inserimento ma così non potrei sfruttare la potenza di php.
    Qualcuno mi sa aiutare?

    Questo è il codice che ho creato:


    <?php
    if(empty($_GET['keyword2'])) {
    if(empty($_POST['invia'])){
    ?>
    Inserisci la keyword2
    <form action="<?php $_SERVER['PHP_SELF'] ?>?keyword=invia" method="post">
    <input type="text" name="keyword2" value="inserisci">
    <input type="submit" name="invia" value="spedisci">
    </form>
    <?php
    } else {
    echo $_GET['keyword2'] . "
    ";
    if($_POST['keyword2'] == "inserisci") {
    echo "Non hai inserito la keyword2";
    ?>
    <form action="<?php $_SERVER['PHP_SELF'] ?>?keyword=invia" method="post">
    <input type="text" name="keyword2" value="inserisci">
    <input type="submit" name="invia" value="spedisci">
    </form>
    <?php
    } else {
    echo $_GET['keyword2'] . "
    ";
    echo "la keyword2 inserita &eacute; " . $_POST['keyword2'];
    echo "
    ora fissa la keyword3
    ";
    ?>
    <form action="<?php $_SERVER['PHP_SELF'] ?>?keyword=invia&keyword2=<?php echo $_GET['keyword2'] ?>" method="post">
    <input type="text" name="keyword3" value="inserisci">
    <input type="hidden" name="keyword2" value="<?php echo $_GET['keyword2'] ?>" />
    <input type="submit" name="invia" value="spedisci">
    </form>
    <?php
    echo $_GET['keyword2'] . " " . $_GET['keyword3'];
    // non fissa la keyword2, perchè?
    }
    }
    }
    ?>
    Dindya

  2. #2
    Il tuo codice é un po' confuso.

    ad esempio, alla fine passi keyword2 come get nell'action e come hidden nel form (?)

    Mancano numerosi controlli.

    Ad esempio se io inserisco la prima keyword, mentre la seconda premo invia direttamente, mi da l'errore però perde il valore della prima.


    Fare uno step per pagina non toglie nulla alla potenza di php e non é una vergogna, soprattuto se si é all'inizio.
    Prova a farlo su più pagine, e prova tutte le possibilità, tutti gli errori che un utente potrebbe fare.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    P.S

    Se il codice fosse identato e magari messo negli appositi tag sarebbe più facile per chi legge.
    Siccome sono i tuoi primi post, meglio perndere buone abitudini.


    Codice PHP:

    if($numb)
    {
        if(isset(
    $_POST['name'];
        {
            
    $x 1;
        }
        else
        {
            
    $x 3;
        }
    }
    else
    {
        
    $x FALSE;

    Così é più leggibile
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  4. #4

    re:

    Grazie per i tuoi consigli di "postaggio", ne farò tesoro.

    Attualmente il sto usando una pagina per ogni fase ma alla fine mi ritrovo con un sacco si pagine che fanno praticamente la stessa cosa. Per questo volevo usare una sola pagina per ogni operazione. Se ad esempio devo inserire un cliente nel db, mi piacerebbe poterlo fare con un solo file php: inserimento dati>>verifica>>query>>messaggio di conferma. Per questo ho pensato ad un codice simile a quello postato.

    In definitiva cosa devo tenere in consideraizone per fare un codice del genere?

    Andrea
    Dindya

  5. #5
    Di diverse cose:

    - come sapere a che "step" ci si trova
    - come portare correttamente tutti i valori alla fine
    - cosa succede se l'utente preme il bottone "torna indietro" del browser?
    - cosa succede se aggiorna la pagina? Soprattutto cosa succede se aggiorna la pagina al momento dell'inserimento dei dati? I dati vengono dupilcati nel db?

    E naturalmente devi tenere conto di tutti i controlli del caso
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  6. #6
    se la cosa dovesse cominciare a diventare complicata, con molti dati da passare e molti step, prenderei in considerazione l'utilizzo delle sessioni.
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

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.