- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ricezione parametri con metodo Get
-
Ricezione parametri con metodo Get
Ciao a tutti, vorrei passare un parametro contenete spazi e & tramite href. Quando ricevo vedo solo la prima parte del campo sebbene l'uri sia corretto. Mi spiego meglio con il codice php:
<?PHP
$passa="fabio & paola";
?>
<a href="prova_request_conspazi.php?parametro=<?php echo $passa; ?>">clicca1</a>
i PARAMETRI CHE GLI PASSO SEMBRANO CORRETTI...
URI : http://localhost/lolina/prova_request_conspazi.php?parametro=fabio%20&%20paola
Se faccio una "echo $_REQUEST[parametro]" pero' vedo solo fabio!!!
Qualcuno sa darmi una mano???
Ringrazio anticipatamente. Ciaooooooo
-
( Non usare mai $_REQUEST ma specifica la fonte delle tue variabili per maggiore sicurezza )
Ad ogni modo, metti apici singoli o doppi prima e dopo il valore della variabile
<?PHP
$passa="fabio & paola";
?>
<a href="prova_request_conspazi.php?parametro='<?php echo $passa; ?>'">clicca1</a>
-
ciao e grazie della risposta, ho provato congli apici ma mi restituisce :
paremetro ---> 'fabio
Cosa intendi dire con non usare $_request? dovrei usare $_get o $_post ? Perche'?ciaooooooo:)
-
@fnneba said:
ciao e grazie della risposta, ho provato congli apici ma mi restituisce :
paremetro ---> 'fabio
Cosa intendi dire con non usare $_request? dovrei usare $_get o $_post ? Perche'?ciaooooooo:)
Facciamo finta che io abbia un form, e che questo abbia un campo text chiamato 'campo1' e che gli dia come valore 'hello'. Quando io spedisco i dati del form tramite POST, nella pagina di destinazione, io avrò 2 indici di array settati, ovvero:
$_POST['campo1'] = 'hello'; e $_REQUEST['campo1'] = 'hello;Ora, mettiamo caso che io aggiunga all'url '?campo1=ciao'. Nell'altra pagina avrò:
$_POST['campo1'] = 'hello'; $_GET['campo1'] = 'ciao'; e $_REQUEST['campo1'] = 'hello';
E' una questione di sovrascrittura. Chiusa parentesi... Prova con i doppi apici... Vedi che ti restituisce... Se no fari uno
$passa = str_replace(' ', '%20', $passa);
anche se in teoria dovrebbe fartelo in auto...prova!
-
Ho capito il tuo esempio del $_POST e $_GET...per quanto riguarda il mio problema, non riesco ne con " che mi fa vedere space(quindi non mi passa niente), ne con strpos che mi da lo stesso risultato di prima...:x
-
non è strpos, ma str_replace
-
Prova con url_encode in invio ed url_decode in arrivo.
Sul manuale di php.net trovi degli esempi pratici
-
Grazie stasera provo , sono disperato!!!!
-
Provato...e funziona perfettamente, grazie mille!!!!
-
good
-
ciao a tutti ma url_encode dove cavolo lo trovo?