problema con l'inserimento di dati in un tag input

mirkomirko

Nuovo Utente
30 Lug 2012
25
4
3
Ciao a tutti,ho un piccolo problemino con l'inserimento di una stringa all interno di una input type='text'.Per la precisione,il testo che vado a scrivere in quello spazio viene preso e messo all'interno di una query sql,e quando vado a scrivere una parola con un apostrofo,s'impiccia e mi dà errore..e vorrei sapere come risolvere questo scomodo inconveniente.
PHP:
<input type='text' name='trofeo' \>Nome trofeo<br>
questo è dove vado a scrivere la mia stringa.

PHP:
$trofeo=$_POST['trofeo'];
Squadra::bacheca($trofeo,altri parametri)
il metodo bacheca chiama una semplice procedura che va a fare una insert in una tabella prendendo i parametri passati,ovviamente li prende cosi
PHP:
insert into tabella values('param0','param1','param2')
il problema stà nel fatto che se nella stringa io scrivo " champion's league" quando prende questo valore dalla input,lo mette nel metodo e nel momento che lo prende la procedura,s'impicca con le apostrofo perchè troverebbe
PHP:
insert into tabella values('champion's league','param1')
Come posso risolvere questa cosa??spero di essere stato abbastanza chiaro,forse un po troppo prolisso :D
 
Crea un file contenente questo codice e includilo all'inizio di ogni pagina dove effettui operazioni sul database:
PHP:
<?php
function purify($value)
{
    if (is_array($value)) {
        foreach ($value as $k => $v) {
            $value[$k] = purify($v);
        }

        return $value;
    }

    return addslashes($value);
}

if (!get_magic_quotes_gpc()) {
    $_GET  = purify($_GET);
    $_POST = purify($_POST);
}
?>
 
Ultima modifica:
Innanzitutto grazie per la risposta ;),ho fatto come mi hai suggerito,ma sorge un altro problema..includendo quel file,non mi apre piu le form,quando clicco su una form per aprirla non succede niente,suppongo non si trovi il valore in $_POST;possibile?
 

Discussioni simili