Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema dati form php

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144

    Problema dati form php

    Ciao a tutti...
    Ho un problema con un form php.

    Io ho inserito i vari campi ecc... e questo ok...
    Però vorrei codificarli in xml e passarli con una chiamata al database.
    Come posso fare a codificarli e passarli così?
    Non pretendo del codice pronto, anche solo una indicazione o una spiegazione che mi faccia capire

    Saluti!

  2. #2
    Se usi php credo che alla pressione del tasto submit, arrivato alla pagina dell'action del form puoi trasformare i dati in xml e poi farci quello che vuoi.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Quindi nel form metto action="pagina_di_convalida.ph"...

    E nella pagina di convalida come faccio a codificare i dati in xml?

  4. #4
    LoL...

    A prescindere tu sai quanti campi hai direi
    A meno che il form venga creato in maniera dinamica... una volta che sai il nome dai campi e quindi dove recuperarli con $_POST o $_GET (a seconda del metodo che hai scelto) puoi usare le classi di php che riguardano l'xml per crearti un file xml / contenuto xml e poi ci fai quello che ti pare.

    Su php.net trovi tre classi native mi pare, ma sulla documentazione ufficiale vi sono pochi commenti per avere delucidazioni sui codici da loro usati, forse sul sito di html.it potresti trovare guide/articoli.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Ok, grazie, se ho capito bene ho trovato questo in rete...dovrebbe andare bene con accorgimenti ovviamente giusto?

    creaxml.class.php
    Codice PHP:
    <?php

        
    /*
            
            
                Crea un file xml
        */        
        
        
    interface intCreaXML {}    //    fine interfaccia intCreaXML
        
        
    class creaxml {
        
            protected 
    $dom null;
            
            function 
    __construct() {}    //    __construct()
            
                    //    Crea l'intestazione del file XML e impone la regola di indentare il codice per poterlo leggere meglio.
                    //    Questa in una versione più avanzata potrebbe essere opzionale, dopotutto l'indentazione prende spazio ;-)
            
    protected function inizializzaXML() {
                
    $this->dom = new DOMDocument'1.0''utf-8' );
                
    $this->dom->preserveWhiteSpace false;
                
    $this->dom->formatOutput true;
            }    
    //    inizializzaXML()
            
                    //    Crea un attributo con testo all'interno.
                    //    @parent nodo del dom
                    //    @nodo stringa (nodo dove va inserito l'attributo)
                    //    @attributo stringa (nome dell'attributo)
                    //    @testo stringa (valore dell'attributo)
            
    protected function createAttributeText$parent$nodo$attributo$testo ) {
                try {
                    
    $nodo $parent->getElementsByTagName$nodo )->item(0);
                    
    $attributo $nodo->setAttributeNode( new DOMAttr$attributo$testo ));
                } catch (
    DOMException $err) {
                    echo 
    'Errore! '$err->getMessage();
                    exit();
                }
            }    
    //    createAttributeText()
            
            //    Crea un elemento XML e se previsto vi inserisce del testo
                    //     @nodo nodo del dom
                    //     @elemento stringa (nome dell'elemento da creare)
                    //     @testo stringa (valore da inserire, può essere nullo per creare dei nodi vuoti)
            
    protected function createElementText$nodo$elemento$testo null ) {
                try {
                    
    $elemento $nodo->appendChild( new DOMElement$elemento ));
                    
    //    Se c'è del testo (non nullo) lo scrive, se no passa oltre.
                    
    if ( !is_null$testo ) ) {
                        
    $testo $elemento->appendChild( new DOMText$testo ));
                    }
                } catch (
    DOMException $err) {
                    echo 
    'Errore! '$err->getMessage();
                    exit();
                }
            }    
    //    createElementText()
            
            //    Crea un elemento XML e vi inserisce del testo in un campo CDATA come sopra ma con un campo CDATA.
            
    protected function createElementTextCDATA$nodo$elemento$testo ) {
                try {
                    
    $elemento $nodo->appendChild( new DOMElement$elemento ));
                    
    $testo $elemento->ownerDocument->createCDATASection$testo );
                    
    $elemento->appendchild$testo );
                } catch (
    DOMException $err) {
                    echo 
    'Errore! '$err->getMessage();
                    exit();
                }
            }    
    //    createElementTextCDATA()
            
                    //      Salva il file
                    //      @percorso stringa (percorso dove va salvato il file
                    //      @nomeFile stringa (il nome del file :-))
                    //      la funzione ottiene il LOCK del file in fase di scrittura.
            
    protected function salvaXML$percorso$nomeFile ) {
                
    //    Salva il file nel percorso indicato, mentre lo salva ne acquisice il lock esclusivo.
                
    file_put_contents$percorso.$nomeFile$this->dom->saveXML(), LOCK_EX );
                unset( 
    $this->dom );    //    Libera la risorsa.
            
    }    //    salvaXML()
            
        
    }    //    fine classe intestazione
    ?>
    questo è il miofile.php
    Codice PHP:
    <?php
    require_once 'creaxml.class.php';
    class 
    mioXML extends creaxml {

                  function 
    __construct$nomefile ) {

                
    $this->inizializzaXML();
                
    $root $this->dom->createElement'root' );

                
    //    Root del file
                
    $this->createElementText$root'lingua''it' );
                
    $this->createElementText$root'direzione''ltr' );
                
    $this->createElementText$root'codifica''utf-8' );
                            
    $this->dom->appendChild$root );

                
    //    Salva il file ed esce
                
    $this->salvaXML'files/'$nomefile.'.xml' );
            }    
    //    __construct()

        
    }    //    fine classe creaxml

    $obj = new mioXML$nomefile );
    ?>

  6. #6
    Con i dovuti aggiustamenti direi che potrebbe funzionare.

    Ho solo dato un'occhiata veloce ed ho usato xml solo una volta in vita mia (per fortuna).
    Buona fortuna.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    144
    Ok... allora adesso faccio il form, sul submit invio i dati del form al miofile.php e li riceve con Post e li mette uno ad uno in una variabile...
    Poi creo :
    Codice PHP:
    $this->createElementText$root'numero'$numc ); 
    Dove $numc contine un numero inserito nel campo del form..
    Solo che nel file xml mi da un output del genere:

    </numero>

    Codice PHP:
    $this->createElementText$root'numero''$numc' ); 
    mi stampa letteralmente

    <numero>$numc</numero>


    Come posso dire di stampare il contenuto della variabile?

  8. #8
    getelementtext?

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.