Come inviare dati alla database MySQL utilizzando PHP

December 17, 2021

La prima cosa che devi imparare è sapere come inviare i dati di invio alla tua pagina di ringraziamento. Puoi leggere e imparare da questa guida:

Supponendo che tu abbia impostato il tuo modulo per inviare dati a una pagina URL personalizzata, dovrai fare un po ‘di programmazione PHP / MySQL per creare un modulo su MySQL.

I dati inviati da Jotform sono in realtà un array, quindi per scoprire le chiavi ei valori dell’array, dovrai provare a inserirlo nel tuo script:

 print_r$_POST );   ?>

Dopodiché: effettua un invio effettivo per testare il modulo e ottenere il risultato. Una volta inviato il modulo, dovrebbe essere reindirizzato al tuo URL di ringraziamento personalizzato che riceverà i dati del post. Ecco un esempio dei dati da un modulo di esempio:

https://www.jotform.com/form/11814245193

Array
(
    [submission_id] => 186725738203177939
    [formID] => 11814245193
    [ip] => 203.177.93.98
    [name] => sample name test data
    [email] => email@example.com
    [phonenumber13] => Array
        (
            [0] => 3343
            [1] => 4234
        )
    [subject7] => Technical Support assistance
    [message6] => test
)

Inoltre, puoi testare il tuo script PHP tramite Postman Tool. Puoi scaricare Postman da questo link.

Puoi testare il tuo script PHP per vedere i dati di invio pubblicati ed eseguire facilmente semplici metodi di debug anche nel tuo ambiente locale.

Facciamo una semplice richiesta POST con il nostro script PHP usando Postman.

Puoi scaricare l’esempio di script PHP da qui.

(Non esitare di inviare una richiesta utilizzando questo modulo per vedere tu stesso il risultato dell’array)

Ora che abbiamo le chiavi, possiamo ora giocare con queste informazioni, creare i tuoi campi sul tuo database. Come per questo esempio, questo è l’aspetto dei miei campi:

Creazione del tuo script PHP

Ora che hai creato il tuo database, puoi iniziare a creare il tuo script PHP.

Passaggio 1: per prevenire possibili vulnerabilità di SQL injection al database, sarà necessario eseguire la funzione Addlash () di PHP per ogni variabile di post. E poiché i dati $ _POST sono un array, creiamo una funzione che eseguirà un ciclo su ogni variabile:

//Questa funzione verrà eseguita all'interno di ogni array di post, inclusi gli array multidimensionali
function ExtendedAddslash(&$params)
{
        foreach ($params as &$var) {
            // controlla se $ var è un array. In caso affermativo, avvierà un'altra funzione ExtendedAddslash () per eseguire il ciclo su ogni tasto all'interno.
            is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
        }
}
     // Inizializza la funzione ExtendedAddslash () per ogni variabile $ _POST
    ExtendedAddslash($_POST);     
?>

Passaggio 2: ho identificato ogni dato POST con una variabile. Noterai anche che ho unito le due variabili POST del numero di telefono in una (mi è piaciuto così :)):

$submission_id = $_POST['submission_id'];
$formID = $_POST['formID'] ;
$ip = $_POST['ip'] ;
$name = $_POST['name'] ;
$email = $_POST['email'] ;
$phonenumber = $_POST['phonenumber13'][0] ."-". $_POST['phonenumber13'][1] ;
$subject = $_POST['subject7'] ;
$message = $_POST['message6'] ;
?>

Passaggio 3: ora inizializziamo la connettività del database per lo script su MySQL

$db_host = 'db hostname here';
$db_username = 'db username here';
$db_password = 'db password here';
$db_name = 'name of your database';mysql_connect( $db_host, $db_username, $db_password) or die(mysql_error());
mysql_select_db($db_name);
?>

Passaggio 4: per verificare se è necessario eseguire un inserimento o un aggiornamento, è necessario inizializzare una ricerca se l’ID di invio esiste e quindi impostare una condizione per cui, se l’ID di invio esiste, un aggiornamento deve essere inizializzato utilizzando tale ID di invio. E se non c’è corrispondenza con l’ID di invio, verrà effettuato un nuovo inserimento:

// ricerca dell'ID invio
$query = "SELECT * FROM `table_name` WHERE `submission_id` = '$submission_id'";
$sqlsearch = mysql_query($query);
$resultcount = mysql_numrows($sqlsearch);
if ($resultcount > 0) {
 
    mysql_query("UPDATE `table_name` SET
                                `name` = '$name',
                                `email` = '$email',
                                `phone` = '$phonenumber',
                                `subject` = '$subject',
                                `message` = '$message'       
                             WHERE `submission_id` = '$submission_id'")
     or die(mysql_error());
   
} else {
    mysql_query("INSERT INTO `table_name` (submission_id, formID, IP,
                                                                          name, email, phone, subject, message)
                               VALUES ('$submission_id', '$formID', '$ip',
                                                 '$name', '$email', '$phonenumber', '$subject', '$message') ")
    or die( mysql_error()); 
}
?>

Fatto. Assegna allo script il nome del tuo file php di ringraziamento e caricalo in modo che corrisponda al dettaglio esatto che hai impostato nel tuo URL di ringraziamento personalizzato

Ecco lo script completo:

// Questa funzione verrà eseguita all'interno di ogni array di post, inclusi gli array multidimensionali
function ExtendedAddslash(&$params)
{
        foreach ($params as &$var) {
            // controlla se $ var è un array. In caso affermativo, avvierà un'altra funzione ExtendedAddslash () per eseguire il ciclo su ogni tasto all'interno.
            is_array($var) ? ExtendedAddslash($var) : $var=addslashes($var);
            unset($var);
        }
}
// Inizializza la funzione ExtendedAddslash () per ogni variabile $ _POST

ExtendedAddslash($_POST);     
$submission_id = $_POST['submission_id'];
$formID =$_POST['formID'];
$ip =$_POST['ip'];
$name =$_POST['name'];
$email =$_POST['email'];
$phonenumber =$_POST['phonenumber13'][0] ."-". $_POST['phonenumber13'][1];
$subject =$_POST['subject7'];
$message =
Questa guida è stata utile?
Contatta il Supporto:

Il nostro servizio clienti è disponibile 24/7 e il tempo medio di risposta è tra una e due ore.
Puoi contattare il nostro team via:

Support Forum: https://www.jotform.com/answers/

Contatta il Supporto Jotform: https://www.jotform.com/contact/

Invia un Commento:

Jotform Avatar
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Commento:

Podo CommentCommenta per primo.