# Textarea mit PHP Variable füllen ?



## Kleiner Wicht (8. Mai 2005)

Megaproblem !

  Habe leider nicht so die Ahnung von Javascript.

  Das Problem stellt sich folgendermaßen da:

  Ich schreibe einen Text in einer Texarea.

  mein Text:

  Das ist der Text der in die
  PHP Variable kommt,
  und dieser Text beinhaltet
  selbstverständlich Zeilenumbrüche.

  Der Text wird mit $_POST["meintext"]
  auf der nächsten Seite in die PHP variable
  $TEXT geschrieben.

  jetzt will ich aber das dieser Text wieder in ein
  Textarea geschrieben wird.

  Das muss unbedingt mit JAVASCRIPT erfolgen.

  SEITE 2:


```
<textarea id="message" rows="12" cols="78" ></textarea>
  
  <?PHP
  
  $TEXT = $_POST["meintext"];
  
   echo"<script language=\"JavaScript\" type=\"text/javascript\">
  
  document.getElementById('message').value = '$TEXT';
  
  </script>";
  
 ?>
```
 
  Schreibe ich nur eine Zeile auf der ersten Seite in das Textareafeld und sende es ab
  zur zweiten Seite, wird der Text in das Textareafeld geschrieben.

  Schreibe ich mehrere Zeilen auf der ersten Seite in das Textareafeld, sende es dann ab
  bekomme ich leider immer und immer wieder Fehler.

  Der Explorer meldet "nicht abgeschlossene Zeichenfolgenkonstante".

  Ich bin mit meinem Wissen am Ende.

  Wie kann ich das Textarea feld füllen ?

  bis denne


----------



## con-f-use (8. Mai 2005)

Kannst du mal schreiben, was dir der Browser als Quellcode ausgibt, wenn du die zweite PHP-Seite aufrufst?

      Bis dahin versuch's auch mal mit: 
	
	
	



```
echo "
           	<script type=\"text/javascript\">
           		document.getElementById('message').value = \"".$TEXT."\";  
           	</script>
 ";
```
 wobei das eigentlich nicht helfen sollte. Das Problem sind wohl eindeutig die Zeilenumbrüche, die du umwandeln musst. Wahrscheinlich besteht es darin, dass dein HTML-Code nachdem das PHP gephrased ist unzulässigerweise so aussieht: 
	
	
	



```
<script type=\"text/javascript\">
   document.getElementById('message').value = "Das ist der Text der in die
        PHP Variable kommt,
        und dieser Text beinhaltet
        selbstverständlich Zeilenumbrüche.";
     </script>
```
 er sollte aber so aussehen: 
	
	
	



```
<script type=\"text/javascript\">
 document.getElementById('message').value = "Das ist der Text der in die\nPHP Variable kommt,\nund dieser Text beinhaltet\nselbstverständlich Zeilenumbrüche.";
     </script>
```
   Versuch doch mal mit PHP alle Zeilenumbrüche in der Variablen $TEXT durch "\n" zu ersetzten.


----------



## Kleiner Wicht (8. Mai 2005)

Das ist der Quellcode vom Browser nach dem die 2te Seite aufgerufen wurde.
 Dieser Text steht aber nicht im textarea. Es steht gar nichts drin.


```
<textarea id="message" rows="12" cols="78" ></textarea>
  
<script language="JavaScript" type="text/javascript">
  
  document.getElementById('message').value = ' Das ist der Text der in die
PHP Variable kommt,
und dieser Text beinhaltet
selbstverständlich Zeilenumbrüche.';
  
  </script>
```
 
 bis denne


----------



## con-f-use (8. Mai 2005)

Hehe, mir ist gerade als du gepostet hattest noch ne Idee gekommen und dann hab ich mein Posting editiert, während du gepostet hattest. Also, wie geschrieben, du musst nur per PHP alle Zeilenumbrüche in der Variablen "$TEXT" durch "\n" ersetzten. Zeilenumbrüche auf die Normaltour sind nämlich in Strings nicht gerne gesehen.


----------



## Kleiner Wicht (8. Mai 2005)

Quellcode Seite 2


```
<textarea id="message" rows="12" cols="78" ></textarea>
   
 <?PHP
   
   $TEXT = $_POST["meintext"];
 
 
 // Leider kein Erfolg
 
 /*
  echo"<script language=\"JavaScript\" type=\"text/javascript\">
   
   document.getElementById('message').value = '$TEXT';
   
   </script>";
 */
 
 // Leider kein Erfolg
 
 echo "
 		  <script type=\"text/javascript\">
 			  document.getElementById('message').value = \"".$TEXT."\";  
 		  </script>
 "; 
   
 ?>
```
 
 HELFT mir !


----------



## con-f-use (8. Mai 2005)

Och man, *lies meine Beiträge ganz*!

*<< Du musst nur alle Zeilenumbrüche in der PHP Variablen "$TEXT" durch "\n" ersetzten! >>

*Kann auch sein, dass du's durch "\\n" ersetzten musst. Wichtig dabei ist, dass die Variable keine regulären Zeilenumbrüche mehr aufweist, also das nachher folgendes im gephraseden Quelltext steht:
	
	
	



```
<script type="text/javascript">
 	document.getElementById('message').value = 'Das ist der Text der in die\nPHP Variable kommt,\nund dieser Text beinhaltet\nselbstverständlich Zeilenumbrüche.';
       </script>
```
es darf auch keine Mischform drinstehen, wie:
	
	
	



```
<script type="text/javascript">
      document.getElementById('message').value = 'Das ist der Text der in die\nPHP 
  Variable kommt,\n
  und dieser Text beinhaltet\nselbstverständlich Zeilenumbrüche.';
 </script>
```
Also der ganze Text muss im html-Code in einer Zeile stehen und Zeilenumbrüche durch \n escapet sein.


----------



## Kleiner Wicht (8. Mai 2005)

Ja dieser Text funktioniert wenn ich dein Script ausführe,

 nun weiß ich leider nich wie ich da solche dinger \n reinbekommen soll.

 Weil ich glaube das \n schon drin ist.

 Es geht aber bestimmt schon irgendwie
 muss erstmal noch probieren.


----------



## Kleiner Wicht (8. Mai 2005)

;-)

  DANKE !

  ES GEHT, ES Klappt, Es Funktioniert, DU BIST SUPER 


```
$TEXT = ereg_replace("(\r\n|\n|\r)", "\\n", $TEXT);
```
 
  Ultra GEIL 

  Und ich sitze Stunden !
  Nächstemal bin ich gleich hier und Frage, man man man ich könnte mich erschlagen

  Nochmals Danke !


----------

