Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX 2004

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-07-2008, 19:21   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 8
Problem mit Umlauten und Zeilenumbruch!

Hallo,

folgendes wie bekomme ich Flash dazu, beim Ausgelesen eines Strings einer Textarea den Zeilenumbruch als HTMLtag in
Code:
"<br>"
umzuwandeln?

ActionScript womit ich die Daten an das PHP-Script sende:
Code:
function senden(send_daten) {
   Scriptsend = "http://www.****/mysql_send.php?" add send_daten;
   loadVariablesNum(Scriptsend, 0, "POST");
   }

on (release) {
	_global.gb_name = this.eintrag_name.text;
	_global.gb_mail = this.eintrag_mail.text;
	_global.gb_text = this.eintrag_text.text;
	_root.senden("gb_name="+_global.gb_name+"&gb_mail="+_global.gb_mail+"&gb_eintrag="+_global.gb_text);

   	_parent.gotoAndPlay("1");
}
Das dazu passende PHP-Script:
Code:
<?php
	$dbname="*******";
	$dbhost="*******";
	$dbuser="*******";
	$dbpass="*******";
	mysql_connect($dbhost,$dbuser,$dbpass);
	mysql_select_db($dbname);


 	$gb_name=$_GET['gb_name'];
 	$gb_mail=$_GET['gb_mail'];
 	$get_eintrag=$_GET['gb_eintrag'];
 	$get_date=$date = date("Y-m-d H:i:s");
	$gb_date=$get_date;
	$gb_eintrag=nl2br($get_eintrag);

	$sql = "INSERT INTO dpoos(gb_name, gb_mail, gb_text, gb_date) VALUES ('$gb_name','$gb_mail','$gb_eintrag','$gb_date')";

	$go = mysql_query($sql)

?>
Und so rufe ich die Daten, über folgendes ActionScript ab und füge sie in die Textarea ein:
Code:
function geladen(erfolgreich) {
        if(erfolgreich) {
             //übergeben wurde bspw. meinEintrag=hier steht ein Text
            trace("gb_ausgabe="+this.gb_augabe);
            _root.kontakt.mov_gb.mov_gb_lesen.gb_lesen.text = this.gb_ausgabe;
        }
        else {
                trace("Fehler beim Laden");
        }
}
_root.kontakt.mov_gb.mov_gb_lesen.gb_lese.multiline = true;
lv = new LoadVars();//Instanz erstellen
lv.onLoad = geladen;//Callback setzen
lv.load("http://www.****/mysql_abfrage_echo.php",lv,"POST")
stop();
Und, zu guter letzt, hier das dazu passende php-script:
Code:
<?php

	$dbname="*******";
	$dbhost="*******";
	$dbuser="*******";
	$dbpass="*******";
	mysql_connect($dbhost,$dbuser,$dbpass);
	mysql_select_db($dbname);

	$query = "SELECT gb_id, gb_date, gb_name, gb_mail, gb_text FROM dpoos ORDER BY gb_date DESC";
	$result = mysql_query($query);

	while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

    		$gd_id 		= ($line['gb_id']);
		$gb_date 	= ($line['gb_date']);
    		$gb_name 	= urlencode($line['gb_name']);
    		$gb_mail 	= urlencode($line['gb_mail']);
    		$gb_text 	= urlencode($line['gb_text']);

		$trace .= "

		<font color=\"#000000\">Eintrag von: <i>".$gb_date."</i></font>
		<br>
		<font color=\"#FF0000\"><b>".$gb_name."</b></font>
		<br>
		<a href=\"mailto:".$gb_mail."\"><font color=\"#000000\"><u>".$gb_mail."</u></font></a>
		<br>
		<br>
		<font color=\"#000000\">".$gb_text."</font>
		<br>
		<font color=\"#cccccc\">_________________________________________________________</font>
		<br>
		<br>";

	}
	echo "&gb_ausgabe=".$trace. "&";
?>
Die FELDER in der MySQL-Datenbank sind als "utf8_general_ci" codiert!

Ausserdem habe ich auch Probleme mit Umlauten die als Kästchen angezeigt werden, hoffe ihr könnt mir nochmals Helfen!
AmatorPhasma ist offline   Mit Zitat antworten
Alt 04-07-2008, 21:19   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 8
So habe mich nun mal durch google und andere... schlau gemacht...
aber leider erfolglos... es muss doch möglich sein Flash zu sagen das es die variable mit dem String(Inhalt) aus dem Textarea so an das PHP-Script zu übergeben das alle Zeilenumbrüche aus dem Textarea in HTMLtags übersetzt werden und erst dann an das PHP-Script weiter geleitet werden... (?)

Wenn ich beim Eingabe-Textarea HTML aktiviere kommt in der Datanbank nichts an ausser ein paar HTMLTags die mit einem (...color=") aufhören
AmatorPhasma ist offline   Mit Zitat antworten
Alt 04-07-2008, 21:55   #3 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.514
Benutz doch für Deine Sendefunktion ebenfalls ein LoadVars-Objekt. Dann
kannst Du im Callback die Rückgabe des PHP verarbeiten und hier Fehler-
quellen ausschalten.

Flash kann keine Umlaute abschicken. Die müssen vorher, so wie die Zeilen-
umbrüche, in HTML-Format gebracht werden, mit replace() z.B.. Aus ä musst
Du also &auml;, aus \n <br> machen usw. Einfach mal suchen.
~pyropete~ ist offline   Mit Zitat antworten
Alt 04-07-2008, 22:01   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 8
So das mit den UMLAUTEN ist beseitigt habe in dem Sende-PHP-Script

Folgende Zeilen geändert:

Code:
 	$gb_name=$_GET['gb_name'];
 	$gb_mail=$_GET['gb_mail'];
 	$gb_eintrag=$_GET['gb_eintrag'];
 	$get_date=$date = date("Y-m-d H:i:s");
	$gb_date=$get_date;
in

Code:
 	$get_name	=	$_GET['gb_name'];
 	$get_mail	=	$_GET['gb_mail'];
 	$get_eintrag	=	$_GET['gb_eintrag'];
 	//$gb_eintrag	=	$_GET['gb_eintrag'];
 	$get_date	=	$date=date("Y-m-d H:i:s");
	$gb_date	=	$get_date;

 	$gb_name	=	utf8_encode($get_name);
 	$gb_mail	=	utf8_encode($get_mail);
	$gb_eintrag	=	utf8_encode($get_eintrag);

Jetzt ist nur nopch das Problem mit dem Zeilenumbruch da
sber Umlaute zeigt er nun an
AmatorPhasma ist offline   Mit Zitat antworten
Alt 04-07-2008, 22:48   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 8
Also wenn ich in dem Textarea ein \n einfüge bekomme ich in der Datanbank auch einen Zeilenumbruch.... also irgentwie wird der Zeilenumbruch wenn ich nur ENTER drücke in dem Textare nicht bis zur Datenbank durch...

Muss ich dem Textarea sagen das es Zeilenumbrüche als \n absenden soll?#
und wenn ja wie?
AmatorPhasma ist offline   Mit Zitat antworten
Alt 06-07-2008, 15:58   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 8
Alles gelöst ..... und zwar habe ich zuerst in FLASH (AS)
folgendes beim Auslesen des Textareas und dem Absenden geändert
Code:
	Vorher:
(...)_global.gb_text = this.eintrag_text.text;(...)

Nachher:
(...)_global.gb_text = escape(this.eintrag_text.text);(...)
Nun wurden die Zeilenumbrüche richtig übertragen - (was bei genauerer Überlegung einem fast schon vor den Kopf springt) - doch die Umlaute sind nun wieder MATSCH... also habe ich in dem PHP-Script was die Daten empfängt und an die MYSQL-Datenbank übergibt folgendes geändert:
Code:
	Vorher:
(...)$gb_eintrag	=	utf8_encode($get_eintrag);(...)

Nachher:
(...)$gb_eintrag	=	($get_eintrag);(...)
Nun funktioniert alles tadellos und ich hoffe, daß - sollte nochmal ein Flash-Anfänger dieses Problem haben, ihm dieser Beitrag wenigstens etwas helfen kann ! (Nun begebe ich mich daran noch ein paas IF-Anweisungen zu schreiben die überprüfen ob das Textfeld Name und/oder Email leergelassen wurde oder nicht!)

Danke nochmal für alle Antworten, sie haben mich auf den richtigen Weg gestossen!

THX
AmatorPhasma ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2014 Marc Thiele