\n \t werden ausgegeben anstatt von Zeilenumbruch und tab

Noeden

Erfahrenes Mitglied
Hallo,

ich wunder mich da jetzt ungefähr zum hundertsten mal drüber und jetzt frage ich. Das ist ein Stück meines Codes:

PHP:
	$val_agb = true;
	if(!isset($_POST['reg_AGB'])){ $val_fehler .= 'Du musst noch den AGB zustimmen'; $val_agb = false;}
	
	echo $vorname . '\t' . $val_vorname . '\n';
	echo $nachname . '\t' . $val_nachname . '\n';
	echo $alias . '\t' . $val_alias . '\n';
	echo $mail . '\t' . $val_mail . '\n';
	echo $passwort . '\t' . $val_passwort . '\n';
	echo $passwort_wiederholung;
	echo $_POST['reg_AGB'] . '\t' . $val_agb . '\n';
	echo $val_fehler;

Die Ausgabe sieht leider so aus:

Code:
F\t\ns\t\ns\t\nasdobn.sdfsdf.sdf@as.df\t1\n59d9a6df06b9f610f7db8e036896ed03662d168f\t1\n59d9a6df06b9f610f7db8e036896ed03662d168f Notice: Undefined index: reg_AGB in /var/www/section/reg.php on line 52 \t\nDer Vorname muss mindestens 2 Zeichen lang sein\nDer Nachname muss mindestens 2 Zeichen lang sein\nDer Alias muss mindestens 4 Zeichen lang sein\nDu musst noch den AGB zustimmen

Woran liegt das? danke
 
Versuch mal einen Zeilenumbruch per \r\n hinzubekommen. Übrigens bekommst du damit keinen Zeilenumbruch in HTML, nur in der (Text-)Datei! In HTML geht das mit <br />.

Das selbe ist auch bei dem \t, dies wird nicht interpretiert (zumindest bei mir mit Google Chrome 11). Anscheinend gibt es sowas auch nicht als Html-Element.
 
Und. Wenn du mit \n einen Zeilenumbruch im Quelltext haben willst, dann darfst du ihn nicht in den einfachen ' haben, sondern musst ihn in doppelte setzen. Frag mich nicht warum.
PHP:
echo $zeile1."<br />\n";
echo $zeile2;
 
An das mit dem HTML habe ich mal wieder nicht dran gedacht, aber es war ja auch im Quellcode nicht richtig. Aber dafür habe ich ja auch ne Antwort bekommen. Wie bescheuert, naja DANKE :)
 
Und. Wenn du mit \n einen Zeilenumbruch im Quelltext haben willst, dann darfst du ihn nicht in den einfachen ' haben, sondern musst ihn in doppelte setzen. Frag mich nicht warum.
PHP:
echo $zeile1."<br />\n";
echo $zeile2;

Das liegt daran das Strings in Singlequotes nicht nach Escapesequenzen und Variablen durchforstet werden. Deshalb ist diese Schreibweise auch performanter.
 
Zurück