• User Newbie

    evitare primo inserimento da browser

    salve a tutti.
    sto cercando di prendere confidenza con php e mysql.

    questo è il codice della pagina con cui vorrei inserire record sul mio db:

    <html>
    <head>

    <?php
    include("config.php");

    if($inviato)
    {
    $db = mysql_connect($db_host, $db_user, $db_password);

    /controlli/
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");

    mysql_select_db($db_name,$db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $sql="INSERT INTO chiamate (id_chiamata,id_cliente,problema,stato,d_creazione,d_primo_int,d_sec_int,d_scadenza) VALUES
    

    ('$_POST[id_ch]','$_POST[id_cli]','$_POST[prob]','$_POST[sta]','$_POST[d_cre]','$_POST[d_pri]','$_POST[d_sec]','$_POST[d_sca]')";

    if (!mysql_query($sql,$db))
    {
    die('Error: ' . mysql_error());
    }
    echo "1 record added";

    mysql_close($db);
    }
    ?>

    </head>

    <body>

    Immettere un record completo e inviare il form<p>
    <form action="inserimento2.php" method="post">
    <input name="id_ch">Codice chiamata<p>
    <input name="id_cli">Codice cliente<p>
    <input name="prob">Problema<p>

    <select name="sta" id="sta">
    <option value="apt">Aperta</option>
    <option value="chi">chiusa</option>
    </select>Stato chiamata<p>

    <input name="d_cre" value="aaaa-mm-gg">Data creazione<p>

    <input name="d_pri" value="aaaa-mm-gg">Data primo intervento<p>
    <input name="d_sec" value="aaaa-mm-gg">Data secondo intervento<p>
    <input name="d_sca" value="aaaa-mm-gg">Data scadenza<p>
    <input type="submit" name="inviato">

    <input type="reset">

    </body>
    </html>

    quello che mi da problemi è il controllo a monte della variabile "inviato" che dovrebbe evitare al browser di inserire un record vuoto la prima volta che si carica la pagina.Secondo il libro che sto usando,il pulsante di invio con l'attributo "name" dovrebbe creare solo dopo la prima visualizzazione la variabile "inviato",in modo da evitare che la prima volta si esegua l'inserimento.ma così nn è,poichè nn entra mai nell'if.potreste indicarmi dove sbaglio o un altro modo per risolvere sto problemino?così vado avanti sennò mi blocco.❌x❌x

    grazie mille.


  • Bannato User Attivo

    if(isset($_GET['inviato']))

    le variabile passate dal form le trovi nell'array $_GET o $_POST a seconda di come ha definito il method del form.


  • User Newbie

    ci ho messo un pò a capire ma ok.
    grazie mille:wink3: