Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Gestione Campi Form

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    45

    Gestione Campi Form

    Ho un problema con una pagina web fatta in php, non sono un esperto quindi mi sono arrabattato nella sua creazione.

    all'interno della pagina, ho un form con dei campi di input e un campo hidden, che ha la funzione di contenere un codice per potert, ogni qualvolta in form viene sottomesso, di gestire la chiamata alla funzione php che in base alla situazione effettua un inserimento su una tabella o su un'altra...

    Il mio problema è il seguente : ogni qual volta faccio una insert, e subito dopo faccio il refresh della pagina tramite il comando del browser, effettua nuovamente l'inserimento degli stessi dati sulla tabella.

    Ho pensato che ogni qualvolta finisce di caricare una pagina, di impostare a blanc il campi hidden , in modo che effettuando un refresh della pagina, tale campo sia vuoto e quindi non vengano eseguite le particolari funzioni php prima effettuate... Suggerimenti?

    Posto qui di seguito un sunto del sito in modo che vi possa essere utile :



    //------------------------------------------------------------------------------
    // inserimento nuovo commento
    //------------------------------------------------------------------------------

    function DB_Insert_Commento() {

    $host='localhost';
    $user='';
    $pass='';
    $database='portale';

    $conn = mysql_connect($host,$user,$pass) or die ("Impossibile connettersi al server " . mysql_error());
    mysql_select_db($database, $conn) or die ("Impossibile connettersi al database " . mysql_error());
    $query = "INSERT INTO commenti (ID_News,User,Data,Testo) VALUES ('".$_GET['K']."','Io','".date('Y.m.d')."','".$_POST['I_Commento']."')";
    $risultato_query = mysql_query($query, $conn) or die("Errore nella query: " . mysql_error());
    mysql_close($conn);
    $_POST['I_Funzione']=' ';
    }

    file : Index.php

    <!--------------------------------------------------------------------------------------------------------------------------
    Versione del portale 0.2
    --------------------------------------------------------------------------------------------------------------------------->


    <?php
    include ('Stile.css');
    include ('Funzioni_DB.php');

    if (trim($_POST['I_Funzione'])=='C') {
    DB_Insert_Commento();
    }
    ?>

    <script language="javascript" src="Funzioni.js"></script>

    <html>
    <head>
    <title>Portale Anime & Manga - 0.1</title>
    </head>
    <body onload="dCarica('M');">

    <form name='frm' method='post' action ='Index.php'>
    <input type='hidden' name='I_Funzione' value=' '>

    <table width=80% height=80% cellpadding=1 cellspacing=1 align=center >
    ...........
    </table>
    </form>
    </body>
    </html>



    Suggerimenti? io non conoscendo bene php ho fatto in modo che il form sottometta sempre la pagina primcipale (index.php) e all'inizio di questa come prima cosa se è stata richiesta una funzione venga eseguita... piuttosto se possibile modifica tale gestione...

  2. #2
    Succede così perchè effettui il refresh di una richiesta http contenente dei postdata. E' normale che sia così.
    Puoi risolvere tutto con un redirect subito dopo l'inserimento. In questo modo poi puoi fare tutti i refresh che vuoi
    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    45
    Una redirect?... scusami ma da neofita non saprei come farla...

  4. #4
    codice:
    if (trim($_POST['I_Funzione'])=='C') {
      DB_Insert_Commento();
      header("Location: Index.php");
    }
    In questo modo il browser invia i postdata e poi effettua un nuovo GET senza postadata per seguire il redirect. Alla fine ti ritrovi nella stessa condizione ma se fai il refresh (cioè ripeti l'ultimo get) non invii di nuovo i postdata

    Lungo le due rive del fiume gelato si stendeva la cupa e tetra foresta di abeti, dai quali il vento aveva appena spazzato il manto di brina. Nella luce crepuscolare quegli abeti neri e sinistri sembravano inclinarsi l'uno verso l'altro. Un silenzio minaccioso incombeva sul paesaggio, privo di qualsiasi segno di vita o di movimento, e desolato e freddo al punto da non poter ispirare che un solo sentimento: quello della più triste malinconia. E nello stesso tempo pareva che da quel paesaggio trapelasse una specie di riso, un riso ben più spaventoso di qualsiasi malinconia o tristezza, un riso tragico, come quello di una sfinge, un riso agghiacciante più della brina e che rammendava l'incombere minaccioso dell'ineluttabile. Era la saggezza potente e impenetrabile dell'eternità che irrideva alla vita, alla sua futilità e agli sforzi degli uomini.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    45
    Cavoli, non conoscevo quel comando. Grazie molte, stasera lo provo

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.