Ciao a tutti,
ho un problema a collegare delle form con un database.
In particolare non riesco proprio a creare gli utenti nel database, mi dice sempre "Problemi durante l'inserimento del cliente " cioè cose se sbagliassi a inserire i dati nei form, sto uscendo pazzo, vi allego la mia soluzione:
Questo e la pagina html che contiene il form:
Codice di plugin_registrazione.php:codice:form <form method="post" action="registrazioni/plugin_registrazione.php"> <p style="text-align: left;">Nome: <input name="nome" type="text" /></p> <p style="text-align: left;">Cognome: <input name="cognome" type="text" /></p> <p style="text-align: left;">E-Mail: <input name="email" type="text" /></p> <p style="text-align: left;">Password: <input name="password" type="password" /></p> <p style="text-align: left;">Data di nascita: <input name="datadinascita" type="text" /></p> <p style="text-align: left;">Indirizzo: <input name="indirizzo" type="text" /></p> <p style="text-align: left;">Città: <input name="citta" type="text" /></p> <p style="text-align: left;">Prov: <SELECT name="prov"> <option value="AG">AGRIGENTO</option> <option value="AL">ALESSANDRIA</option> <option value="AN">ANCONA</option> <option value="AO">AOSTA</option> <option value="AR">AREZZO</option> <option value="AP">ASCOLI PICENO</option> <option value="AT">ASTI</option> <option value="AV">AVELLINO</option> <option value="BA">BARI</option> <option value="BL">BELLUNO</option> <option value="BN">BENEVENTO</option> <option value="BG">BERGAMO</option> <option value="BI">BIELLA</option> <option value="BO">BOLOGNA</option> <option value="BZ">BOLZANO</option> <option value="BS">BRESCIA</option> <option value="BR">BRINDISI</option> <option value="CA">CAGLIARI</option> <option value="CL">CALTANISSETTA</option> <option value="CB">CAMPOBASSO</option> <option value="CE">CASERTA</option> <option value="CT">CATANIA</option> <option value="CZ">CATANZARO</option> <option value="CH">CHIETI</option> <option value="CO">COMO</option> <option value="CS">COSENZA</option> <option value="CR">CREMONA</option> <option value="KR">CROTONE</option> <option value="CN">CUNEO</option> <option value="EN">ENNA</option> <option value="FE">FERRARA</option> <option value="FI">FIRENZE</option> <option value="FG">FOGGIA</option> <option value="FC">FORLI'-CESENA</option> <option value="FR">FROSINONE</option> <option value="GE">GENOVA</option> <option value="GO">GORIZIA</option> <option value="GR">GROSSETO</option> <option value="IM">IMPERIA</option> <option value="IS">ISERNIA</option> <option value="SP">LA SPEZIA</option> <option value="AQ">L'AQUILA</option> <option value="LT">LATINA</option> <option value="LE">LECCE</option> <option value="LC">LECCO</option> <option value="LI">LIVORNO</option> <option value="LO">LODI</option> <option value="LU">LUCCA</option> <option value="MC">MACERATA</option> <option value="MS">MASSA-CARRARA</option> <option value="MT">MATERA</option> <option value="ME">MESSINA</option> <option value="MI">MILANO</option> <option value="MO">MODENA</option> <option value="NA">NAPOLI</option> <option value="NO">NOVARA</option> <option value="NU">NUORO</option> <option value="OR">ORISTANO</option> <option value="PD">PADOVA</option> <option value="PA">PALERMO</option> <option value="PR">PARMA</option> <option value="PV">PAVIA</option> <option value="PG">PERUGIA</option> <option value="PU">PESARO E URBINO</option> <option value="PE">PESCARA</option> <option value="PC">PIACENZA</option> <option value="PI">PISA</option> <option value="PT">PISTOIA</option> <option value="PN">PORDENONE</option> <option value="PZ">POTENZA</option> <option value="PO">PRATO</option> <option value="RG">RAGUSA</option> <option value="RA">RAVENNA</option> <option value="RC">REGGIO DI CALABRIA</option> <option value="RE">REGGIO NELL'EMILIA</option> <option value="RI">RIETI</option> <option value="RN">RIMINI</option> <option value="RM">ROMA</option> <option value="RO">ROVIGO</option> <option value="SA">SALERNO</option> <option value="SS">SASSARI</option> <option value="SV">SAVONA</option> <option value="SI">SIENA</option> <option value="SR">SIRACUSA</option> <option value="SO">SONDRIO</option> <option value="TA">TARANTO</option> <option value="TE">TERAMO</option> <option value="TR">TERNI</option> <option value="TO">TORINO</option> <option value="TP">TRAPANI</option> <option value="TN">TRENTO</option> <option value="TV">TREVISO</option> <option value="TS">TRIESTE</option> <option value="UD">UDINE</option> <option value="VA">VARESE</option> <option value="VE">VENEZIA</option> <option value="VB">VERBANO-CUSIO-OSSOLA</option> <option value="VC">VERCELLI</option> <option value="VR">VERONA</option> <option value="VV">VIBO VALENTIA</option> <option value="VI">VICENZA</option> <option value="VT">VITERBO</option> </SELECT></p> <input type="submit" value="Invia" /> </form>
Ecco il codice della classe:
codice:<?php class utente { //ATTRIBUTI var $arrayDati = array(); var $strSQL= ""; var $bool = true; //CON LA FUNCTION IMPOSTA ASSOCIAMO L'ARRAY $_POST DELLE FORM AD $arrayDati //IMPOSTANDO UN ARRAY DA PASSARE ALLE FUNZIONI GENERALIZZIAMO IL PROBLEMA //SENZA DOVER SCRIVERE X OGNI FUNZIONE TUTTI GLI ATTRIBUTI RICEVUTI DALLE FORM function imposta($postDati) { $this->arrayDati = $postDati; } //CON LA FUNCTION AGGIUNGI INSERIAMO I DATI DELL'ARRAY NEL DATABASE function aggiungi() { //COME PRIMA COSA VEDIAMO SE L'ARRAY è VUOTO IN TAL CASO BOOL = FALSO if(!empty($this->arrayDati)){ //CONTROLLO CHE TUTTI I CAMPI SIANO PIENI foreach($this->arrayDati as $value){ if(strlen($value) == 0){ $this->bool = false; break; //APPENA UN CAMPO è VUOTO ESCO DAL CICLO } } }else{ $this->bool = false; } if($this->bool){ //COSTUZIONE AUTOMATICA DELLA QUERY TRAMITE VARIE FUNZIONI IN PARTICOLARE: //IMPLODE CHE UNISCE GLI ELEMENTI DI UN ARRAY FORMANDO UNA STRINGA NEL NOSTRO //CASO SEPARIAMO GLI ELEMENTI DELL'ARRAY CON LE , //INOLTRE GRAZIE ALLA FUNZIONE array_keys RICERCHIAMO PER PRIMA COSA LA CHIAVE $this->strSQL = "INSERT INTO cliente (" . implode(", ", array_keys($this->arrayDati)) . ") VALUES('" . implode("', '", $this->arrayDati) . "')"; //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"; } } } ?>Qualcuno saprebbe dirmi cosa ho sbaglaito e xke non mi aggiunge gli utenti??codice:<?php //CONNESSIONE MYSQL mysql_connect("localhost","root") or die ("impossibile connettersi a mysql"); //SELEZIONIAMO IL DATABASE mysql_select_db("wordpress") or die ("impossibile selezionare il database"); //INCLUDIAMO LA CLASSE UTENTE ATTRAVERSO REQUIRE ONCE require_once("class_utente.php"); //ISTANZIO UN NUOVO OGGETTO "utente" $utente = new utente; ?> <html> <head> <title>Registrazione cliente</title> </head> <body> <?php //SETTIAMO I DATI DELL'OGGETTO $utente->imposta($_POST); //AGGIUNGIAMO IL NUOVO UTENTE. $utente->aggiungi(); ?> </body> </html>

Rispondi quotando