Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    107

    Aggiornamento dati in un form e upload

    Ho un problema con i form, che immagino abbiano in molti (e spero che molti abbiano risolto )
    Fra i vari campi di un modulo ne ho uno che serve per caricare un'immagine sul server.
    Tutto bene, senonché se carico il file viene eseguito il submit del form cui appartiene il controllo relativo(che è diverso da quello dove risiedono le altre caselle di input). Questo fa si che la pagina venga caricata nuovamente e quindi perdo le modifiche che avevo già fatto (ma non ancora salvato) negli altri campi.
    COME POSSO EVITARE QUESTO PROBLEMA?
    Spero di essere stato chiaro... Ho provato diverse soluzioni ma tutte hanno un punto debole e nessuna risolve tutti i problemi.
    Ho ancora un paio di idee, ma prima di avventurarmi in altre soluzioni mi chiedo se qualcuno ha già affrontato e risolto la questione.
    Le idee residue sono:
    1. uso di AJAX
    2. uso di una tabella temporanea su db
    Entrambe sono solo idee abbozzate e quindi non sviluppate. Sono ben accetti suggerimenti e consigli anche in questo caso.
    Grazie di cuore.
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    107
    ma la notte non ha portato consiglio a nessuno?!?

  3. #3
    Io utilizzo questo metodo:

    Codice PHP:
    <input type="text" name="nome" value="<?php echo @$_POST['nome']; ?>" />
    Oppure, come dici tu, con ajax

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    107
    Innanzi tutto grazie.
    Il problema della tua idea però sta nel fatto che quando faccio l'upload di un file in realtà faccio il submit di un form diverso e quindi la variabile $_POST['nome'] è vuota perché l'input "nome" non viene spedito.
    In pratica ho:
    <form name="form1" id="form1" ENCTYPE="multipart/form-data" ACTION="filephp.php" METHOD="POST">
    <input type="file" name="file1" id="file1">
    <input type="submit" value="upload" name="upload">
    </form>

    <form action="filephp.php" method="post" name="form2" id="form2" >
    <input type="text" name="campo_1" >
    <input type="text" name="campo_2" >
    ...
    ...
    <input type="text" name="campo_n" >
    </form>
    I valori che vorrei venissero mantenuti (non solo i valori caricati al load della pagina, ma anche quelli che ho eventualmente modificato ma non ancora salvato) sono quelli di questo secondo form , quando faccio il submit del primo per uplodare un file.
    Un ulteriore problema è dato dal fatto che il form2 è costruito dinamicamente e non so a priori quanti campi di testo ha e il loro nome.




    Grazie

  5. #5
    Allora o il form2 lo fai in ajax oppure il form1 lo invii ad un iframe nascosto che ti salvi l'immagine (con ajax non puoi inviare file, quindi quello è l'unico sistema se vuoi farlo sembrare ajax )

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    107
    scusa se approfitto... ma avresti qualche specifica in più per le 2 idee?!?!
    (o magari un consiglio su quale delle 2 preferire?) :master:

  7. #7
    Originariamente inviato da vissidarte
    scusa se approfitto... ma avresti qualche specifica in più per le 2 idee?!?!
    (o magari un consiglio su quale delle 2 preferire?) :master:
    Allora... personalmente la prima soluzione la trovo la migliore
    Fai una funzione che ti salvi i dati

    Codice PHP:
    function salva(){
     
    // Salva tutti i dati del form2 con ajax

    Così che il form2 ha il tasto per salvare (onclick="salva();")

    E all'invio del form1 esegui prima la funzione salva così da salvare i dati del form2

    Non so se mi sono spiegato

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    107

    il fatto è che sono un po' a secco di ajax....
    la funzione salva è una funzione ajax o php?!?!

  9. #9
    È una funzione javascript
    Ajax é javascript... é meglio che vai a vedere qualcosa, non é difficile.. Son due funzioni in croce, se conosci javascript non dovresti avere problemi

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.