php-mysql script per convertire valori $_POST

user_francesco

Nuovo Utente
28 Nov 2012
6
0
0
Buongiorno a tutti, da poco sto studiando php-mysql, vorrei realizzare uno script che converta e formatti tutti i valori dei vari $_POST prima di inviarli al db.
Ho trovato i rete uno script molto utile per applicare gli addslashes a tutti i valori contenenti l'apice provenienti da un form tramite i S_POST.
Eccolo
function as_array(&$arr_r)
{
foreach ($arr_r as &$val) is_array($val) ? as_array($val):$val=addslashes($val);
unset($val);
}
as_array($_POST);

messo prima di
$insert = mysql_query ("INSERT INTO anagrafica (nome, data_nascita) VALUES ('$_POST[nome]','$_POST[data_nascita]')");
funziona perfettamente e i dati vengono scritti nei campi di mysql così: es.: D'Aquila

Sto cercando ora di realizzare uno script che permetta di fare più conversioni sui vari $_POST utilizzando un filtro sul nome del campo (ad esempio tutti i nome campi che iniziano con data_ per convertire anche la data d'inserimento nel form in formato mysql), ma riesco a stampare i valori esatti prima di $insert = mysql_query ("INSERT INTO bla bla
da lì in poi tornano ad essere non convertiti, qualcuno sa indicarmi dove sbaglio?
ecco il codice con le verifiche echo prima e dopo INSERT INTO

<?PHP
// memorizzo nell'array campiControllati tutti i campi che sono arrivatati da $_POST
$campiControllati = checkCampo($_POST, "data_");

// Esempio di conversione con un prefisso data_

foreach ($campiControllati as $chiave => $valore)
echo $campiControllati[$chiave] . "<br/>";

function checkCampo($campi, $prefisso) {

foreach ($campi as $key => $value) {
// Converte la data in formato MYSQL
if (substr($key, 0, strlen($prefisso)) == "data_") {
$campi[$key] = date('Y-m-d',strtotime($campi[$key]));
}
// Spazio per inserie altri prefissi da convertire
// .....

// Aggiunge lo SLASH ai campi che contengono l'apice
$campi[$key] = addslashes($campi[$key]);
}

// restituisce l'array con i campi convertiti
return $campi;
}

$insert = mysql_query ("INSERT INTO anagrafica (nome, data_nascita) VALUES ('$_POST[nome]','$_POST[data_nascita]')");
echo $_POST[nome]."<br/>";
echo $_POST[data_nascita];
?>

AL primo echo li stampa formattati correttamente per mysql, es.:
D\'Aquila
1986-02-05
ma quando arrivano a $insert = mysql_query ("INSERT INTO bla bla
tornano ad essere non convertiti (vedi ultimi echo di esempio)
D'Aquila
05-02-1986

Sapete dirmi come far funzionare fino in fondo lo script?
Vi ringrazio molto.
Francesco
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Tu gli passi $_POST non lo modifichi, dovresti fare cosi semmai

PHP:
$_POST = checkCampo($_POST, "data_");

oppure
PHP:
function checkCampo(&$campi, $prefisso) {
 
Discussioni simili
Autore Titolo Forum Risposte Data
xone [Vendo] Script gestionale php-mysql gestione pratiche Altri Annunci 0
Trapano Script php che non va più' con Versione MySQL: 5.6 PHP 5
A [PHP] inserire paginazione su script php/mysql PHP 6
romeocharly Creare un script/codice in php per collegare un id mysql con un file PHP 0
xone [Vendo] Script php+mysql autocostruito per gestione giacenze magazzino Offerte e Richieste di Lavoro e/o Collaborazione 0
F Script PHP + MySql - immettere dati e creare un documento Word o PDF PHP 4
W [Aiuto PHP Mysql] Script visualizzare a video righe di tabella mysql PHP 2
A Ampiamento script php-mysql PHP 1
M Script PHP con MySQL PHP 17
D LAMP non riconosce script php-mysql PHP 2
N problema script php mysql multi upload immagini PHP 31
D Problema script registrazione utente php mysql PHP 14
cewfor [Vendo] Offro Servizio di Traduzioni Script php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 2
S [Retribuito] Cerco sviluppatore script ajax/php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 0
A cerco script php per sincro db mysql CMS (Content Management System) 4
cewfor Installazione script php/mysql € 25 Offerte e Richieste di Lavoro e/o Collaborazione 3
cewfor [installazione] script php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 1
C [TRADUZIONI] Script php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 0
C [INSTALLAZIONI] Script Php/Mysql Offerte e Richieste di Lavoro e/o Collaborazione 0
C [Retribuito] Offro installazione script php/mysql Offerte e Richieste di Lavoro e/o Collaborazione 0
I Realizzo script php/mysql "quasi regalati". Offerte e Richieste di Lavoro e/o Collaborazione 1
J cerco-retribuito script in php\mysql PHP 1
M MySQL e PHP: script particolare per vBulletin! PHP 43
P Codifica caratteri speciali mysql php PHP 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
Z MySql injection PHP PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
L Google chart php mysql PHP 2
L Aiuto per programma web php/mySQL PHP 2
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
L update tabelle in php mysql [risolto] PHP 6
F Passare una variabile php dal DB mysql alla pagina PHP 3
B Fare calcoli con php da tabella mysql PHP 2
D [MySQL] [PHP] SQL andare da capo MySQL 0
P [OFFRO] Realizzazione siti web in PHP/MYSQL, responsive e Ottimizzati SEO Offerte e Richieste di Lavoro e/o Collaborazione 0
Tommy03 Firebase o PHP+Mysql? Sviluppo app per Android 0
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
E Cerco programmatore PHP/Mysql - retribuito Offerte e Richieste di Lavoro e/o Collaborazione 0
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0

Discussioni simili