Visualizzazione risultati 1 fino 14 di 14

Discussione: crezione di un database personale

  1. #1
    Guest

    Predefinito crezione di un database personale

    ciao!
    premetto che non conosco il php.
    devo fare in modo che registrando i dati di una persona su una pagina web vengano salvati nel database di altervista.
    per poi in un'altra pagina ricercare per nome e cognome e avere ome risposta la scheda completa.
    questa è la pagina che serve per registrare la scheda:


    Codice HTML:
    <html>
    <head>
    </head>
    <body>
    <center><b><h7>INSERISCI I DATI DEL CLIENTE<h7></b></center>
    <p>Nome:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>Cognome:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>Data di nascita:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>Luogo di Nascita:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>Codice fiscale:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>Indirizzo:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <p>N° di Polizza:<form name=”casellaTesto” method=”post” action=”pagina2.asp”><input type=”text” name=”nomeCasella”  size=”20″ maxlength=”20″></form></p>
    
    <button>Salva</button>
    </body>
    </html>



    come faccio ???????

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Nel codice che hai mostrato, i form rimandano a pagine ASP, che su AlterVista non è supportato e devi quindi utilizzare PHP.

    Dipende da cosa sai già fare: se hai esperienza con altri linguaggi di programmazione e hai solo bisogno della documentazione, abituati ad usare [url=http://php.net/]PHP.net[/php], e comincia scegliendo se utilizzare mysqli oppure PDO per interfacciarti alla base di dati.

    Se, invece, cominci da zero, prima di gestire una base di dati è il caso di cercare qualche guida introduttiva a PHP ed alla programmazione, poi capire come funziona il modello client-server, ed infine interfacciarti con la base di dati.

    Oltre a PHP avrai bisogno di qualche conoscenza di MySQL per creare e gestire entità e relazioni, ad esempio tramite PHPMyAdmin.

  3. #3
    Guest

    Predefinito

    di linguaggi conosco solo i c++.
    mi basta sapere come fare se mi potresti aiutare.

  4. #4
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Il funzionamento ad alto livello, in estrema sintesi:
    1. crei una pagina HTML con un form; l'attributo action indica quale pagina servirà la richiesta nel server
    2. crei una pagina PHP in grado di soddisfare la richiesta; per l'infarinatura di base su questo argomento: PHP 5 Form Handling e Variables From External Sources
    3. dalla pagina PHP, effettui una connessione alla base di dati, con mysqli o PDO, ed esegui le opportune query (che, per il momento, si ridurranno ad operazioni di inserimento, INSERT e selezioneSELECT, più in generale algebra relazionale); anche qui senza qualche conoscenza di base non si va lontano: MySQL Survival Guide


    Parallelamente devi creare la base di dati. PHPMyAdmin, al quale hai accesso dal tuo pannello di controllo, è abbastanza intuitivo da usare.

    Quando il sistema sarà funzionante occorre anche iniziare a pensare a convalida dell'input, sicurezza, e via dicendo.

    Comprenderai che la faccenda è un po' lunga e non si risolve in cinque minuti. Il punto di partenza è almeno la pagina HTML per l'aggiunta dei dati di una persona, in cui dovresti usare un unico form, non un form per ogni informazione:
    Codice HTML:
    <form action="insert_person.php" method="POST">
       Nome:  <input type="text"name="name" placeholder="nome..." />
       Cognome:  <input type="text"name="surname" placeholder="cognome..." />
       Codice fiscale:  <input type="text"name="code" placeholder="codice fiscale" />
       ...
       <button name="insert_person">Invia dati</button>
    </form>
    In insert_person.php avrai qualcosa del genere:
    Codice PHP:
    <?php
    // Sanity checks
    if (!isset($_POST['insert_person'])) {
    die(
    "Error: you must send form data");
    }

    // Reads and validates data
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    ...

    // Connects to the database
    $mysqli = new mysqli('localhost', 'allianzpescarariviera');
    if (
    $mysqli->connect_errno) {
    echo
    "Cannot connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }

    // Inserts data
    $query = "INSERT INTO customers(name, surname, ...) VALUES('$name', '$surname', ...)";
    if (!
    $mysqli->query($query)) {
    echo
    "Cannot insert data into database: " . $mysqli->connect_errno . " " . $mysqli->connect_error;
    }

    // Closes connection
    $mysqli->close();
    Tutto questo assume che nella base di dati ci sia una tabella customer con i campi name, surname, ecc.

  5. #5
    Guest

    Predefinito

    sò che è chiedere troppo ma mi serve il prima possibile , potresti farmi tu le pagine e postarle qui te ne sarei infinitamente grato. perchè non sò proprio come creare una connessione dati .

  6. #6
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Eresia! Chiedere ad un programmatore di sviluppare codice al posto tuo è peggio che chiedergli di prestarti la sua biancheria intima usata !

    Scherzi a parte, sarei felice di aiutarti, ma non conosco i vari aspetti e dettagli del progetto, che sono noti solo a te -sviluppatore- ed al tuo committente.
    Ad esempio, leggendo il codice ho intuito sia coinvolta un'entità "cliente"... del quale non so quali informazioni siano memorizzate: sicuramente l'anagrafica, ma magari serve anche un codice titolare per permettergli l'accesso ai propri dati, oppure occorre memorizzare alcune statistiche, o altro ancora. Vedo poi che compare un "numero di polizza", quindi c'è anche un'entità "polizza", però non so in quale relazione questa sia con il cliente: quest'ultimo può averne una ed una sola? Al più una? Almeno una? A seconda delle risposte, conviene modellare la base di dati in un modo piuttosto che in un altro. Inoltre immagino che solo il "personale addetto" possa inserire e consultare questi dati sui clienti, quindi serve anche un sistema di autenticazione.
    Queste sono solo alcune delle domande che dovrei pormi per poter sviluppare il sistema, ne emergerebbero senz'altro molte altre in itinere.

    Più che mostrare le pagine HTML e PHP di esempio del messaggio precedente (le quali, di fatto, già soddisfano in parte la tua richiesta: inseriscono i dati di un cliente nel database) non saprei da dove partire...

    Se hai bisogno di un sistema funzionante in tempi brevi e non hai esperienza né di PHP né di MySQL, potresti valutare l'utilizzo di un CMS. Su AlterVista puoi installarli dal pannello di controllo.

  7. #7
    Guest

    Predefinito

    si il cliente può avere più numeri di polizza , al sito devo entrarci solo io quindi mi si mi serve un sistema di autenticazione per il resto serve solo l'anagrafica.
    non sò cosa sia un CMS puoi spiegarmi?
    grazie

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    Se sei bravo in C++ non dovresti aver problemi a scrivere codice PHP partendo dagli esempi sopra.
    Per CMS comunque si tratta di questo.

    Ciao!

  9. #9
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Secondo me dovresti risolvere anche un problema logico. Non è detto che fare la ricerca di un nome e cognome porti un unico risultato come del resto non è neanche affidabile la ricerca tramite codice fiscale (lo stesso codice puoi essere per più persone) http://www.nomix.it/come_si_calcola_...ce_fiscale.php .Quindi nel database devi creare dei campi Id univoci che identificano quel individuo al momento dell'inserimento! Nella form vanno aggiunti anche il campo sesso e provincia (semmai un giorno vorrai calcolare il codice fiscale tramite un algoritmo messo appunto da te) e residenza (effettuando una ricerca per codice fiscale dove risultano più clienti,si può avere conferma della residenza da parte del cliente, si può dedurre che sia quasi univoco).Mentre una ricerca tramite id univoco porterà sempre ad un unico risultato.
    Ultima modifica di darbula : 15-02-2016 alle ore 17.24.53

  10. #10
    Guest

    Predefinito

    Behh il codice fiscale però è univoco, ci sono casi in cui più persone potrebbero avere lo stesso codice fiscale in base al nome cognome data nascita città etc...però nei software più all'avanguardia ,diciamo, è gestito il caso di OMOCODIA, da precisare però che non tutti i software gestiscono l'omocodia(questo dipende dallo sviluppatore, ma per me un software deve assolutamente gestirla), una volta mi sembra che a striscia fecero proprio un servizio perchè un signore non riusciva ad immettere il suo codice fiscale essendo creato con le leggi di omocodia.

    https://it.wikipedia.org/wiki/Omocodia

    Ciao

  11. #11
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    ma qui abbiamo anche una variabile di numero polizza che credo che sia un identificativo univoco per ogni contratto già stipulato. Possono esserci più contratti con numeri di polizze diverse per lo stesso cliente, ma non esisterà lo stesso numero di polizza .Quindi se lui immette nome,cognome,sesso,luogo di nascita,provincia,data di nascita e numero polizza, si dovrebbe controllare se già esiste quel numero polizza, se esiste è lo stesso cliente altrimenti è un cliente diverso a tutti gli effetti (convalidando almeno il codice fiscale con/senza omocodia almeno 16 cifre alfanumeriche no?.)ps. Allianz il numero polizza è univoco?Si parla di dati già validati, cioè di un contratto già esistente?
    Ultima modifica di darbula : 15-02-2016 alle ore 18.09.36

  12. #12
    Guest

    Predefinito

    si li ricercherei per numeno di polizza che è sempre diverso.
    quindi cosa faccio?

  13. #13
    Guest

    Predefinito

    Ma non puoi farlo in .NET?Perchè devi comunque imparare un pò di cose, nel senso se sai C++ te la cavi con il codice i cicli for foreach while, cioè la logica la conosci, ma devi un pò leggere come impostare il tutto dal PHP, calcolando che il PHP permette una versatilità che altri linguaggi non permettono(si lo so questa è sicuramente questione di dibattito, ma io sono fermamente convinto che la versatilità che si ha con PHP Java e C# la sognano :) Calcolando che C# gli devi dire function (int numero, string pippo) du maron... :) ).
    A te basta fare una pagina HTML ed un codice PHP di insert che Zanella già ti ha fatto, prendi un buon IDE io uso APTANA STUDIO, altrimenti compri zend studio(costa poco), ma Aptana va più che bene ed è gratis, si è di Eclipse però fa lo stesso(mannaggia ai javisti), per il login fai una semplice pagina di login (username e password)con la tabella utenti dove ci sei solo tu.
    Io ti posso dare dei siti dove guardare...però dovresti farlo tu altrimenti non impari nulla, poi come lo gestisci se non lo sai fare?Devi gestirlo anche...La ricerca è semplice la fai per numero polizza select * from miaTabella where numeroPolizza=$numeroPolizza.

    http://www.html.it/guide/guida-php-di-base/

    http://www.html.it/guide/guida-jquery/

    http://www.html.it/guide/guida-aptana/

    Connessione e login:

    http://www.phpnews.it/articoli/login-con-php/

    http://www.html.it/pag/16424/lestensione-mysqli/

  14. #14
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,896

    Predefinito

    Se fai il login qui e vai su database->accedi a phpmyadmin clicca my_allianzpescarariviera (sei entrato nel database) clicca sql per creare la tabella con un esempio di sintassi proposta più avanti.
    Codice:
    CREATE TABLE IF NOT EXISTS `Costumer` (
      `id` INT NOT NULL AUTO_INCREMENT,
      `nome` VARCHAR(20) NOT NULL,
      `cognome` VARCHAR(20) NOT NULL,
      `dataDiNascita` DATE NOT NULL,
      `luogoDiNascita` VARCHAR(60) NOT NULL, 
      `sesso` ENUM('M','F') NULL,
      `codiceFiscale` CHAR(16) NOT NULL,
      `indirizzo` VARCHAR(60) NOT NULL,
      `polizza` TEXT(65535) NOT NULL,
      CONSTRAINT uq_po UNIQUE (`polizza`),
      PRIMARY KEY (`id`))
    ENGINE = InnoDB;
    Creerà se già non esiste una tabella di nome Costumer con una chiave primaria auto-incrementata (integer di mysql e php se con sistema operativo a 32 bit è di 4 bytes con segno),questo serve a racchiudere tutti i clienti che potrebbero anche avere più polizze in un unico id. VARCHAR e CHAR sono dati di tipo stringa per mysql, se si ha una stringa costante si può utilizzare l'ultima che occupa meno memoria. CONSTRAINT sto indicando un indice UNIQUE unico uq_po per tabella. Mentre con ENGINE indico quale tipo di motore di mysql che in questo caso è "InnoDB". Il carattere ";" finisce l'istruzione di mysql. *Note DATE di mysql accetta YYYY-MM-DD come formato di data, ENUM (sesso) può non esserci (NULL) o M o F come valore. Mi baso sul presupposto che siano maggiori i clienti con un'unica polizza e la rendo univoca, in caso di più polizze direi di aggiungere un carattere che non compare mai es. 10000,10001,10002 qui è la virgola. Quindi sql per la ricerca di polizza cambierebbe con l'aggiunta di like
    Codice:
    SELECT `id`,`nome`,`cognome`,`dataDinascita`,`luogoDinascita`,`sesso`,`codiceFiscale`,`indirizzo`,`polizza` FROM `Costumer` WHERE `polizza` LIKE '%10001%';
    es. su stringhe di n lunghezze uguali. Dopo aver creato il database puoi continuare a fare interrogazioni sql o aggiungi in modo visuale i valori. Se devi inserire nuovi dati è bene verificare che non siano già presenti
    Codice:
    SELECT `id` , `polizza` FROM `Costumer` WHERE `codiceFiscale`='codice_valido'  AND  `indirizzo`='sempre_valido';
    Se è presente esattamente un risultato e dopo aver confrontato (con un'altra sql mostrata più avanti) se non sono già presenti polizze potrai fare una sql UPDATE, se è più di un risultato dovresti mostrare errore e non procedere lo script. Indipendentemente dalla sql di prima devi effettuare sempre e comunque un'altra sql che ti recuperi tutte le polizze
    Codice:
    SELECT `id`,`polizza` FROM `Costumer`;
    nel frattempo che fai i cicli ricordati di conservare l'id e polizza per quel id, inoltre ricordati di suddividere eventuali stringhe presenti nella colonna polizza tramite un carattere di delimitazione di inizio nuova polizza "," sia che provengono dal database o sono presenti nel tuo script, confrontale e se uguali verifica se è presente un unico id poi elimini le polizze uguali ,in caso di più id è dunque con più polizze uguali scrivi un errore, mentre in caso di più polizze uguali sullo stesso id e verificando che non sia in altri id un'altro tipo d'errore, se polizze sono presenti in entrambe, dunque più di una in un id e più in diversi id un'altro tipo di errore è dopo aver valutato i primi due controlli e a seconda se siano presenti insieme (terzo controllo) finisci lo script con adeguato errore.
    EDIT meglio non creare
    Codice:
    CONSTRAINT uq_po UNIQUE (`polizza`)
    .
    Beh che dite è già qualcosa no? hahaha (domanda retorica)
    Ultima modifica di darbula : 17-02-2016 alle ore 16.25.58

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •