Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    passaggio valori fa form html a variabile php..

    Ciao , sono principiante! che bello...
    ho creato un form in html
    FORM method="POST" action="esegui_inserimento.php">
    ------------------


    Your Name:

    <INPUT type="text" name="user_name" size=30></p>


    Your surname:

    <INPUT type="text" name="user_surname" size=30></p>



    ----------------nel file esegui_inserimento.php -----
    vorrei fare utilizzare ciò che è memorizzato nella variabili
    user_name e user_surname
    quindi scrivo :

    <?
    $query ="INSERT INTO test.identity (nome, cognome) VALUES ($user_name, $user_surname)";
    if (mysql_query($query))
    echo "fatto! ";
    else
    echo "Errore durante l'inserimento";


    ?>

    Cosa sto sbagliando ?!! pare che le due variabili siano vuote!
    Grazie in anticipo andrea

  2. #2
    Hai provato così:

    Codice PHP:

    <?
    $query 
    ="INSERT INTO test.identity (nome, cognome) VALUES ('".$_POST['user_name'].", ".$_POST['user_surname'].")";
    if (
    mysql_query($query))
    echo 
    "fatto! ";
    else
    echo 
    "Errore durante l'inserimento";


    ?>
    Dovunque si va, non si può fare a meno di incontrare persone intelligenti. È divenuta una vera peste.
    Oscar Wilde

  3. #3
    si continua a dirmi errore durante l'inserimento,
    e se provo a visualizzare il contenuto delle variabili
    è vuoto! :-(
    comunque grazie mille per la tua risposta. ciao Andrea

  4. #4
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    I campi stringa in SQL vanno obbligatoriamente inseriti fra apici singoli.

    $query ="INSERT INTO test.identity (nome, cognome) VALUES ('$user_name', '$user_surname')";

  5. #5
    mettendolo fra apici la variabile l'inserimento funziona ovvero aggiunge una riga vuota alla tabella questo perché nelle due variabili non c'è scritto niente.
    Adesso rimane solo da capire come mai nelle due variabili non viene passato nessun dato .
    il codice html che utlizzo è il seguente:

    <FORM method="POST" action="ins_table.php">


    ADD Your Forename:

    <INPUT type="text" name="user_name" size=30></p>


    ADD Your Surname:

    <INPUT type="text" name="user_surname" size=30></p>
    <INPUT type="submit" value="Salva">
    Grazie davvero.
    Andrea

  6. #6
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    All'inizio del tuo script prova a mettere un bel:

    print_r($_POST);

    Poi magari dicci che versione di PHP hai che se ne hai una vecchia..

  7. #7
    questo è il risultato :
    Array ( [user_name] => mario [user_surname] => rossi ) fatto!
    questo è quello che riporta utilizzando la print_r($_POST);
    Quindi i dati vengono passati.
    Allora forse l'errore è nella insert?

    print_r($_POST);
    $query ="INSERT INTO test.identity (nome, cognome) VALUES ('$user_name','$user_surname')";
    if (mysql_query($query))
    echo "fatto! ";
    else
    echo "Errore durante l'inserimento";

  8. #8
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    E' che non hai fatto come ti hanno detto sopra:

    $query ="INSERT INTO test.identity (nome, cognome) VALUES ('".$_POST['user_name'].", ".$_POST['user_surname'].")";

    Ti spiego brevemente il motivo: nel PHP.INI c'e' una impostazione che si chiama register_globals. Da una certa versione in poi, si e' deciso di impostarla a Off piuttosto che a On.

    Con register_globals = on se chiami uno script cosi:

    script.php?id=1

    ti trovi automaticamente una variabile che si chiama $id e che vale 1. Questo puo' causare malfunzionamenti o facilitare exploit vari.

    Con register_globals off, invece, le variabili non le trovi definite automaticamente, ma trovi definito solo l'array $_POST per le variabili di POST, e l'array $_GET per quelle di GET; trovi tutto nell'array $_REQUEST (che include entrambe).

    Hai due possibilita: o usi la query che ti ho scritto sopra e che ti avevano scritto prima, oppure importi le variabili a mano:

    $user_name = $_POST['user_name'];
    $user_surname = $_POST['$user_surname'];

    e usi la tua query originale

  9. #9
    grazie... ma ancora da problemi ...sembra una tale cazzata...
    l'ho scritta provando in tutti e due i modi:
    questo:
    $user_name = $_POST['user_name'];
    $user_surname = $_POST['$user_surname'];
    print_r($_POST);
    $query ="INSERT INTO test.identity (nome, cognome) VALUES ($user_nome,$user_surname)";

    oppure questo:
    print_r($_POST);
    $query ="INSERT INTO test.identity (nome, cognome) VALUES ('".$_POST['user_name'].", ".$_POST['user_surname'].")";
    il risultato è lo stesso..ottengo sempre errore durante l'inserimento!

    grazie lo stesso..

  10. #10
    Utente di HTML.it L'avatar di *Ray*
    Registrato dal
    Oct 2000
    Messaggi
    495
    Ti sei dimenticato gli apici singoli

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 © 2025 vBulletin Solutions, Inc. All rights reserved.