Newsgroup: it.comp.www.php
Titolo: slash (flash &php)

salve,
allora guestbook flash e php..
se qualcuno posta messaggi contenenti ' o " nel gb appaiono preceduti da uno
/.
cercando in rete ho provato a usare stripslashes ma evidentemente non lo
faccio bene perchè non risolvo.
questo il php del gb (senza stripslashes) :
<?php
$Website = eregi_replace("http://", "", $website);
if ($_POST["done"] == "Yes") {
$filename = "guest.txt";
$fp = fopen( $filename,"a");
$datePost = (date ("dS of F Y (h:i:s A)",time()));
$Input = "guest=".urlencode("Name: ".
$_POST["name"]."<br>Email: <u><a href=\"mailto:$email\">".
$_POST["email"]."</a></u><br>Website: <u><a href=\"http://".
$_POST["website"]."\" target=\"_blank\">".
$_POST["website"]."</a></u><br>Comments: ".
$_POST["comments"]."<br><i>Posted: ".
$datePost."</i><br><br>"); fwrite($fp,$Input,strlen($Input)); fclose($fp);
echo "confirm=success";
}
$recipient = "
i...@email.it
";
$subject = "Guestbook";
$date = date( "d/m/Y - H:i:s");
$msg = " ***********************************\nNam
e: $name\n";
$msg .= "EMail: $email\n";
$msg .= "WebSite: $website\n\n";
$msg .= "Message: $comments\n\n";
$msg .= "sent: $date";
mail($recipient, $subject, $msg, "From: <claire>");
mail($email, "claire guestbook","Automatic Responder\n
************************************
Grazie della visita
************************************\n
", "From: <claire>");
?>
qualcuno mi sa dire come fare?
l'url del gb : 
http://www.3climbing.it/portf/index.html
grazie
Paola

 /.
intendevi dire da uno \
comunque all'inizio dello script metti questo:
foreach ($_POST as $chiave => $val) $_POST[$chiave] = stripslashes($val);
prova e dimmi,
stefano

 grazie
Potresti postare il codice con gli stripslashes?
Hai guardato il contenuto del file.txt? Contiene gli slashes?
Tac

Ho risolto mettendo:
stripslashes ($_POST["comments"])."<br><i>Posted: ".
ora rimane un altro problema.. mi date una mano?
Il gb quando qualcuno posta un mess mi manda una mail col contenuto del
post.. però nella mail i caratteri accentati vengono sostitutiti da lettere
assurde..
 qualche idea?
Grazie
Paola

 stripslashes ($_POST["comments"])."<br><i>Posted: ".
Ti conviene farlo anche per il nome, non si sà mai.
stefano


 vero, grazie :)
nessuna idea per il problema mail?
Paola

 assurde..
prova con $valore=utf8_encode($valore);
ma non ne sono sicuro...
stefano


no, non va :(
Paola

 ha scritto nel messaggio
news:87SIc.79913$G%.40294@tornado.fastwebnet.it...

immaginavo, io farei un volgare str_replace delle lettere accentate tipo à
con a', è con e' ecc... Ma forse ci sono soluzioni più eleganti ed efficaci
vedrai che non tarderanno ad arrivare.
stefano

 vedrai che non tarderanno ad arrivare.
se usi cmq la mia soluzione puoi fare così:
$accentate= "You should eat fruits, vegetables, and fiber every day.";
$accentate = array("à", "è", "ì","ò","ù");
$non_accentate = array("a'", "e'", "i'","o'","u'");
$str_pulita = str_replace($accentate, $non_accentate, $phrase);
stefano

 stefano
 non l'ho ben capita... proverò
 grazie
paola

  non l'ho ben capita... proverò
scusa spiego, nella riga sopra $phrase sarebbe la stringa di partenza che
contiene le accentate, $str_pulita invece sarà la stessa stringa, solo che
tutti i caratteri accentati elencati nell'array $accentate verranno
sostituiti con le corrispondenti lettere dell'array $non_accentate
es: "La mia città è bella" diventerà "La mia citta' e' bella".
in questo modo i vari client di posta elettronica non dovrebbero avere
problemi di codifica..
stefano

ce l'ho fatta con
$msg = utf8_decode( $msg );
 ci avevi preso subito, ero io che sbagliavo sintassi ;)
Grazie
Paola

hai attivato il System.useCodePage?
per evitare i casini dei caratteri accentati dovresti lavorare con l'unicode.
Qui trovi qualche link al riguardo 
http://radio.weblogs.com/0106797/2002/10/03.html#a293
e qui un'approfondimento 
http://moock.org/asdg/technotes/againstUseCodePage/
ciao
-- 
Sousa - 
http://laBoratorio.sousa.it/