Newsletter Zugriff auf PHPScript

braungraphix

Erfahrenes Mitglied
Habe folgendes Problem, ich habe mir einen Newsletter eingerichtet und lasse diesen je nach button also "anmelden" oder "abmelden" auf das PHPScript zugreifen. Verwende ein etwas ausführlicheres script auch bei meinem Kontaktformular da geht auch alles doch beim Newsletter bekomme ich die Mail ohne Werte zugeschickt. Lange Rede kurzer Sinn hier zum einen das AS:

Code:
_root.onLoad = function() {
  	_root.mc_fehler._visible = false;
  	_root.nachricht.text = "Ihre Emailadresse";
  };
  
  nachricht.tabIndex = 1;
  
  textfeld = new Array();
  textfeld[0] = "nachricht";
  
  for (i=0; i<textfeld.length; i++) {
  	_root[textfeld[i]].onSetFocus = function() {
  		this.backgroundColor = 0xcccccc;
  		if (_root[this._nachricht]) {
  			_root[this._nachricht].text = "";
  			_root[this._nachricht] = false;
  		}
  	};
  	_root[textfeld[i]].onKillFocus = function() {
  		this.backgroundColor = 0xFFFFFF;
  	};
  }
  
  String.prototype.leer = function() {
  	for (i=0; i<this.length; i++) {
  
  		if (this.charCodeAt(i)>32) {
  			return true;
  		}
  	}
  };
  anmeldung.onRelease = function () {
  	meldung = "Anmeldung";
  	_root.LoadVars("http://www.braungraphix.de/php/anmelden.php", "GET");
  	gotoAndStop ("angemeldet");
  }
  
  abmeldung.onRelease = function () {
  	meldung = "Abmeldung";
  	_root.LoadVars("http://www.braungraphix.de/php/abmelden.php", "GET");
  	gotoAndStop ("abgemeldet");
  }

Mein PHP Scipt sieht wie folgt aus:

PHP:
 <? 
 $suchen = "\r";  
 $ersetzen = "\n";  
 // Suche und ersetzte, da Flash Zeilenumbrueche mit \r angibt 
 // und php aber nur mit \n arbeitet 
 $nachricht_neu = str_replace($suchen,$ersetzen,$_GET[txt_email]);  
 $text = $_GET[txt_email].", übermittelt Ihnen folgende Informationen:\n"; 
 $text .= "eMail: $_GET[txt_email]\n"; 
 $empfanger = "mustermann@web.de"; 
 mail($empfanger, "Anmelden Newsletter", $text, "Von: Mustermann"); 
 ?>

Ich hoffe ihr könnt damit was anfangen :-).
 
Hi,
PHP:
_root.LoadVars("http://www.braungraphix.de/php/anmelden.php", "GET");
Das ist keine korrekte Syntax: LoadVars ist ein Objekt, keine Methode. Du suchst wahrscheinlich
PHP:
_root.loadVariables(...
.

Ansonsten kann ich Dir das LoadVars-Objekt durchaus empfehlen. Wie man es korrekt instanziert und einsetzt, erfährst Du z.B. in unserem Sammelthread, aber auch durch die Forumsuche nach diesem Begriff. ;)

Gruß
.
 
Sehr lustig das wusst eich nämlich auch. Ich hatte das im Flashforum gepostet und da sate man mir loadVariables wäre falsch! Ich war nämlich auch der Meinung das es damit geht. Sonst keinen Rat? Denn der Fehler muss noch wo anders sein!
 
Das ist mein Rat, denn LoadVars kannst Du nicht als Methode aufrufen, egal was Dir jemand im Flashforum erzählt (immerhin sollte bei dieser Verwendung auch ein Syntaxfehler ausgegeben werden).

Wenn Du es schon anders (korrekt) versucht hast, z.B.:
PHP:
var lv = new LoadVars();
lv.txt_email = _root.txt_email;
lv.sendAndLoad("url.de", "GET");
, wird der Fehler sicher woanders liegen. Um die genaue Ursache zu festzustellen, müsste ich die Dateien möglichst vorliegen haben.

Liegt das PHP-Script denn auf der selben Domain wie die Flashseite?.

Hast Du denn schon einmal getestet, was $_REQUEST in PHP ausgibt, wenn Du die Daten mit loadVariables verschickst?

Gruß
.
 
ALso das PHP script liegt auf der selben Domain. Liegt in dem Unterverzeichnis php. Ich habe das gerade noch mal mit deiner Vorgabe versucht jedoch verschickt er mir dann nichts mehr. Als ich das wie du sagtest mit loadVariables machte, so hatte ich es übrigens am Anfang, da kam die Mail an und sah wie folgt aus:

'ihnen werden folgende Informationen übermittelt
E-Mail:

So aber es war leider kein Wert in dieser mail. Ich kann dir ja noch einmal das php script posten wie es bei den Kontaktanfragen aussieht.

PHP:
  <?
   $suchen = "\r"; 
   $ersetzen = "\n"; 
   // Suche und ersetzte, da Flash Zeilenumbrueche mit \r angibt
   // und php aber nur mit \n arbeitet
   $nachricht_neu = str_replace($suchen,$ersetzen,$_GET[txt_kontakt]); 
   $text = $_GET[txt_name].", übermittelt Ihnen folgende Informationen:\n";
   $text .= "Name: $_GET[txt_name]\n";
   $text .= "Firma: $_GET[txt_firma]\n";
   $text .= "Straße: $_GET[txt_str]\n";
   $text .= "Ort: $_GET[txt_ort]\n";
   $text .= "Plz: $_GET[txt_plz]\n";
   $text .= "Tel: $_GET[txt_tel]\n";
   $text .= "eMail: $_GET[txt_email]\n";
   $text .= "Nachricht: $nachricht_neu \n";
   $empfanger = "mustermann@web.de";
   mail($empfanger, "Kontakt Braungraphix", $text, "Von: Kontakt Braungraphix");
   ?>

Hier wird alles richtig übergeben und die Informationen kommen auch an. Schönen Dank schon mal für die Hilfe.

Gruß
Mirco
 
Versuch mal:
PHP:
$text .= "Name: ".$_GET["txt_name"]."\n";
$_GET &co. erwartet den Variablennamen als String (in Anführungsstrichen). Auch wenn PHP Variablen in Strings mit Double-Quotes interpretiert, so fehlen die Anführungszeichen um den Bezeichner. Alternativ könntest Du Die Quotes wohl auch escapen.

Gruß
.
 
Danke für die Hilfe habe es nun zum Laufen bekommen. Sollte jemand so etwas für Flash suchen poste ich noch einmal die Lösung:

Code:
_root.onLoad = function() {
  	_root.mc_fehler._visible = false;
  	_root.mail.text = "Ihre Emailadresse";
  };
  
  mail.tabIndex = 1;
  
  textfeld = new Array();
  textfeld[0] = "mail";
  
  for (i=0; i<textfeld.length; i++) {
  	_root[textfeld[i]].onSetFocus = function() {
  		this.backgroundColor = 0xcccccc;
  		if (_root[this._mail]) {
  			_root[this._mail].text = "";
  			_root[this._mail] = false;
  		}
  	};
  	_root[textfeld[i]].onKillFocus = function() {
  		this.backgroundColor = 0xFFFFFF;
  	};
  }
  
  String.prototype.leer = function() {
  	for (i=0; i<this.length; i++) {
  
  		if (this.charCodeAt(i)>32) {
  			return true;
  		}
  	}
  };
  anmeldung.onRelease = function () {
  	meldung = "Anmeldung";
  	loadVariablesNum("http://www.mustermann.de/php/anmelden.php", 0, "GET");
  	gotoAndStop ("angemeldet");
  }
  
  abmeldung.onRelease = function () {
  	meldung = "Abmeldung";
  	loadVariablesNum("http://www.mustermann.de/php/abmelden.php", 0, "GET");
  	gotoAndStop ("abgemeldet");
  }

Und das Phpscript:

PHP:
<?
  $suchen = "\r"; 
  $ersetzen = "\n"; 
  // Suche und ersetzte, da Flash Zeilenumbrueche mit \r angibt
  // und php aber nur mit \n arbeitet
  $mail_neu = str_replace($suchen,$ersetzen,$_GET[txt_mail]); 
  $text .= "E-Mail: $_GET[txt_mail]\n";
  $empfanger = "mustermann@web.de";
  mail($empfanger, "Anmelden Newsletter", $text, "Von: Kontakt Braungraphix");
  ?>

So viel Arbeit für eine so kleine Sache :-)
 
Zurück