Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    42

    Form + stampa + invio dati a db

    Salve a tutti,

    vi espongo il mio problema cercando di essere chiaro.
    premetto le mie conoscenze del php sono blande (ho perso un po la mano)

    dovrei fare un form di anagrafica (nome cognome codice fiscale ecc) questo form può essere compilato solo una volta quindi deve avere un controllo sul codice fiscale.
    una volta compilato, il form deve essere salvato su un db (possibilmente access) e l'utente deve poterlo stampare.

    spero di essere stato abbastanza chiaro
    vi prego di aiutarmi

    grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    42
    pagina del form webform.html

    <html>
    <head>
    <title>OOP e Webform</title>
    <style>
    <!--
    table.MsoTableGrid
    {border:1.0pt solid windowtext;
    font-size:10.0pt;
    font-family:"Times New Roman";
    }
    -->
    </style>
    </head>
    <body>
    <h2>Aggiungi nuovo cliente</h2>
    <form method="post" action="registra.php">
    <table border="0" width="510" cellspacing="0" cellpadding="0" height="0" id="table1">
    <tr>
    <td>
    <p class="MsoNormal" style="text-align: justify; text-autospace: none">
    <span style="font-family: Courier"></span></p>
    <div style="mso-element: para-border-div; mso-border-alt: solid windowtext .5pt; border: 1.0pt solid windowtext; padding-left: 4.0pt; padding-right: 4.0pt; padding-top: 0cm; padding-bottom: 1.0pt">
    <p class="MsoNormal" align="center" style="text-align: center; text-autospace: none; border: medium none; padding: 0cm">
    <span style="font-family: Courier">Allegato 1 Facsimile
    Domanda di Partecipazione</span>
    </p>
    <p class="MsoNormal" align="center" style="text-align: center; text-autospace: none; border: medium none; padding: 0cm">
    <span style="font-family: Courier">“Selezione Operatore di
    2° livello ADDETTO AL SERVIZIO DI GUARDIANA E PORTIERATO”</span></div>
    <p class="MsoNormal"></p>
    <p class="MsoNormal" style="text-autospace: none">
    <span style="font-family: Courier">
    </span>
    </p>
    <p class="MsoNormal" style="text-indent: 35.4pt; text-autospace: none; margin-left: 212.4pt">
    <span style="font-family: Courier">Tempor S.p.A.</span></p>
    <p class="MsoNormal" style="text-autospace: none">
    <span style="font-family: Courier">
    Viale della Costituzione n.1</span>
    </p>
    <p class="MsoNormal" style="text-autospace: none">
    <span style="font-family: Courier">
    C.D.N. Isola F1</span>
    </p>
    <p class="MsoNormal" style="text-autospace: none">
    <span style="font-family: Courier"></span>
    <span style="font-family: Courier">
    80143 Napoli</span>
    </p>
    <p class="MsoNormal" style="text-autospace: none">
    <span style="font-family: Courier New"></span></p>
    <p class="MsoNormal" style="text-align: justify; line-height: 150%; text-autospace: none">
    <span style="font-family: Courier New">Il/la sottoscritto/a
    </span> <input type="text" name="strNome" size="12">
    <input type="text" name="strCognome" size="12"><span style="font-family: Courier New">
    nato/a a </span><span style="font-family: Courier New">
    <input type="text" name="strLuogoNascita" size="12"> il
    <input type="text" name="datDataNascita" size="10">,C. F.
    <input type="text" name="strCF" size="16">, residente a<input type="text" name="strCittaResidenza" size="20">
    CAP <input type="text" name="strCap" size="5"> via
    <input type="text" name="strVia" size="30"> n
    <input type="text" name="strNum" size="8"> , tel. n.<input type="text" name="strTel" size="15">
    cell.<input type="text" name="strCel" size="20">, eventuale
    altro indirizzo per le comunicazioni relative al bando:via
    <input type="text" name="strViaAltro" size="30"> n
    <input type="text" name="strNumAltro" size="8"> Città
    <input type="text" name="strCittaAltro" size="20"> Pr
    <input type="text" name="strPrAltro" size="2"> CAP
    <input type="text" name="strCapAltro" size="5"></span></p>


    </td>
    </tr>
    </table>





    <input type="submit" value="Registra Cliente">
    Stampa pagina </p>
    </form>
    </body>
    </html>


    pagina di scrittura su db regista.php
    <?php
    //Connessione al Database
    mysql_connect("localhost", "root") or die ("impossibile connettersi");
    //selezione del DB
    mysql_select_db("terradilavoro") or dir ("impossibile selezionare il db");
    //includo la class cliente
    require_once("cliente.class.php");
    //istanzio un nuovo oggetto "cliente"
    $cliente = new cliente;
    ?>
    <html>
    <head>
    <title>Registrazione cliente</title>
    </head>
    <body>
    <?php
    //setto i dati nell'oggetto
    $cliente->imposta($_POST);
    //prova ad aggiungere il nuovo cliente
    $cliente->aggiungi();
    ?>
    </body>
    </html>



    classe che viene richiamata cliente.class

    <?php

    class cliente{
    //Attributi
    var $arrData = array();
    var $strSQL = "";
    var $bool = true;

    //Metodi
    /**
    * Metodo: imposta - questo metodo serve ad impostare l'array arrData recuperato tramite $postData
    * input
    * @param array $postData - Array contenente i vari valori da associare all'array arrData
    */
    function imposta($postData){
    $this->arrData = $postData;
    }

    /**
    * Metodo: aggiungi - con questo metodo inseriamo i dati dell'array nel Database
    */
    function aggiungi(){
    //controllo che l'array non sia vuoto
    if(!empty($this->arrData)){
    //controllo che tutti i campi siano pieni
    foreach($this->arrData as $value){
    if(strlen($value) == 0){
    $this->bool = false;
    break; //Evito di visualizzare piu' volte lo stesso messaggio
    }
    }
    }else{
    $this->bool = false;
    }

    if($this->bool){
    //costruzione automatica della query SQL
    $this->strSQL = "INSERT INTO candidato ("
    . implode(", ", array_keys($this->arrData))
    . ") VALUES('"
    . implode("', '", $this->arrData)
    . "')";
    //Esecuzione query...
    if(mysql_query($this->strSQL)){
    echo "Cliente aggiunto con successo";
    }else{
    echo "Problemi durante l'inserimento del cliente";
    }
    }else{
    echo "Attenzione: specificare tutti i campi";
    }
    }
    }
    ?>


    fin qui tutto ok scrive sul db correttamente
    ora quando registra la pagina registra.php manda il messaggio di registrazione corretta, dovrei far stampare il modulo a chi lo compila come posso fare???
    e dovrei anche inserire un controllo sul codice iscale per non far inserire doppioni

    scusate per il disordine ma non so inserire i marcatori

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    per il codice si inserisce tra:
    lo trovi qui sopra....
    Codice PHP:
    // qui il codice.... magari la prossima volta 
    per la stampa recupera "ultimo id inserito" --> stampalo a video --> stampa

    per il codice fiscale, recuperalo, come sopra e verificalo --> uguale si/no? se si --> messaggio (ei cico questo codice e' gia' presente) else (inserisci)
    Naturalmente il controllo lo fai prima dell' INSERT
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    42
    mi puoi far vedere come modificare il codice?

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.