Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 20-06-2005, 09:19   #1 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
Daten werden nicht übertragen (von Flash nach PHP)

Hallo miteinander,

Möglicherweise gibt es mein problem schon, doch irgendwie kam ich mit der Suche nicht klar. Im FF gibts immer ne TCP Error und im IE auch. ich kein das forum irgendwie nicht dursuchen.

Mein Problem sieh so aus:


----------------------------------------
Ausgangslage
----------------------------------------
Ich möchte ein guestbook schreiben, welches teil einer Flashwebseite wird. Entwickelt ist es schon, den Code habe ich 1:1 von meinem Email script übernommen.



---------------------------------------
Funktionsweise
---------------------------------------
Das Script überprüft als erstes, ob alle nötigen felder ausgefüllt sind und übergibt anschliessend (insofern alle felder ausgefüllt sind) die daten dem server rüber, also ans PHP-Script.


---------------------------------------
Problem
---------------------------------------
Das Mailscript lauft, das heisst die daten werden dem PHP-Script übergeben. beim guestbook gehts aber ich.



--------------------------------------
ActionScript
--------------------------------------
ActionScript:
  1. on(release) {
  2.     if(this.name_input.text=="" or this.titel_input.text=="" or this.text_input.text=="") {
  3.         this.error._alpha = 100;
  4.        
  5.         if(this.name_input.text=="") {
  6.             this.name_err._alpha = 100;
  7.         } else {
  8.             this.name_err._alpha = 0;
  9.         }
  10.         if(this.titel_input.text=="") {
  11.             this.titel_err._alpha = 100;
  12.         } else {
  13.             this.titel_err._alpha = 0;
  14.         }
  15.         if(this.text_input.text=="") {
  16.             this.text_err._alpha = 100;
  17.         } else {
  18.             this.text_err._alpha = 0;
  19.         }
  20.     }else{
  21.         this.error._alpha = 0;
  22.        
  23.         gbook=new LoadVars();
  24.         gbook.sent = 0;
  25.         gbook.flash_name=name_input.text;
  26.         gbook.flash_titel=titel_input.text;
  27.         gbook.flash_text=text_input.text;
  28.         gbook.flash_page=page_input.text;
  29.         gbook.sendAndLoad("guestbook2.php",gbook,"POST");
  30.        
  31.         gbook.onLoad = function() {
  32.             trace(this.sent);
  33.             if(this.sent == 1) {
  34.                 _root.oben.podest_guestbook.gotoAndStop(2);
  35.             } else {
  36.                 _root.oben.podest_guestbook.gotoAndStop(3);
  37.             }
  38.         }
  39.     }
  40. }


Erläuterung: Dieses Script liegt auf einer Button Instanz. Es würd überprüft, ob alle nötigen Felder ausgefüllt sind. Wenn nicht wird jedes Feld überprüft, und falls es leer ist, wird ein Clip (einen roten Pfeil) sichtbar, damit klar ist, was noch auszufüllen ist.
Falls alles ausgefüllt ist, wird ein LoadVars Objekt erstellt, entsprechende Variabeln für die Felder und den Rückgabe wert (sent) und anschliessend alles an das PHP File "guestbook2.php" weitergegeben. Wenn die Daten übertragen würden und der Rückgabewert zurückkommt, wird dem User mitgeteilt, ob die nachricht gespeichert wurde oder nicht.



-------------------------------------
PHP
-------------------------------------
PHP-Code:
<?php
if($_POST["sent"] == 0) {

            
$whenwasposted=getdate();
            include(
'infos.php');
            
$_POST["flash_name"]=cvar2htm($_POST["flash_name"]);
            
$_POST["flash_titel"]=cvar2htm($_POST["flash_titel"]);
            
$_POST["flash_text"]=cvar2htm($_POST["flash_text"]);
            if(
$_POST["flash_page"] == "http://" or $_POST["flash_page"] == "" $_POST["flash_page"]) {
                
            } else {
                
$_POST["flash_page"]="";
            }

            
//$sql="INSERT INTO gbook VALUES('','".$_POST[flash_name]."','".$_POST[flash_titel]."','".$_POST[flash_text]."','','".$whenwasposted['year']."-".$whenwasposted['mon']."-".$whenwasposted['mday']." ".$whenwasposted['hours'].":".$whenwasposted['minutes'].":".$whenwasposted['seconds']."')";
            
$sql="select * from guestbook";
            
mysql_query($sql);// or die("&sent=0&");
                        
            
echo "&sent=1&";
            
            
mysql_close($connected);
} else {
    echo 
"&sent=0&";
}

function 
cvar2htm($to_conv) {
 
  
$ist = array("\\");
  
$soll = array("");
  return 
str_replace($ist,  $soll,  $to_conv);
  
}
?>

Erläuterung: Im PHP wird, falls die Variable "sent" gleich 0 ist (im Flash ja auf 0 gesetzt) den eintrag gemaucht, normalerweise. im moment wird aus testgründen lediglich ein Select auf die Tabelle gemacht. zuletzt sendet PHP noch sent=1 zurück, falls alles geglück ist.
Falls die Variable "sent" (also $_POST["send"], aber es versteht sich ja von selbst) noch nicht definiert wurde, also nicht gebraucht wird, ist der wert auf keinen fall 0, also macht das PHP script nichts und gibt sent=0 zurück, was zu meinem erstaunen bei mir tut.


------------------------------------
Übrigens
------------------------------------
-Die Pfade (Dateien) Stimmen
-Die Rückgabe funktioniert, je nach dem, ob ich am schluss vom script 1 oder 2 zurückgebe, flash gibt es richtig an




Habt ihr den Fehler entdeckt? Ich bedanke mich für eure Aufmerksamkeit und würde mich über eure Hilfe wahnsinnig freuen. Danke im voraus.
pixelarts ist offline   Mit Zitat antworten
Alt 20-06-2005, 12:57   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 56
Schau doch mal, was wirklich an PHP übergeben wird...

$fp=fopen("data.txt","a+");
foreach($_REQUEST as $k => $v) {
fputs($fp,$k.": ".$v."\n");
}
fclose($fp);

oder so...

Geändert von josephtura (20-06-2005 um 12:59 Uhr)
josephtura ist offline   Mit Zitat antworten
Alt 20-06-2005, 13:24   #3 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
werd ich mal ausprobieren, danke
pixelarts ist offline   Mit Zitat antworten
Alt 21-06-2005, 09:59   #4 (permalink)
flash student
 
Benutzerbild von pixelarts
 
Registriert seit: Apr 2005
Ort: Schweiz, Zürich
Beiträge: 527
für alle von euch, die php seit einem Tag (oder mehr) anwenden, werden den fehler sofort entdecken. ich vollidiot suche wie ein blutiger anfänger über laaaaaaaaaaaange zeit nach dem fehler in der übergabe, dafür war es einer der billigsten syntax fehler die es gibt.

dummerweise übergibt dies php an flash nicht. ausserdem geht php bei fehler im script weiter, somit gab er eben doch was zurück...

ich entschuldige mich, euch mit solchen unnötigen fehler zu belästig
ich hoffe, dass ich solche fehler (eigentlich sollte ich das seit langer zeit) in zufunkft nicht mehr ins forum posten werde. piis
pixelarts ist offline   Mit Zitat antworten
Alt 21-06-2005, 15:55   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2004
Beiträge: 56
Für alle, die's interessiert:

PHP-Code:
if($_POST["flash_page"] == "http://" or $_POST["flash_page"] == "" $_POST["flash_page"]) { 
Da liegt der Hund begraben...
josephtura 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 03:47 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele