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

    campo submit inappropiato

    Ciao a tutti un file form.html dove inserisco dei dati e tramite il form action richiamo un file inserimento.php che mi inserisce in maniera dinamica, nel databse, i valori inseriti nel form , in modo che qualunque sia il numero di campi dle form la query del file .php mi funziono lo stesso.
    Il prblema è che i dati me li passa e me li inserisce ma viene creata anche una colonna con campo SUBMIT e value INVIA, attraverso rtrim glin ho eliminati ma si pup evitare tale escamotage senza che mi si crea l'ultima colonna con submit e value????

    form.html
    <form id="insert" name="insert" method="post" action="inserimento.php" >


    <table>
    <tr>
    <td>NAME</td>
    <td>COGNOME</td>
    </tr>


    <tr>

    <td><input name="CAMPO1" type="text" id="CAMPO1" /></td>
    <td><input name="CAMPO2" type="text" id="CAMPO2" /></td>

    </tr>

    <tr>
    <td><input type="submit" name="Submit" value="Invia" /></td>
    </tr>
    </table>

    </form>


    inserimento.php

    include("richiama il collegamento al database");


    $sql="INSERT INTO nometabella (";
    $sqlV="";
    foreach ($_POST as $k => $v){
    $sql = $sql.$k.", " ;
    $sqlV = $sqlV.$v.", ";
    }
    //eliminare ultima virgola sia a $sql che a $sqlV
    $sql = rtrim($sql,", Submit"); //elimino anche Submit x ovviare
    $sqlV = rtrim($sqlV,", Invia"); //elimino anche Invia x ovviare
    $sql= $sql.") VALUES (".$sqlV.")";


    ?>

  2. #2

    Re: campo submit inappropiato

    Decisamente, no, non senza JS almeno (intendo fare sull'onsubmit della Form una funzione che rimuove il pulsante, prima del submit), dato il submit fa parte della form.

    Comunque perché non fai un controllo anziché toglierlo dopo?
    Originariamente inviato da pisellino23
    $sql="INSERT INTO nometabella (";
    $sqlV="";
    foreach ($_POST as $k => $v){
    if($k != 'Submit'){
    $sql = $sql.$k.", " ;
    $sqlV = $sqlV.$v.", ";
    }
    }
    $sql= $sql.") VALUES (".$sqlV.")";
    ?>

  3. #3
    c'ho pensato ma non saprei come fare nel file della form.html

  4. #4
    <form id="insert" name="insert" method="post" action="inserimento.php" onsubmit="return deleteSubmit(this)">


    <table>
    <tr>
    <td>NAME</td>
    <td>COGNOME</td>
    </tr>


    <tr>

    <td><input name="CAMPO1" type="text" id="CAMPO1" /></td>
    <td><input name="CAMPO2" type="text" id="CAMPO2" /></td>

    </tr>

    <tr>
    <td><input type="submit" name="Submit" value="Invia" /></td>
    </tr>


    </table>

    </form>

    E poi fai la funzione nell'head:

    <script type="text/javascript">
    function deleteSubmit(form)
    {
    var submit = document.getElementsByName('Submit')[0];
    submit.parentNode.removeChild(submit);
    return true;
    }
    </script>

    e se non funziona prova a tornare subito false (return false e dopo aver tolto il submit metti form.submit();

    Una cosa però: se togli il name al submit lui che ti passa? ammetto che non lo so...

  5. #5
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Originariamente inviato da artorius

    Una cosa però: se togli il name al submit lui che ti passa? ammetto che non lo so...
    Non dovrebbe passare nulla, il che eviterebbe l'uso di Javascript (se l'utente lo avesse disabilitato riceverebbe un errore MySQL!)
    E comunque si può eliminare la variabile $_POST['submit'] con la funzione unset, prima del ciclo foreach, e si sta tranquilli :)

    PS: consiglio anche un escape delle variabili inviate tramite il form, visto che si lavora su tutto l'array $_POST. Dai un'occhiata qui: http://www.php.net/manual/it/functio...ape-string.php
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  6. #6
    Ho provato a fare (nel file .php) ,
    unset($_POST['submit']);
    ma giustamente dice che non esiste Submit.

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.