Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    7

    Aiuto per registrare dei dati nel database

    Salve a tutti,

    sto cercando di dare forma ad un semplice sito. Sono riuscito a fare un form per l'inserimento di alcuni dati, ma quando si tratta di scriverli nel database non funziona...!
    Cosa c'è che non va nel codice che ho scritto?
    NB. Lo script SEMBRA funzionare, perché alla fine compare "Grazie, ti contatteremo al più presto" e non qualche messaggio di errore o il messaggio "impossibile eseguire l'operazione". Tuttavia, quando vado a controllare il database non c'è niente! Spero mi possiate aiutare!

    <php

    include("dir-inc/ciaociao.inc");
    $database = "amici";

    $cxn = mysqli_connect($host,$user,$password,$database)
    or die ("Impossibile connettersi al server.");

    if ($_POST[categoria] == "associazioni")
    {
    $query = "INSERT INTO associazioni (nome, via, cap, città, provincia, email, tel, fax, descrizione) VALUES ('$_POST[nome]', '$_POST[via]', '$_POST[cap]', '$_POST[città]', '$_POST[provincia]', '$_POST[email]', '$_POST[tel]', '$_POST[fax]', '$_POST[descrizione]')";

    $result = mysqli_query($cxn, $query)
    or die ("Impossibile eseguire l'operazione.");
    }

    elseif ($_POST[categoria] == "privati")
    {
    $query = "INSERT INTO privati (nome, cognome, via, cap, città, provincia, email, tel, fax, descrizione) VALUES ('$_POST[nome]', '$_POST[cognome], '$_POST[via]', '$_POST[cap]', '$_POST[città]', '$_POST[provincia]', '$_POST[email]', '$_POST[tel]', '$_POST[fax]', '$_POST[descrizione]')";

    $result = mysqli_query($cxn, $query)
    or die ("Impossibile eseguire l'operazione.");
    }

    echo "<h3>Grazie, ti contatteremo al più presto</h3>";

    ?>

  2. #2
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    In questo modo dovrebbe inserirti correttamente i dati nel database...

    Codice PHP:
    <?php

    // Parametri per la connessione al database

    $db_host "";
    $db_user "";
    $db_pass "";
    $db_name "";

    // Ci colleghiamo al database

    $db_conn mysql_connect($db_host$db_user$db_pass) or die ("Errore connessione:" mysql_error());
    mysql_select_db($db_name$db_conn);

    $nome $_POST['nome'];
    $via $_POST['via'];
    $cap $_POST['cap'];
    $citta $_POST['citta'];
    $provincia $_POST['provincia'];
    $email $_POST['email'];
    $tel $_POST['tel'];
    $fax $_POST['fax'];
    $descrizione $_POST['descrizione'];

    // Inseriamo la query

    $query "INSERT INTO `nometabella` (`nome`, `via`, `cap`, `citta`, `provincia`, `email`, `tel`, `fax`, `descrizione`) VALUES ('$nome', '$via', '$cap', '$citta', '$provincia', '$email', '$tel', '$fax', '$descrizione')"

    $result mysql_query($query$db_conn) or die ("Errore connessione:" mysql_error());
    $num_rows mysql_num_rows($result);

    mysql_close();

    ?>
    Cmq nel tuo script precedente non riesco a capire quell "mysqli_connect" lo stesso per "mysqli_query"
    Con i sogni possiamo conoscere il futuro...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    7
    Grazie per la risposta!

    Tuttavia, penso che non mi possa aiutare a risolvere il problema. Il fatto è che io riesco effettivamente ad aggiungere i dati al database se si tratta di inserirli in una sola tabella. Il problema è che io vorrei inserire le informazioni su DUE tabelle distinte, a seconda del valore di una variabile passata dal form. Mi spiego meglio: se $_POST['categoria'] è "associazioni", allora le informazioni vanno inserite nella tabella "associazioni"; al contrio, se $_POST['categoria'] è "privati" allora le informazioni devono essere inserite nella tabella "privati". Come si può fare? Grazie per tutte le eventuali risposte! Sto facendo il sito di un festival di cortometraggi organizzato da un'associazione culturale di amici e che si terrà ad agosto. Il tempo stringe, e vorrei riuscire a mandare in rete il sito per la fine di giugno (massimo!).

    Ricroma

  4. #4
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    mysqli è un nuovo oggetto inserito in php5, per questo non è possibile utilizzarli in quel modo, bisogna usare istanze e metodi

  5. #5
    Utente di HTML.it L'avatar di dararag
    Registrato dal
    Jan 2008
    Messaggi
    434
    <?php

    // Parametri per la connessione al database

    $db_host = "";
    $db_user = "";
    $db_pass = "";
    $db_name = "";

    // Ci colleghiamo al database

    $db_conn = mysql_connect($db_host, $db_user, $db_pass) or die ("Errore connessione:" . mysql_error());
    mysql_select_db($db_name, $db_conn);

    $nome = $_POST['nome'];
    $via = $_POST['via'];
    $cap = $_POST['cap'];
    $citta = $_POST['citta'];
    $provincia = $_POST['provincia'];
    $email = $_POST['email'];
    $tel = $_POST['tel'];
    $fax = $_POST['fax'];
    $descrizione = $_POST['descrizione'];
    $categoria = $_POST['categoria'];
    // Inseriamo la query

    $query = "INSERT INTO $categoria (nome, via, cap, citta, provincia, email, tel, fax, descrizione) VALUES ('$nome', '$via', '$cap', '$citta', '$provincia', '$email', '$tel', '$fax', '$descrizione')";

    $result = mysql_query($query, $db_conn) or die ("Errore connessione:" . mysql_error());
    $num_rows = mysql_num_rows($result);

    mysql_close();

    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.