• User Attivo

    Ora dovresti solo specificare in quale tipo di struttura intendi conservere i dati, se file di testo o database, perchè per creare un elenco tenendo memoria di precedenti inserimenti ci vuole un posto dove metterli, ti pare? 😄


  • User Attivo

    E qui arriva il difficilissimo...io ti direi in un database, ne ho acquistato uno, quello di aruba, ma lo trovo difficilissimo...


  • User Attivo

    Invece è semplicissimo, vai sul tuo database e crea una tabella "elenco_clienti" con i capi:

    - id INT(5) AUTOINCREMENT PRIMARY KEY;
    - nome VARCHAR(50);
    - cognome VARCHAR(50);
    - data_di_nascita INT(15);
    - citta_di_nascita VARCHAR(50);
    - data_registrazione INT(15);
    

    Una volta fatto questo, la pagina php che elaborerà i dati del form avrà questo codice:
    [PHP]<?php
    mysql_connect($host,$username,$passowrd);
    mysql_select_db($database);
    //creo l'array con il giorno/mese/anno
    $arr_data = explode("/",$_POST['data_di_nascita3']);
    //converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
    $data_di_nascita = mktime(0,0,0,$arr_data[1],$arr_data[0],$arr_data[2]);
    $nome = $_POST['nome1'];
    //rimpiazzo gli eventuali apostrofi
    $nome = str_replace("'","'",$nome);
    $cognome=$_POST['cognome2'];
    //rimpiazzo gli eventuali apostrofi
    $cognome = str_replace("'","'",$cognome);
    $citta_di_nascita = $_POST['citta_di_nascita4'];
    //rimpiazzo gli eventuali apostrofi
    $citta_di_nascita = str_replace("'","'",$citta_di_nascita);

    //inserimento del nuovo cliente
    $query = "INSERT INTO elenco_clienti VALUES ('','$nome','$cognome',$data_di_nascita,'$citta_di_nascita',time());
    $risultato = mysql_query($query) or die ("query '$query' fallita

    ".mysql_error());
    while ($cliente = mysql_fetch_array($risultato))
    {
    echo $cliente['nome'].' '.$cliente['cognome'].', ';
    echo 'nato a '.$cliente['citta_di_nascita'].' il '.date('d/m/Y',$cliente['data_di_nascita']).', ';
    echo 'registrato il '.date('d/m/Y',$cliente['data_registrazione']). alle '.date('H:i:s',$cliente['data_registrazione']).'<br>';
    }
    ?>[/PHP]

    Spero sia tutto quello di cui hai bisogno...


  • User Attivo

    Grazie momino, appena ho un attimo di tempo lo faccio immediatamente! :smile5:
    Non devo mettere anche lo script per la connessione database? io con mio database mi connetto semplicemente mettendo username e pass o c'è dell'altro?
    Grazie!!!


  • User Attivo

    Ovvio che devi prima connetterti... 🙂


  • User Attivo

    Ho creato la cartella nel database con esito positivo, poi ho fatto copia incolla del codice php che mi hai dato tu mettendo i miei dati...host eccetera, l'ho messo nel note book salvandolo come file php, poi dal database ho fatto sfoglia...sono andato a prendermi il file...ma alla sua esecuzione mi dà questo errore...

    Messaggio di MySQL:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php
    mysql_connect($62.,$Sql,$password)' at line 1

    :?:?:?


  • User Attivo

    id INT(5) AUTOINCREMENT PRIMARY KEY;
    ...questo dove lo devo mettere?


  • User Attivo

    Allora, come tutti i "copia&incolla" da questo sito, vengono trasformati i caratteri di apertura tag, vedi che nel codice risulta "<" al posto di "<", e ">" al posto di ">". Magari anche "&" al posto di "&".
    Controlla queste cose e vedi che funge.


  • User Attivo

    Ho ricontrollato il codice che ho copiato nel block notes e sembra tutto ok...il segno < e > non sono sostituiti dai simboli che dici...ma l'errore non è un errore di connessione?
    Guarda io ci provo ma non ci riesco...ho controllato e il codice è tale e quale a come l'hai scritto tu sul notes.


  • User Attivo

    Ho detto così perchè ad un altro utente è successa la stessa cosa, e sostituendo funzionava. Anche perchè l'errore te lo da proprio all'apertura del tag "<?php...", che inizia proprio col simbolo "<" di cui prima.
    Altrimenti posta il codice php (nascondendo i dati sensibili).


  • User Attivo

    [php]<?php
    mysql_connect($6,$Sq,$pass);
    mysql_select_db($Sql216305_2);
    //creo l'array con il giorno/mese/anno
    $arr_data = explode("/",$_POST['data_di_nascita3']);
    //converto quella data in unix timestamp, così da poterlo ordinare (risulterà un numero intero di 12 cifre)
    $data_di_nascita = mktime(0,0,0,$arr_data[1],$arr_data[0],$arr_data[2]);
    $nome = $_POST['nome1'];
    //rimpiazzo gli eventuali apostrofi
    $nome = str_replace("'","'",$nome);
    $cognome=$_POST['cognome2'];
    //rimpiazzo gli eventuali apostrofi
    $cognome = str_replace("'","'",$cognome);
    $citta_di_nascita = $_POST['citta_di_nascita4'];
    //rimpiazzo gli eventuali apostrofi
    $citta_di_nascita = str_replace("'","'",$citta_di_nascita);
    //inserimento del nuovo cliente
    $query = "INSERT INTO elenco_clienti VALUES ('','$nome','$cognome',$data_di_nascita,'$citta_di_nascita',time());
    $risultato = mysql_query($query) or die ("query '$query' fallita

    ".mysql_error());
    while ($cliente = mysql_fetch_array($risultato))
    {
    echo $cliente['nome'].' '.$cliente['cognome'].', ';
    echo 'nato a '.$cliente['citta_di_nascita'].' il '.date('d/m/Y',$cliente['data_di_nascita']).', ';
    echo 'registrato il '.date('d/m/Y',$cliente['data_registrazione']). alle '.date('H:i:s',$cliente['data_registrazione']).'<br>';
    }
    ?>[/php]


  • User Attivo

    Se davvero hai controllato i caratteri speciali dei tag, vedi che alla fine della riga dove dice "$query=..." manca un ->"<- (virgolette), non so se è quello l'errore ma è pur sempre un errore... 😄


  • User Attivo

    Ho trovato la cappella che ho fatto...non avevo inserito id...che stupido che sono...però non ha cambiato le cose, mi dà sempre lo stesso errore, sembrerebbe un errore di connessione...

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '<?php
    mysql_connect($62,$Sql,$password)' at line 1 
    ```Non vorrei che sbagliassi dall'inizio, tieni conto che non ho mai usato un database...per connettermi io apro il pannello metto username e password e stop...
    Trovando scritto quà e là mi sembrava che dovessi aggiungere un qualcosa per la connessione o sbaglio? mi sembra non ne sono sicuro...

  • User Attivo

    Gli errori che segnala MySql sono abbastanza chiari, e qui segnala un errore appena incontra il carattere "<", così a naso sembra che tu stia inserendo il codice di una pagina php nel pannello di mysql come se fosse una query...
    La pagina è scritta correttamente, devi salvarla in un file .php e lanciarlo da browser. Non è un errore di connessione, sembra proprio che sbagli a passargli il comando a mysql, come se gli passassi l'intero codice invece di una query, così sembra...


  • User Attivo

    @momino said:

    Gli errori che segnala MySql sono abbastanza chiari, e qui segnala un errore appena incontra il carattere "<", così a naso sembra che tu stia inserendo il codice di una pagina php nel pannello di mysql come se fosse una query...
    La pagina è scritta correttamente, devi salvarla in un file .php e lanciarlo da browser. Non è un errore di connessione, sembra proprio che sbagli a passargli il comando a mysql, come se gli passassi l'intero codice invece di una query, così sembra...
    Ti ringrazio momino, allora...in che cosa sbaglio? io non gli passo l'intera query ma lo stesso codice l'ho salvato nel blocco note come elenco_clienti.php, poi dal database facendo sfoglia e prendendo il file elenco_clienti.php lo eseguo ed esce fuori quell'errore...ma non capisco dove sbaglio.
    Altrimenti come devo fare? mi puoi dire passo passo? poi una volta capito il meccanismo...abbi pazienza...
    Grazie!


  • User Attivo

    Assolutamente è il metodo sbagliato! Quella pagina .php fa lanciata da browser, apri Firefox (spero che tu non abbia Internet Explorer) e digiti nella barra degli indirizzi l'url della pagina "elenco_clienti.php".
    Non va importata nel database da pannello di controllo mysql.


  • User Attivo

    Inizio a capire...un pochettino...solo che io ho internet explorer...e quindi non si può fare? miseriaccia!!!


  • User Attivo

    Certo che si può fare, la mia era solo un'osservazione dovuta alla poca fiducia che ho del browser Microsoft 🙂
    Puoi usare qualsiasi browser, funzionerà sempre e comunque!


  • User Attivo

    Cioè facendo htt//elenco_clienti.php cosa dovrei trovare? Non mi fà visualizzare la pagina...


  • User Attivo

    Devi scrivere l'intero percorso, come se volessi andare ad una pagina del tuo sito internet...