Visualizzazione risultati 1 fino 11 di 11

Discussione: [php e MySQL in locale] invio dati a database

  1. #1
    Guest

    Predefinito [php e MySQL in locale] invio dati a database

    ho installato Apache, il modulo di php, e il database MySQL per poter testare tutto off line.
    funziona quasi tutto bene, ma ho un problema nel mandare informazioni a una tabella con il metodo POST. Praticamente ho una pagina con il form che chiede all'utente i dati da inserire che poi manda con il metodo post i dati a un'altra pagina che dovrebbe salvarli sul database, da quello che ho capito praticamente all'altra pagina arrivano dati vuoti cosicchè sul database arriva una nuova riga con tutti i dati vuoti. perchè???
    i codici delle due pagine sono:

    Codice PHP:
    <?php
    include ("config.inc.php");
    ?>
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>

    <form method="post" action="save_quiz.php">
    Domada1:
    <input type=text size=40 name="domanda1"><br>
    Domada2:
    <input type=text size=40 name="domanda2"><br>
    Domada3:
    <input type=text size=40 name="domanda3"><br>
    Domada4:
    <input type=text size=40 name="domanda4"><br>
    Domada5:
    <input type=text size=40 name="domanda5"><br>
    <input type=submit name=submit value=Invia>
    </form>
    </body>
    </html>
    e
    Codice PHP:
    <?php
    include("config.inc.php");
    ?>
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <?
    $db
    = mysql_connect($db_host, $db_user, $db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "INSERT INTO quiz (dom1, dom2, dom3, dom4, dom5) VALUES ('$domanda1', '$domanda2', '$domanda3', '$domanda4', '$domanda5')";
    if (
    mysql_query($query, $db))
    echo
    "Il quiz è stato creato correttamente";
    else
    echo
    "Erorre durante l'inserimento";
    mysql_close($db);
    ?>
    </body>
    </html>
    ovviamente il file config.inc.php contiene i dati di accesso al database.
    lo strano è anche che mi viene scritto che è stato inserito correttamente...

    spero qualcuno mi possa aiutare...
    grazie

  2. #2
    Guest

    Predefinito

    x il poco ke me ne intendo.. prova utilizzando questa variabile

    Codice PHP:
    $_POST['domanda1']
    invece ke la semplice $domanda1

    ciauz!

  3. #3
    Guest

    Predefinito

    l'avevo pensato ank'io, ma così facendo mi da erorre.

  4. #4
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

  5. #5
    Guest

    Predefinito

    No, il casino è che nn mi da errore, con i codici che ho scritto all'inizio mi dice che è andato tutto ok ma se guardo nel database con phpadmin trovo la riga senza i dati.

  6. #6
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    Si, ma usando il metodo suggerito + su, che errore da?

  7. #7
    Guest

    Predefinito

    allora, dovrebbe essere
    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\programmi\apache group\apache\test\save_quiz.php on line 15

    il fatto è anche che facendo quello che o scritto all'inizio ma sul server di AV funziona.

  8. #8
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    ovvio, fai così:

    <?php
    include("config.inc.php");

    $domanda1 = $_POST['domanda1'];
    $domanda2 = $_POST['domanda2'];
    $domanda3 = $_POST['domanda3'];
    $domanda4 = $_POST['domanda4'];
    $domanda5 = $_POST['domanda5'];

    ?>
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <?
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

    $query = "INSERT INTO quiz (dom1, dom2, dom3, dom4, dom5) VALUES ('$domanda1', '$domanda2', '$domanda3', '$domanda4', '$domanda5')";
    if (mysql_query($query, $db))
    echo "Il quiz è stato creato correttamente";
    else
    echo "Erorre durante l'inserimento";
    mysql_close($db);
    ?>
    </body>
    </html>

  9. #9
    Guest

    Predefinito

    perfetto!!!
    ma perchè invece se pubblicato nn occorre fare ciò??

  10. #10
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Citazione Originalmente inviato da redman26
    il fatto è anche che facendo quello che o scritto all'inizio ma sul server di AV funziona.
    Dunque.. il mio "parser" grammaticale ha avuto qualche problema ad analizzare questa frase
    Ma mi sembra di aver capito che sull'Apache che hai sul PC NON va mentre su quello di AV funziona tutto, giusto?
    Quindi ne deduco che SupernovaITA ha centrato il problema, quindi l'attenzione si sposta sull'errore di parsing che ti dà inserendo $_POST['domanda1']
    perché evidentemente non lo scrivi così com'è DENTRO la stringa ed è ovvio che dà errore, quindi:
    O fai -come ho visto proprio or ora- come dice mythologia

    oppure, per evitare problemi simili in futuro basta che elementi complessi (cioè non variabili semplici come $pippo ma elementi di array $_POST['pippo']) li includi dentro una stringa continua con le parentesi GRAFFE {} oppure concatenandoli:
    1) graffe:
    "...VALUES ('{$_POST['domanda1']}', ..."
    2) concatenazione:
    "...VALUES ('". $_POST['domanda1'] ."', ..."


    Edit:
    Citazione Originalmente inviato da redman26
    perfetto!!!
    ma perchè invece se pubblicato nn occorre fare ciò??
    Perché su AV è abilitata l'opzione "register globals"
    se ne è parlato anche oggi cerca nel forum "register globals"
    Ultima modifica di heracleum : 03-01-2006 alle ore 23.34.49
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  11. #11
    L'avatar di mythologia
    mythologia non è connesso Moderatore
    Data registrazione
    05-01-2004
    Messaggi
    2,614

    Predefinito

    dipende dalle registers_global
    ti consiglio di usare il codice che ti ho dato io...

Regole di scrittura

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