Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150

    [php] Estrarre stringa "passiva" da un form

    ciao a tutti, mi servirebbe una mano a capire come risolvere il seguente problema:

    Allora, compilo il classico form con le segenti caratteristiche:

    //file modulo.php

    Codice PHP:
    <form name="frm2" method "POST" onsubmit ="return checkins(this)" action "ins_conf_exe.php"
    In questo form ho ovviamente vari campi.
    Prima di spedire i dati al file ins_conf_exe.php devo fare la validazione JS degli stessi, quindi all'invio , vado alla funzione checkins.

    Ora , ad interessarmi e' un campo particolare di questo modulo.
    E' il seguente (il form e' tabulato in una tabella):

    Codice PHP:
    <th bgcolor="#00CCCC">Paper Submission</th>
    <
    td><input type="text" name="paper" id ="sub" disabled /></td
    Ora, il box e' disabled perche' in questo campo voglio inserire la data di invio di tale form.
    Quindi quando premo invio il pulsante e' disabled e con value nullo.
    Parte poi la funzione checkins che riempie il campo nel modo seguente:

    //data sub e' una funzione che parte all'interno della funzione checkins() e mi riempie la variabile data in modo corretto
    Codice PHP:
    function dataSub ()
    {
        var 
    mia_data= new Date();
        var 
    annomia_data.getFullYear();
        var 
    mesemia_data.getMonth()+1;
        var 
    giorno=mia_data.getDate();
        var 
    ore mia_data.getHours();
        var 
    minuti mia_data.getMinutes();
        var 
    secondi mia_data.getSeconds();
        var 
    data="";
        
    data=anno+"-"+mese+"-"+giorno+" "+ore+":"+minuti+":"+secondi;
        
    document.getElementById("sub").valuedata;
        

    Ora, la variabile anno la ho dovuta compilare in quella maniera perche' data andra' messo nel mio db, il quale e' di tipo DATETIME, ovvero AAAA-MM-GG OO:MM:SS
    Qui c'e la prima domanda: il formato della variabile data va bene quindi per il mio db giusto? In output la variabile mi sembra ok (piu' che altro e' una stringa in questo momento, il modulo DATETIME in mysql non crea problemi in tal senso giusto?)

    Ora il problema vero e proprio:
    dopo aver validato il form, quindi dopo aver premuto invio ed essere passati per la funzione checkins, devo importare questi file nel mio ins_conf_exe.php.

    Il mio problema ora e' che non riesco a importare il valore di tale data.
    Se faccio nel modo seguente:

    //file ins_conf_exe.php
    Codice PHP:
    $subclin($_POST['paper']); 
    La variabile $sub e' vuota e non mi stampa nulla.
    L'idea e' che mi sono fatto e' che il file php prende il valore della variabile al momento dell'invio , cioe' quando e' ancora vuota ed aspetta di essere riempita dalla funzione checkins.

    Come posso risolvere il mio problema e passare la variabile al file php?

    Spero di essere stato chiaro

    ciao

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    a te interessa solamente avere la data di compilazione del form?
    se si, io farei un campo hidden già inizializzato e cosi sei sicuro di beccartelo in ins_conf_exe.php. Se invece devi assolutamente risolvere come hai iniziato forse è il caso che ti rivolgi al forum javascript...

  3. #3
    il formato della variabile data va bene quindi per il mio db giusto?
    E' illogico utilizzare un campo disabilitato per inviare la data al server se tale valore sara' comunque la data odierna. Tanto vale impostarla direttamente in PHP. Inoltre, e' inutile formattare la data in javascript lato client visto che comunque dovrai validarla lato client prima di inserirla nel DB.

    Il mio problema ora e' che non riesco a importare il valore di tale data.
    Studiati questo codice per capire per quale motivo i dati di quel campo non vengono inviati al PHP.

    Codice PHP:
    <form method="post">
    <input type="text" name="test1" value="123" disabled="disabled" />
    <input type="text" name="test2" value="abc" />
    <input type="submit" />
    </form>
    <pre><?php print_r($_POST); ?></pre>

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    No, anzi il tuo metodo mi sebra piu' sbrigativo.
    Potresti pero' dirmi nello specifico come risolveresti?
    Come fai a compilare il valore di quel campo con la data corrente (e in quel formato DATETIME di mysql ovvero AAAA-MM-GG OO:MM:SS) senza passare per JS?

  5. #5
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    <input type="hidden" name="paper" id ="sub" disabled value="<?PHP echo date( "Y-m-d H:i:s" ) ; ?>"/>

  6. #6
    Originariamente inviato da kodode
    <input type="hidden" name="paper" id ="sub" disabled value="<?PHP echo date( "Y-m-d H:i:s" ) ; ?>"/>
    Meglio evitare l'attributo disabled se vuoi che i dati vengano inviati al server.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    150
    Ho usato la stringa suggeritami da kodode , ma senza il disabled:

    Codice PHP:
    <input type="hidden" name="paper" id ="sub" value="<?PHP echo date"Y-m-d H:i:s" ) ; ?>"/>
    Ora ho eseguito un echo e sembra funzionare.
    Mi faccio vivo quando andro' a inserirla nel db, in caso mi dia problemi.

    Per ora un grazie a entrambi

    p.s. mi linkereste per cortesia una buona guida sul php e le date , soprattutto in relazione a mysql?
    Ne avevo trovata una su html.it tempo fa, ma non riesco piu' a trovarla.

    ciao e grazie ancora

  8. #8
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    Meglio evitare l'attributo disabled se vuoi che i dati vengano inviati al server.
    si, ovvio... errore mio... non ti sfugge niente...

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.