• User

    Creazione di form per inserire dati in mysql

    BUongiorno a tutti,
    sono nuovo del forum ma anche nuovo nel mondo del web design.
    Premetto che oltre ad essere internauta interdetto e vecchietto sono assolutamente autodidatta.
    Ho creato da poco un sito web all'interno del quale dovrei inserire 2 pagine con dei form che mi permettano di popolare il mio DB mysql acquistato con la registrazione del dominio su dominiofaidate.
    Qualcuno di voi saprebbe gentilmente dirmi partendo da zero cosa devo fare passo per passo? oppure qualcuno saprebbe dirmi dove poter trovare un tutorial su questo argomento?
    Per la precisione ho già creato una pagina con un form contatti ed uno script php che però non mi invia la mail con le richieste fatte (non so per quale motivo). In più vorrei creare una pagina nella quale gli utenti possano iscriversi al club o alla newsletter ed inserire i dati provenienti da questo form in mysql.
    Spero riusciate ad aiutarmi, nel frattempo vi ringrazio in anticipo e vi faccio i complimenti per il forum.
    ciao
    Alex


  • ModSenior

    Ciao ghezzia,

    trovi qui qualche script/tutorial che ti può essere utile.


  • User

    Ciao Thedarkita,
    grazie della dritta, effettivamente credo di essere venuto a capo del form che invia la mail.
    Non mi sembra di aver visto nulla relativo a MySQL, però.
    é possibile?
    Ciao
    Alex


  • User

    Ciao, il mio consiglio visto che sei all'inizio e quello di creare il form ed l'inserimento dei dati nel mysql su 2 pagine ti metto un esemp con 2 variabili nome cognome, iniziamo con creare il file che contiene i dati per connettere al database lo chiamiamo config.php
    config.php
    [php]
    $db_host = " ";// qua va inserito indirizzo del database es. localhost o un ip
    $db_user = " ";// nome del user del database
    $db_pass = " ";// password del user del database
    $db_name = " ";// nome del database
    [/php]form.php ps e un normale form html
    [html]

      <form method="POST" name="test" enctype="multipart/form-data"  action="inserisci.php">
                  <table cellpadding="0" cellspacing="2"  bordercolor="#4d030d" border="2">
        
        <tr>
                             <td width="26%"><strong>Nome </strong></td>
               <td width="74%"><input class="input" type="text" name="nome" size="50" /></td>
                          </tr>
                           <tr>
                                <td width="26%"><strong>Cognome </strong></td>
                             <td width="74%"><input class="input" type="text" name="cognome" size="50" /></td>
                          </tr>
                          
                      </table>
                        
    <div id="buttom">
       <input type="submit" value="Aggiungi" name="B1" />
                            <input  type="reset" value="Reimposta" name="B2" />
      </div>
     </form>
    

    [/html]
    inserisci.php
    [php]

    include ("config.php");

    $nome_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['nome'])))));
    if ( !empty ($nome
    )) { $nome = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['nome'])))));}
    elseif (empty ($nome
    )){die ( "<p style=" font-weight:bold; text-align:center;">Errore nella compilazione dei dati. <br />Non hai indicato il Nome.<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");}

    $cognome_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['cognome'])))));
    if ( !empty ($cognome
    )) { $cognome = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['cognome'])))));}
    elseif (empty ($cognome
    )){die ( "<p style="font-weight:bold; text-align:center;">Errore nella compilazione dei dati. <br />Non hai indicato il Cognome.<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");}

    htmlentities ( $nome, $cognome, ENT_NOQUOTES );

    $strsql = "INSERT INTO NOME_TABELLA_DATABASE (nome, cognome) VALUES ('$nome', '$cognome')";
    $rs=@mysql_query ("$strsql") or die ("Errore di Connessione" .mysql_error());
    header("location: form.html");
    [/php]Finito ovvio che NOME_TABELLA_DATABASE e il nome della tabella dove salvare i dati e (nome, cognome) sono delle colonne della tabella.
    Se non sai come creare delle tabelle nel database gurada sta le guide del forum che trovi qualcosa.
    Ciao ciao.


  • User

    Grazie spirit19!
    Scusa se rispondo solo ora ma impegni lavorativi mi hanno tenuto lontano dal forum per un pò.
    Vediamo se ho capito bene:
    1-Creo una pagina intitolata form.html col codice che mi hai scritto, Giusto?
    2-Creo una pagina intitolata form.php che include sia il codice config.php nel quale ovviamente devo inserire user e password (tra le virgolette) di accesso generali (cioè le mie), sia il codice inserisci.php, giusto?
    dopodichè tutto funziona correttamente?
    Scusa se faccio il riassuntino, ma come ti dicevo sono veramente neofita.
    Grazie ancora dei suggerimenti.
    ciao
    Alex


  • User Attivo

    Ciao ghezzia, come va lo script che invia le mail, chiedevo se invii una mail ad un iscritto di libero gli arriva?
    Te lo chiedo perchè a me invia a tutti la mail tranna che agli iscritti di libero.
    Ciao da danny.


  • User

    CIAO DANNY 1975,
    in verità lo script si riferisce ad un form che poi viene inviato a me dal sito con i dati inseriti, e non ad un invio di e-mail ad un ipotetico iscritto. Quindi non ti so rispondere.
    CIao
    Alex


  • User

    Ciao ghezzia
    la pagina con il form e solo una la puoi chiamare form.html perchè non ha codice php, ma se la chiami form.php funziona ugualmente.
    Il file/pagina config.php viene inclusa nella pagina inserisci.php.
    Ricorda che nella pagina inserisci.php hai i campi obblicatori grazie al ramo if else
    [php]
    $nome_ = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['nome'])))));
    //Guarda Qui
    if ( !empty ($nome
    )) { $nome = addslashes(ltrim(rtrim(strip_tags(stripslashes($POST['nome'])))));}
    elseif (empty ($nome
    )){die ( "<p style=" font-weight:bold; text-align:center;">Errore nella compilazione dei dati. <br />Non hai indicato il Nome.<br /><br />
    <a href="javascript:history.go(-1)" title="Torna indietro">Torna indietro.</a></p>");}
    [/php]
    se non vuoi campi obblicatori scrivi cosi

    [php]
    $nome = addslashes(ltrim(rtrim(strip_tags(stripslashes($_POST['nome'])))));
    [/php]
    per adesso e tutto;)
    Ciao.


  • User

    Scusa Spirit19, ma io sono un pò dè coccio, come dicono a roma.
    Mi sembra quindi di capire che creo una pagina con il form (form.html), e dopo una pagina inserisci.php nella quale inserisco anche il codice config.php. Corretto?
    Grazie ancora.
    ciao
    alex


  • User

    Tranquillo;) si e Corretto.
    Ciao.


  • User

    Grazie Spirit,
    forse sono riuscito ad inserire quanto volevo.
    Adesso vorrei inserire nel form che ho già pubblicato una serie di opzioni che a seconda di quale venga flaggata oltre ad inserire i dati in MySQL mi mandi una mail ad un account differente.
    Per Intenderci se uno vuole informazioni sulle gite, flagga l'opzione gite sul form e la mail viene inviata a gite chiocciola miodominio.it, diversamente se viene flaggata un'altra opzione dovrà essere inviata ad un'altra e-mail.
    Spero sia chiaro quanto voglio fare.
    Ringrazio ancora per quanto suggerito fin'ora e per quanto suggerirete ancora.
    Ciao
    Alex


  • User

    Ciao a tutti,
    rieccomi con nuovi dubbi..
    Ho provato a creare su ogni pagina del mio sito un piccolo form per l'iscrizione alla newsletter (2 campi: Nome ed indirizzo e-mail).
    L'unica cosa che non riesco a configurare è l'inserimento di questi 2 dati nel DB ed un'eventuale risposta all'utente che dica:"ok! sottoscrizione newsletter avvenuta con successo!".
    Ho provato a cercare fra i vari script di PHP ma non ho trovato nulla.
    Riuscireste a darmi un'ulteriore mano?
    Grazie
    ciao
    Alex