Newsgroup: it.comp.www.php
Titolo: Che carattere è

nella pagina del form scrivo nel campo "nome" la frase seguente:
mia pagina.php
(da notare lo spazio tra le prime due parole)
passo alla pagina successiva con il metodo POST
nella pagina successiva scrivo:
str_replace(" ", "_", $_POST[nome]);
per lui... $_POST[nome] č:
mia
pagina.php
(notare che tra la parola "mia" e la parola "pagina" č andato giů di un 
rigo.
Come faccio a sostituire lo spazio con il "_"  ?????????????????
Considerate che ho provato anche cosě:
$xxx=$_POST[nome];
str_replace(" ", "_", $xxx);
$_POST[nome]=$xxx;

guardate:
pagina 1
<?php
$p="ciao ciao";
echo "<a href=a2.php?id=$p>clicca qui</a>";
?>
guardate cosa parte:
http://www.salvatorepaci.it/cms/a2.php?id=ciao
in parole povere... dove sono finiti lo spazio ed il secondo ciao?

 ?>
C'č un errore nel markup HTML. Mancano le virgolette attorno alla
stringa assegnata all'attributo href del tag <a>.
<?php
$p = "ciao ciao";
echo '<a href="a2.php?id='.$p.'">clicca qui</a>';
?>
Poi, puoi usare la funzione urlencode(), se necessaria:
http://it2.php.net/urlencode
Ciao.
-- 
Federico

 ha scritto nel messaggio 
news:8d8e7q74cqah.e...@40tude.net...
sì, nel caso del GET quello che hai scritto tu funziona perfettamente 
però... nel primo caso??
<form method="POST" action="creazione_pagina_2.php">
.
.
.
<input type="text" name="nome" size="25">
perché nella seconda pagina, invece che comparire "pagina due.php" 
$_POST[nome] contiene "pagina" poi va a capo e poi scrive "due.php" ??? 

 str_replace(" ", "_", $xxx);
$xxx=str_replace(" ", "_", $_POST['nome']);
echo $xxx;
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 echo $xxx;
-----
Perfetto, grazie!
-??????????? (ho tolto i caratteri in eccesso)
:) 

 ???
Non saprei. Il seguente codice:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="nome" size="25">
<input type="submit" name="btn" value="Vai...">
</form>
<?php
if (!empty($_POST)) {
	echo $_POST['nome'];
}
?>
a me stampa regolarmente:
  uno due tre
Con tutti gli spazi al loro posto.
Cosa fa il codice contenuto in creazione_pagina_2.php?
-- 
Federico

str_replace(" ", "_", $_POST[nome]);
Leggiti il manuale: str_replace non funziona come sembri pensare:
restituisce una copia modificata del valore originale, che rimane
intatto.
Inoltre, non dovresti usare affatto spazi nell'URL, ma se proprio
devi, li codifichi con urlencode(); e quanto meno li metti sempre
fra virgolette.
A proposito di virgolette, e' meglio se usi $_POST['nome'], o fai
fare lavoro extra inutilmente al PHP -- e su alcune installazioni
ti comparira' una marea di warning.
Ti suggerisco caldamente di mettere
	error_reporting(E_ALL);
come prima riga, negli script, a mo' di termometro (nel senso che
puoi non usarlo, ma cio' non ti fa passare la febbre :-) ).
Leonardo
-- 
Geordie - he's a man, there's little doot about't,
He's done all he can, wha' can do withoot't?
Doon there cam a blade, linkin' like me lordie,
He wad drive a trade, a' the loom of Geordie.

 ha scritto nel messaggio 
news:2hug0vf52znr$.1lmxz6flhqce1.dlg@40tude.net...
ho risolto cosě, come mi ha consigliato Catarsi
$xxx=str_replace(" ", "_", $_POST['nome']);
echo $xxx;

 puoi non usarlo, ma cio' non ti fa passare la febbre :-) ).
****
Seguirņ il tuo consiglio: grazie!