Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    31

    problema con il refresh/aggiornamento della pagina

    salve a tutti.ho un problema che forse è possibile risolvere con un'inezia..in pratica dovrei inserire all'interno di un form nome,scegliere mediante select il tipo e poi inserire quantità e prezzo unitario.quindi con il tasto submit, inserire tale all'interno del database e poi visualizzare all'utente ciò che c'è all'interno del database in una tabella sottostante il form..fin qui tutto bene e nessun problema.inserisce e visualizza e cancella anche senza problema.ora in pratica volevo che se l'utente facesse f5 non si aggiungesse nuovamente un altro record vuoto all'interno della tabella..ciò ho cercato di risolvere mediante il codice if(isset($_REQUEST['mode'])){
    if ($_REQUEST['mode']==1){
    che ho postato qui sotto.ma al momento della verità mi da un errore..dove sbaglio? è corretto l'uso del mio codice o devo cercare altre vie?
    un grazie a chi mi risponda



    <?php

    //richiamo il file di configurazione
    include './pagina_delle_gestioni.php';
    //richiamo il link per applicare il css alla pagina in corso
    $CSS = '<link rel="stylesheet" type="text/css" href="./CSS/foglio.css">';

    get_header('Aggiungi Componente','',$CSS,''); //contenuta in libs.php, stampa il nome nell'header di ogni pagina in automatico
    get_menu(); //contenuta in libs.php, stampa il menù, sulla base dei permessi, diverso ad ogni utenza
    auth_block(); //contenuta in libs, serve a caricare il blocco di autenticazione utile per loggare l'utente


    if(isset($_POST['nome'])) {
    if(isset($_REQUEST['mode'])){
    if ($_REQUEST['mode']==1){

    inserisci_record();
    }
    function inserisci_record()
    {
    $nome= trim($_POST['nome']); // recupero il campo di tipo stringa
    $tipo= trim($_POST['tipo']); // recupero il campo di tipo stringa
    $foto= trim($_POST['foto']); // recupero il campo di tipo stringa
    $quantità= trim($_POST['quantità']); // recupero il campo di tipo stringa
    $prezzo_unitario= trim($_POST['prezzo_unitario']); // recupero il campo di tipo stringa

    $db_connection = mysql_connect(DB_HOST, DB_USR, DB_PWD);
    mysql_select_db(DB_NAME, $db_connection);
    //preparo la query
    $db_query = "INSERT INTO componente (nome, tipo, quantità, prezzo_unitario, foto) VALUES ('$nome','$tipo','$quantità','$prezzo_unitario','$ foto')";
    //invio la query e controllo l'esito
    mysql_query($db_query) or die ("Query non valida: ". mysql_error());
    //chiudo la query
    mysql_close();
    }
    }
    }




    if(isset($_GET['op']) == "cancella"){
    cancella_record();
    }

    function cancella_record ()
    {
    $db_connection = mysql_connect(DB_HOST, DB_USR, DB_PWD);
    mysql_select_db(DB_NAME, $db_connection);
    $db_query = "DELETE FROM componente WHERE cod_componente =".$_GET['cod_componente'];
    mysql_query($db_query) or die ("Query1 non valida: ". mysql_error());
    mysql_close();

    }
    echo '<div class="corpo_pezzi">';
    echo " <form name=\"inserimento_pezzo\" method=\"post\" action=\"aggiungi_pezzo.php?mode=1\">
    <table border =\"1\">
    <tr>
    <td class=\"td_form\">NOME: <input type=\"text\" name=\"nome\"/></td>
    <td class=\"td_form\">TIPO: <select name=\"tipo\">
    <option value=\"seleziona\">seleziona</option>
    <option value=\"lente\">lente</option>
    <option value=\"nasello\">nasello</option>
    <option value=\"montatura\">montatura</option>
    <option value=\"stanghetta\">stanghetta</option>
    </select></td>
    </tr>
    <tr>
    <td colspan=\"2\" class=\"td_form\">INSERIRE FOTO: <input type=\"file\" name=\"foto\"/></td>
    </tr>
    <tr>
    <td class=\"td_form\">QUANTITA': <input type=\"text\" name=\"quantità\" /></td>
    <td class=\"td_form\">PREZZO UNITARIO: <input type=\"text\" name=\"prezzo_unitario\" /></td>

    </tr>
    <tr>
    <td class=\"td_form\"><input type=\"submit\" name=\"inserisci\" value =\"inserisci\"/></td>
    <td class=\"td_form\"><input type=\"reset\" name=\"annulla\" value =\"annulla\"/></td>
    </tr>

    </table>
    </form>";
    echo'
    ';
    echo'
    ';

    echo '<table class="tabella_componenti">';
    echo'<caption>TABELLA COMPONENTI</caption>';

    $db_connection = mysql_connect(DB_HOST, DB_USR, DB_PWD);
    mysql_select_db(DB_NAME, $db_connection);
    $db_query = "SELECT `cod_componente`,`nome`,`tipo`,`quantità`,`prezzo_ unitario`,`foto` FROM `componente` ORDER BY `cod_componente` ASC";
    $recordcomponenti = mysql_query($db_query)
    or die ("Query2 non valida: ". mysql_error());


    $row1 = "<tr class=\"trtabella_componenti\">
    <th class=\"thtabella_componenti\">Codice</th>
    <th class=\"thtabella_componenti\">Nome</th>
    <th class=\"thtabella_componenti\">Tipo</th>
    <th class=\"thtabella_componenti\">Quantità</th>
    <th class=\"thtabella_componenti\">Prezzo unitario</th>
    <th class=\"thtabella_componenti\">Foto</th>
    </th></tr>";
    echo $row1;
    while($pezzo = mysql_fetch_array($recordcomponenti, MYSQL_ASSOC)) {
    $row2 = "<tr class=\"trtabella_componenti\">\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['cod_componente']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['nome']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['tipo']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['quantità']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['prezzo_unitario']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">".$pezzo['foto']."</td>\n";
    $row2 .= "\t<td class=\"tdtabella_componenti\">\n";
    $row2 .= "Cancella</td>\n";
    echo $row2;
    }
    mysql_free_result($recordcomponenti);
    mysql_close();

    echo '</table>';
    echo '</div>';


    ?>[B][PHP]

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    31
    risolto amici....
    al posto di quella manfrina, ho aggiunto prima della chiusura della prima query il codice [PHP]$messaggio = urlencode("Inserimento effettuato con successo ");
    header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
    quindi ora se faccio f5, oppure aggiorno solamente la pagina, non mi aggiunge un ulteriore record nella tabella sql...
    se avete ulteriori suggerimenti per risolvere più facilmente questo problema,accetto tutti i consigli..grazie a tutti

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.