Newsgroup: it.comp.www.php
Titolo: Bel mistero!!

Prima di infamarmi leggete bene perchè sinceramente questa cosa veramente 
non me la so spiegare: ho un form con tre tipi di campi, ossia campi di 
testo, textarea e un elenco menù (con tutte le regioni d'Italia).
Nella pagina verso cui va questo form ho un altro form che richiama questi 
valori e si visualizzano tutti correttamente, compresi gli apostrofi, questi 
valori li richiamo tutti nello stesso modo ad esempio
$nome=stripslashes($_POST['nome']);
e nel form che lo deve visualizzare al posto del value scrivo:
echo htmlentities($nome_campo_it, ENT_QUOTES);
e questa cosa funziona sia con i campi di testo che con le textarea (ad 
esempio scrivendo valle d'aosta nei campi di testo e nelle textarea questi 
valori vengono ricevuti correttamente), mentre nello sfigatissimo elenco 
menù dove come valore selected ho impostato ovviamente il valore ricevuto 
dal form e poi via tutte le altre regioni  questo valore se è la valle 
d'aosta mi si tronca in valle d
Perchè? Se scrivo valle d'aosta nei campi di testo e nelle textarea facendo 
i due passaggi di cui ho fatto cenno prima i valori vengono ricevuti 
correttamente, SOLTANTO l'elenco menù non va correttamente.
Come mai?
Che differenza c'è? Questa cosa è assurda!!
Help me!! 

 Perchh? 
Per favore, utilizza oggetti significativi.
A me funziona perfettamente:
<?php 
$_POST['testo'] = isset ($_POST['testo']) ? htmlentities (stripslashes
($_POST['testo'])) : '';
$_POST['textarea'] = isset ($_POST['textarea']) ? htmlentities
(stripslashes ($_POST['textarea'])) : '';
$_POST['select'] = isset ($_POST['select']) ? htmlentities
(stripslashes ($_POST['select'])) : '';
?>
<form method="post">
<input type="text" name="testo" value="<?php echo ($_POST['testo']);
?>" />
<textarea name="textarea"><?php echo ($_POST['textarea']); ?></textarea>
<select name="select">
<option <?php print ($_POST['select'] == 'Lazio' ? 'selected' :
'')?>>Lazio</option>
<option <?php print ($_POST['select'] == 'Toscana' ? 'selected' :
'')?>>Toscana</option>
<option <?php print ($_POST['select'] == 'Lombardia' ? 'selected' :
'')?>>Lombardia</option>
<option <?php print ($_POST['select'] == 'Valle d\'Aosta' ? 'selected'
: '')?>>Valle d'Aosta</option>
</select>
<input type="submit" />
</form>
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

Benedetto XVI wrote:

cerca di non inviare post con soggetto ambiguo..
<option value="valle d'aosta">valle d'aosta</option>
-- 
www.iuz-lab.info

 [le solite complicazioni causate dai magic quotes]
Caro Papa,
non sapevo che anche tu ti dilettassi di programmazione. Bene. Sappi che
la funzionalita' magic_quotes_gpc ha causato tante vittime tra le tue
pecorelle.  Ma non e' questo il tuo caso, secondo me. Probabilmente hai
semplicemente dimenticato di usare le doppie virgolette nell'attirbuto
HTML dell'<OPTION>, dentro al <SELECT>, sicche' il nome valle d'aosta
viene troncato dal browser. Guarda bene come vien fuori il codice HTML
del FORM.
Ciao,
 ___ 
/_|_\  Umberto Salsi
\/_\/  
www.icosaedro.it

> <option value="valle d'aosta">valle d'aosta</option>
Però io non posso scrivere "valle d'aosta", il mio form è all'interno
di un'echo, come lo scriveresti? io ho provato
<option value='valle d''aosta'>valle d'aosta</option>
ma nemmeno questo lo passa correttamente

 di un'echo, come lo scriveresti? 
Per favore, leggi il manuale.
http://www.php.net/manual/en/language.types.string.php
Quello che ti serve e' l'escaping.
