Klaus: Problem mit PHP-Funktion in Javascript

Beitrag lesen

Hallo,

ich habe ein Problem, bei dem ich (mal wieder) Eure Hilfe brauche:

Um auf meiner Seite mehrsprachigkeit zu unterstützen, habe ich eine kleine Funktion geschrieben, die mir unter Angabe der beiden Parameter Sprache und Kürzel den entsprechenden Text zurückliefert.
Die Funktion selber funktioniert tadellos:

  
function hole_text($sprache,$kuerzel) {  
	global $dbname,$verbindung;  
	$__text = "";  
	$__abfr = "SELECT textbaustein as __text FROM sprache WHERE land = '$sprache' AND kuerzel = '$kuerzel'";  
	$__erg = mysql_db_query($dbname,$__abfr,$verbindung);  
	if (mysql_num_rows($__erg) > 0) {  
		$__row = mysql_fetch_array($__erg);  
		extract($__row);  
	} else {  
		$__text = "??$kuerzel $sprache?? $__abfr";  
	}  
	return $__text;  
}  

Zur Diagnose lasse ich mir im Fehlerfall auch die erzeugte Abfrage ausgeben.

Jetzt versuche ich hierüber Texte in Javascript zu befüllen.

  
	var sprache = "<? echo $browsersprache; ?>";  
	var text1 = "<? echo hole_text('"+sprache+"','PWMINZEICHEN'); ?>";  

Der Text wird nicht gefunden und
??PWMINLENGTH DE?? SELECT textbaustein as __text FROM sprache WHERE land = 'DE' AND kuerzel = 'PWMINLENGTH'
zurückgegeben.

Also scheint er den Text nicht zu finden. Suche ich aber mit den selben Werten im PHP-Code oder auch im Phpmyadmin, dann wird der Text gefunden.
Baue ich die Abfrage um und nehme den Where-Teil raus. funktioniert es auch.

Scheinbar werden die Werte nicht korrekt an die Funktion übergeben, enthalten scheinbar Steuerzeichen oder irgendwas nicht maskiertes, denn die Ausgabe auf dem Bildschirm zeigt ja keinen Fehler.

Hat da jemand eine Idee?

Klaus