Visualizzazione risultati 1 fino 15 di 15

Discussione: Interagire con il DB

  1. #1
    Guest

    Predefinito Interagire con il DB

    Ciao a tutti,
    è da un pò che cerco di realizzare una pagina in php che mi consenta di aggiungere una nuova voce in una tabella del mio database. Purtroppo non riesco a farlo, poichè mi da errore nella query di inserimento. Come posso fare? Qualcuno può scrivermi queste poche righe di codice necessarie a raggiungere il mio obiettivo?

    Il codice che ho scritto io adesso è:

    <?php
    $conn = mysql_connect("localhost", "root", "");
    if (! $conn)
    {
    echo ("Errore durante la connessione al database.");
    exit();
    }
    else
    {
    echo ("Connesso.");
    }
    mysql_select_db("nome_database");
    $news = 1;
    $nome = "Tizio";
    $e_mail = "tizio@email.it";

    $insert = "INSERT INTO 'nome_database.tabella` (";
    $insert .= "`ID`, `NEWS`, `NOME`, `E_MAIL`) VALUES ('', '$news',";
    $insert .= "'$nome', '$e_mail');";

    $risultato = mysql_query($insert);
    if (! $risultato)
    {
    echo("Errore nel comando insert.");
    exit();
    }
    $numero = mysql_num_rows($risultato);
    if ($numero == 0)
    {
    echo ("Database vuoto.");
    }
    mysql_close($conn);
    ?>

    Ovviamente l'integrazione con i moduli html la creerò io dopo... questa mi serve come prova!

    Ringrazio tutti per l'eventuale aiuto!


    Madar

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Vorresti tu essere l'utente root... vero?

    Scherzi a parte, questo è quello che devi scrivere, queste righe, dato che sono sempre le stesse qualsiasi operazione tu faccia sul DB, puoi anche metterle in un file a parte che poi includerai (il famoso config.php):
    Codice PHP:
    $server = "localhost";
    $user = "madar";
    $pwd = ...; // qui la tua password
    $database = "my_madar";

    $db = @mysql_connect ($server, $user, $pwd) or die ("Impossibile connettersi al database!");
    mysql_select_db ($database, $db) or die ("Impossibile selezionare il database!");
    Per quanto riguarda l'inserimento, queste le righe che devi scrivere, ovviamente dopo quelle precedenti:
    Codice PHP:
    $query = "INSERT INTO NomeTabella (Campo1, Campo2, ...) VALUES (Valore1, Valore2, ...)";
    if (
    mysql_query ($query, $db))
    echo (
    "Inserimento riuscito!");
    else
    echo (
    "Impossibile inserire il record!");
    Stammi bene...
    Ultima modifica di dementialsite : 17-12-2005 alle ore 17.40.07
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Grazie per l'aiuto... purtroppo non sono molto espero nella gestione di database in php e mysql ^^ sto cercando di imparare!

    Provando comunque come mi hai consigliato, mi fa avviare la connessione con il server, ma mi blocca la selezione del database. Non mi fa selezionare il database "my_madar". Da cosa dipende?

    Ecco il codice che ho usato (praticamente il tuo...) sempre in fase di prova:

    <?php
    $server = "localhost";
    $user = "root";
    $pwd = "";
    $database = "my_madar";

    $db = @mysql_connect ($server, $user, $pwd) or die ("Impossibile connettersi al database!");

    mysql_select_db ($database, $db) or die ("Impossibile selezionare il database!");

    $news = 1;
    $nome = "TIZIO";
    $e_mail = "tizio@email.it";
    $query = "INSERT INTO utenti (ID, NEWS, NOME, E_MAIL) VALUES ('', $news, $nome, $e_mail)";
    if (mysql_query ($query, $db))
    echo ("Inserimento riuscito!");
    else
    echo ("Impossibile inserire il record!");

    mysql_close($conn);
    ?>

    Da cosa dipende il fatto che non mi fa selezionare il database? Ovviamente per adesso voglio entrare come root... perchè è in fase di test!
    Ultima modifica di madar : 17-12-2005 alle ore 18.02.13

  4. #4
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da madar
    Da cosa dipende il fatto che non mi fa selezionare il database? Ovviamente per adesso voglio entrare come root... perchè è in fase di test!
    Metti il codice tra i tag PHP,altrimenti i posts vengono lunghissimi...
    Comunque usi il tutto in locale,vero?
    Perchè l'utente "root" su AV nn si può usare e quindi potrebbe essere quello il motivo dell'errata connessione...

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al posto di root devi mettere madar.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da madar
    Da cosa dipende il fatto che non mi fa selezionare il database?
    Ma stai provando in locale o su AV?
    In locale il problemqa potrebbe essere che il database my_madar non esiste, su AV potrebbe essere che non hai attivato il MySQL, per farlo entra nel pannello di controllo, vai in tools, risorse e upgrades e segui le istruzioni.

  7. #7
    Guest

    Predefinito

    Si lo provavo in locale... e giustamente non mi trovava il database ^^ un errore stupido direi... :P

    Grazie a tutti! Una sola domanda adesso... voi che ne sapete più di me... facendo un file php che contiene le informazioni per connettermi al DB, chiunque può avere la pwd di accesso semplicemente copiando il file... giusto? come posso fare per creare una connessione che non riveli la pwd accedendo al file php?

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Per scaricare il codice devo riuscire a entrare nel Pannello di AlterVista, tramite FTP o da un sito esterno. Quindi se uno riesce a farlo ha già la tua password perché da siti esterni non si dovrebbe riuscire e anche se lo aprissi con un browser mi farebbe vedere una pagina bianca.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Ospite Guest

    Predefinito

    Citazione Originalmente inviato da madar
    facendo un file php che contiene le informazioni per connettermi al DB, chiunque può avere la pwd di accesso semplicemente copiando il file... giusto? come posso fare per creare una connessione che non riveli la pwd accedendo al file php?
    Il file nn può essere copiato,per farlo bisogna avere accesso al tuo account.
    Quindi nn preoccuparti...
    EDIT:Funcool mi ha preceduto un'altra volta...

  10. #10
    Guest

    Predefinito

    Ma se io apro una pagina php, me la mostra in bianco... cliccando però con il destro e poi su HTML mi mostra tutto lo scheletro... forse lo fa perchè riconosce la connessione con i miei dati? O lo fa comunque con tutti gli utenti? Provate con una vostra pagina in php e fatemi sapere ^^
    Grazie!

  11. #11
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Comunque può produrre solo codice HTML e non verrà mai fuori la tua password se non la fai uscire tu.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  12. #12
    Guest

    Predefinito

    ma sei sicuro che l'estensione della pagina sia .php?
    Se è in php non dovrebbe visualizzare il suo codice.

  13. #13
    Guest

    Predefinito

    Si è in php... però ho provato da un altro pc e non lo visualizza...
    Sul computer mio ho installato EASYPHP... può darsi che essendo comunque un file che ho testato in locale, me lo ha caricato dal mio pc stesso... comunque ho avuto la prova... non si vede ^^

    Grazie!

    Adesso una mia curiosità!!
    Se volessi creare un'area riservata per i soli iscritti... come posso fare per non far accedere alla pagina se non dopo aver inserito la password e il nome utente? potrei creare una tabella nel DB che mi aggiorna sempre chi ha effettuato l'accesso e se non lo trova chiede di effettuarlo... che ne dite? Se avete consigli più semplici, vi chiedo di aiutarmi ^^
    L'unica cosa che dovrei poi gestire è che una volta chiusa la pagina, l'utente dovrebbe essere cancellato da tale tabella... come fare?

    Grazie!!

    Madar
    [non chiamatemi rompi***** :P ma certamente ne sapete più di me e... vorrei apprendere da voi!]
    Ultima modifica di madar : 19-12-2005 alle ore 01.11.59

  14. #14
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    La tabella la devi sì creare, ma per conservare PER SEMPRE (o, almeno, fino a disiscrizione) le informazioni relative ai tuoi utenti (nome utente e password per capirci) e non solo durante la sessione da registrati. La gestione del login e del logout si fa attraverso le sessioni PHP. Prova a cercare qualcosa in rete, ne troverai di tutorial...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  15. #15
    Guest

    Predefinito

    Grazie, anche se ho cercato ma quello che ho trovato non mi è del tutto "comprensibile"... Si parla di diversi file... config.php, common.php e ovviamente login.php e logout.php...

    Cercherò di capirne qualcosa in più, grazie per l'aiuto!

Regole di scrittura

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