Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-12-2005, 11:09   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 75
Aus Flash im PHP Funktion aufrufen

Hallo Alle.

Bitte wer weißt, mochte aus einem *.swf eine funktion im PHP dokument aufrufen und zwar ohne if(){} abfrage, danke alle.
maxl ist offline   Mit Zitat antworten
Alt 19-12-2005, 11:18   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Wie meinst du das "ohne if() {} Abfrage"? Soll im PHP-Skript kein Abfrage gemacht werden oder im ActionScript?

An sich ist das ganz einfach zu realisieren. Einfach ein LoadVars() Objekt erstellen und damit das PHP-Skript aufrufen. Zum Beispiel so:

PHP-Code:
 loadPHP = new LoadVars();
 
loadPHP.onLoad = function(success) {
  if(
success) {
   
//hier dann die Daten vom Skript empfangen
  
}
 }
 
loadPHP.sendAndLoad("myPHP.php?func=first"loadPHP"post"); 
Und im PHP-Skript kannst du dann je nach dem welche GET-Variable übergeben wurde, die entsprechende FUnktion aufrufen.

PHP-Code:
<?php
 
switch($_GET) {
  case 
"first": echo callFirst();
  break;
  case 
"second": echo callSecond();
  break;
  default: echo 
callDefault();
 }

 function 
callFirst() {
  return 
"&variable=callFirst aufgerufen&";
 }
 function 
callSecond() {
  return 
"&variable=callSecond aufgerufen&";
 }
 function 
callDefault() {
  return 
"&variable=callDefault aufgerufen&":
 }
?>
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 19-12-2005, 11:38   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 75
ohne if meinte ich das es das ich keine variabele übergeben soll und wen es da ist da soll die funktion starten, höfte einfach das man eine funktion im PHP nach einfachen art mit getURL und nach der frage zeichen funktionaufruf aufrufen könnte, meine Ziel ist parameter an eine funktion im php vom flash übergeben und ergebnis zurückbeckommen.

Danke DaKinel für schnelle hilfe
maxl ist offline   Mit Zitat antworten
Alt 19-12-2005, 12:21   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Zitat:
ohne if meinte ich das es das ich keine variabele übergeben soll und wen es da ist da soll die funktion starten...
Wie soll denn aber das Skript wissen welche Funktion es aufrufen soll, wenn es keine Parameter zum Auserten hat. Wenn dich nur die GET-Parameter hinter dem Fragezeichen stören, kannst du den Parameter auch via POST übergeben und siehst ihn nicht mehr.
Zitat:
...höfte einfach das man eine funktion im PHP nach einfachen art mit getURL...
Mit getURL() rufst du ja eine komplett neue Seite im Browser auf. Das ist sicher nicht was du suchst. Ein einfachere aber auch schlechtere Varinte wäre über loadVariable() oder loadVariableNum(). LoadVars() ist aber eindeutig die bessere Variante, da du sozusagen benachrichtigt wirst wenn dein Skript vollständig abgearbeitet wurde.
Zitat:
...rage zeichen funktionaufruf aufrufen...
Was soll das denn sein?
Zitat:
...meine Ziel ist parameter an eine funktion im php vom flash übergeben und ergebnis zurückbeckommen...
Und genau das macht das Beispiel was ich schon gepostet habe .
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 19-12-2005, 12:32   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 75
Soll es nicht die: loadPHP.sendAndLoad("myPHP.php?func=first", loadPHP, "post"); Zeile direkt nach : loadPHP = new LoadVars();
ausgefürt werden???,

bei mir geht es nicht((, leider, als //hier dann die Daten vom Skript empfangen
habe ich einfach der textfeld definiert wo es ausgegeben sein soll, aber geht nicht???, da ist noch mall der cod:
Code:
on (press) {


loadPHP = new LoadVars(); 

loadPHP.onLoad = function(success) { 
	if(success) { 
	text=variab;
				} 
									}							
loadPHP.sendAndLoad("vartest.php?func=first", loadPHP, "post");


			}
und der php
Code:
<?php 
 switch($_GET) { 
  case "first": echo callFirst(); 
  break; 
  case "second": echo callSecond(); 
  break; 
  default: echo callDefault(); 
 } 

 function callFirst() { 
  return "&variab=callFirst aufgerufen&"; 
 } 
 function callSecond() { 
  return "&variab=callSecond aufgerufen&"; 
 } 
 function callDefault() { 
  return "&variab=callDefault aufgerufen&": 
 } 
?>
maxl ist offline   Mit Zitat antworten
Alt 19-12-2005, 12:54   #6 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Mir ist auch ein Fehler unterlaufen. Im PHP-Skript muss es in der Switch-Anweisung nicht switch($_GET) heissen sonder switch($_GET['func'])

1. Testest du auch auf einem Server der PHP-Skripte interpretiert?
2. Stimmt auch der Pfad zu deinem Skript? Liegt vartest.php auch im selben Verzeichnis wie die Flas-Datei? Startest du die *.swf-Datei auch auf dem Server?
3. text=variab; ist keine Zuweisung von Text zu einem Textfeld. Entweder du schreibst die Syntax richtig (Textfeld.text=this.variab) oder du benutzt trace(this.variab).
__________________
ein mensch ohne macke ist kacke...

Geändert von DaKinel (19-12-2005 um 12:57 Uhr)
DaKinel ist offline   Mit Zitat antworten
Alt 19-12-2005, 16:47   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2003
Beiträge: 75
So siet jetzt Flash aus:
PHP-Code:
loadPHP = new LoadVars(); 
loadPHP.func "second";
loadPHP.sendAndLoad("vartest.php"loadPHP "POST");

loadPHP.onLoad = function(success) { 
    if(
success) { 
    
_root.feld=this.variab;
    
trace(this.variab);
                } 
                                    } 
und PHP siet jetzt so aus
PHP-Code:

<?php

  
switch($_GET['func'])  { 
 
  case 
"first": echo callFirst(); 
  break; 
  case 
"second": echo callSecond(); 
  break; 
  
                         } 

 function 
callFirst() { 
  return 
"&variab=callFirst aufgerufen&"
 } 
 function 
callSecond() { 
  return 
"&variab=callSecond aufgerufen&"
 } 
 
?>

was jetzt merkwürdig ist, das sofort nach dem kompalieren wird ergebnis richtig angezeigt, aber auf dem server nicht?????


Der server versteht PHP) und kann der interpretieren...
Alle Pfade sind Korrekt und ich starte html mit implimentiertem swf

Danke DaKinel, du hast mich auf richtige Weg gestellt, jetzt muss ich noch das Ziel erreichen)))

Geändert von maxl (19-12-2005 um 16:50 Uhr)
maxl ist offline   Mit Zitat antworten
Alt 19-12-2005, 17:23   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Wenn du die Variable "func" per POST an PHP sendest musst du sie dort auch als solche auswerten. Also statt switch($_GET['func']) musst du switch($_POST['func']) setzen.
Die FUnktion .onLoad war absichtlich vor das .load() gesetzt damit zum Zeitpubkt des Ladestarts die Funtion schon bekoannt ist .
__________________
ein mensch ohne macke ist kacke...
DaKinel 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 15:36 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele