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:
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>
Codice di plugin_registrazione.php:
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"; } } } ?>
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>
Qualcuno saprebbe dirmi cosa ho sbaglaito e xke non mi aggiunge gli utenti??