carattere invio rn

karlo

Nuovo Utente
20 Gen 2013
20
0
0
buongiorno a tutti
Ho un form html con una textarea dove l'utente scrive del testo da invire via mail con la funzione mail() di php. Tutto funziona bene ma quando prelevo il testo con mysql_real_escape_string($_POST['messaggio']) dalla textarea e lo invio alla mail trovo scritto degli "rn",senza apici, laddove è stato premuto invio.
Esempio, se nella textarea scrivo:
Ciao
Sono Carlo
Arrivederci
nella mail trovo scritto:
CiaornSono CarlornArrivederci
Come faccio ad eliminare quei rn?
Grazie ancora.
Carlo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
cia
intanto quei caratteri \n o \r\n sono i caratteri dei fine riga, quindi se togli gli slash rimane n o rn senza andare a capo.
cimuque non va bene mysql_real_escape_string() che deve essere usata con il db eventualmente usa stripslashes().
poi se invii l'email in formato html usa nl2br() che trasforma \n o \r nel rispettivo tag html <br>
 

karlo

Nuovo Utente
20 Gen 2013
20
0
0
ciao borgo credo di aver fatto un bel minestone...
ti metto tutto il codice di questa pagina;
PHP:
<?php 

	include 'header.php';
	
?>
<script type="text/javascript">
function ContaCaratteri()
{
    document.forminviamail.conta.value = document.forminviamail.messaggio.value.length;
    var massimo = 150;
    if (document.forminviamail.messaggio.value.length > massimo)
    {
        document.forminviamail.messaggio.value = document.forminviamail.messaggio.value.substr(0, massimo);
        document.forminviamail.conta.value = massimo;
        alert("Massimo " + massimo + " caratteri!");
    }
	}
</script>
<div id="wrapper">

<?php 
$id = $_GET['cod'];//id del libro scelto
 $username=$_SESSION['utente']; // nome utente loggato
 $resultquery=mysql_query("SELECT email FROM utenti WHERE username ='$username'");
 $email_loggato=mysql_result($resultquery,0,'email');//$resultquery=risultato query sopra, 0= prima riga risultato query, 'email= valore campo email

?>

<?php 
	if(!isset($_POST['invia_contatto'])){?>	
					
		
					<form method="post" action="#" id="forminviamail"name="forminviamail">
					  
					  <ul>
					     
                         <li>
					      <label for="nome">Nome</label>
				          <input type="text" name="nome" id="nome" />
						 </li>
						 <li>
                          <label for="messaggio">Messaggio (Max 150 caratteri)</label>
					      <textarea name="messaggio" cols="40" rows="3" id="messaggio" onkeyUp="ContaCaratteri()"placeholder="Inserisci qui il messaggio da inviare al venditore."></textarea>
						  
						 </li>
						 <li>
						 <label for="controllo">Controllo caratteri digitati.</label>
						 <input type="text" name="conta" value="0" readonly style="width: 50px;">
						 </li>
						  <li>
						    <?php 
					        $recuperadatilibro = mysql_query("SELECT * FROM libri WHERE id='$id'");	
					        $row=mysql_fetch_assoc($recuperadatilibro);
					        ?>
						 
                          <label for="libro">Riepilogo del libro selezionato</label>
					      <textarea name="libro" cols="80" rows="8" id="textarealibro" >
ISBN:   <?php echo $row['isbn']?>
Titolo:   <?php echo $row['titolo']?>
Autore:   <?php echo $row['autore']?>
Editore:   <?php echo $row['editore']?>
Prezzo copertina:   <?php echo $row['prezzo_cop']?> Euro
Prezzo richiesto:   <?php echo $row['prezzo_ric']?> Euro
Stato del libro:   <?php echo $row['stato']?>
						  </textarea>
						 </li>
						 <br>
					    <input type="submit" name="invia_contatto" id="inviacontatto" value="Invia email" />
			          </ul>
				      
                    </form>
					
					 
                   <?php } else {
				                ?>
						     
							     <?php
							    $nome = mysql_real_escape_string($_POST['nome']);
					            $messaggio = mysql_real_escape_string($_POST['messaggio']);
							    $recuperadatilibro = mysql_query("SELECT * FROM libri WHERE id='$id'");	
					            $row=mysql_fetch_assoc($recuperadatilibro);
								
								$isbn = $row['isbn'];
								$titolo= $row['titolo'];
								$autore= $row['autore'];
								$editore=$row['editore'];
								$prezzo_cop= $row['prezzo_cop'];
								$prezzo_ric= $row['prezzo_ric'];
								$stato= $row['stato'];
								$email= $row['email'];
								
				                 //  stripslashes è una funzione di PHP che permette di eliminare da una stringa i caratteri di escape ( \ ) 
							    $nome=stripslashes($nome);
								$messaggio=stripslashes($messaggio);
								$isbn=stripslashes($isbn);
								$titolo=stripslashes($titolo);
								$autore=stripslashes($autore);
								$editore=stripslashes($editore);
								$prezzo_cop=stripslashes($prezzo_cop);
								$prezzo_ric=stripslashes($prezzo_ric);
								$stato=stripslashes($stato);
							     
				            
				                $to = "$email";// destinatario
							    $subject="Richiesta acquisto libro da Scambiolibritlc.";// oggetto
							    $header="From:" .$email_loggato ; // mittente
					            $message="$messaggio";
							    $message.="\r\n";
								$message.="\r\n";
							    $message.="Libro richiesto: \r\n";
								$message.="\r\n";
							    $message.="Codice ISBM: $isbn \r\n";
							    $message.="Titolo: $titolo \r\n";
								$message.="Autore: $autore \r\n";
								$message.="Editore: $editore \r\n";
								$message.="Prezzo di copertina: $prezzo_cop \r\n";
								$message.="Prezzo richiesto: $prezzo_ric";
							
							    $sentmail=mail($to,$subject,$message,$header);
				                  
								  	if($sentmail){
					                	?>
						              <script language="Javascript">
                                      alert('E-mail inviata correttamente.');
                                      </script>
							          <?php
							     	 header("Refresh: 0; URL= cerca.php");
							
						            }else{
						
							        	?>
						              <script language="Javascript">
                                      alert('Si è verificato un errore: la tua email non è stata inviata!');
                                      </script>
							          <?php
							         header("Refresh: 0; URL= cerca.php");
					            	}
								  }
								  
				                  ?>
				   
				   
			    <div id="divinfo">	
	            <center><img src="Immagini/info.jpeg" style=pos/></center>
	            <h5>
                <p>Compila i campi in questa pagina e invia una mail al venditore del libro che ti interessa.</p>
                <p>Se il proprietario del testo ti contetter&agrave; potrete finalizzare lo scambio tra di voi.</p>
                </h5>
	            </div>	
						   
				   
</div>
</body>
</html>
Ho capito che trovo scritto solo rn e non \r\n perche ho usato la funzione stripslashes() ma anche se la commento nell'email trovo scritto \r\n nel punto in cui è stato premuto invio. Come posso correggere questo errore eliminando quei \r\n usando mail() di php?
Grazie per la pazienza.
Carlo
 

karlo

Nuovo Utente
20 Gen 2013
20
0
0
grazie borgo sei gentilissimo.
Do un'occhiata e poi ti faccio sapere.
Grazie ancora
 

karlo

Nuovo Utente
20 Gen 2013
20
0
0
Risolto

ho risolto
E' bastato sostituire
PHP:
$messaggio = mysql_real_escape_string($_POST['messaggio']);
con
PHP:
$messaggio = $_POST['messaggio'];
come mi avevi suggerito tu nel primo post.
Grazie e a presto.
 
Discussioni simili
Autore Titolo Forum Risposte Data
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
elpirata Stampare carattere simbolo euro PHP 10
A Cercare un carattere uguale in due stringhe Java 5
P [MS Access] Sostituire un carattere in tutta la tabella MS Access 11
A Carattere 'è' in query MySQL PHP 0
Z [PHP] Rimuovere carattere &#65279; PHP 1
S [PHP] Ricercare Uno Specifico Carattere In Una Precisa Posizione PHP 3
elpirata [PHP] Evitare la visualizzazione del carattere di nuova linea \r\n PHP 5
V grandezza carattere con HTML2PDF HTML e CSS 1
trattorino [PHP] funzione per visualizzare solo carattere PHP 2
M Ricercare uno specifico carattere in una precisa posizione PHP 5
A Carattere LF in variabile Ajax jQuery 1
L Animazione: testo 'che si scrive da solo', carattere per carattere Snippet Javascript 0
L sostituire un carattere in una stringa acquisita da input jQuery 1
P Problemi di avere il titolo in un unica riga con carattere 18px HTML e CSS 12
asevenx carattere speciale da togliere in script galleria jquary jQuery 4
G Carattere fantasma in php PHP 1
S Stampare Carattere Tramite INPUT pulsante HTML e CSS 5
marino51 LESS, javascript, accesso negato e Carattere non valido HTML e CSS 1
marino51 javascript, accesso negato e Carattere non valido Javascript 5
C In una textarea sostituire il carattere \n in <br/> Javascript 14
D Ricerca ajax... ma solo se c'è un carattere prima! Ajax 1
D Stringa passata con POST (ajax), elimina il carattere '+' Javascript 4
7 Carattere tedesco dentro array... PHP 1
Monital Ricerca stringa con carattere jolly PHP 8
S leggere da file e scrivere su file un carattere o una parola alla volta Visual Basic 1
I Cambiare carattere scrittura in php PHP 4
M intercettare ultimo carattere stringa con PHP PHP 5
LaKanka Problema trova carattere speciale o vuoto PHP 2
P cambio dimesione del carattere all'interno di un box di testo HTML e CSS 1
SolidSnake4 dimensione carattere tinymce HTML e CSS 2
P Problema con apici nelle stringhe [era:Cambiare grandezza carattere con JavaScript] Javascript 3
M Informazione "Font" carattere da trovare Webdesign e Grafica 0
M Errore nella visualizzazione del carattere € Classic ASP 0
Lunasx Controllo carattere Javascript 7
D lettura file fino al carattere scelto ! PHP 1
I Ingrandimento Carattere di testo Javascript 2
I Ingrandimento Carattere di testo HTML e CSS 1
K [FP] carattere pulsanti della barra spostamento HTML e CSS 2
S carattere FP 2002 HTML e CSS 2
N Dimensione carattere HTML e CSS 2
R Invio dai tessera sanitaria PHP 1
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
G Invio di più valori con la stessa checkbox PHP 4
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0

Discussioni simili