| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
| php script aufrufen
hallo zusammen, ich bin mir darüber im klaren, daß diese frage mehrfach gestellt wurde. ebenso habe ich mir in diesem und anderen foren beiträge und lösungsvorschläge zum thema angesehen und auch eigene schritte probiert (s.u.). trotzdem ist da noch ein knoten drin... zum hintergrund: auf einer website soll ein kreis aus 8 segmenten zu sehen sein (flash). jedes segment bietet dem besucher ein gadget an. der kreis selbst läuft in zwei verschiedenen modi. standartmäßig läuft ein "demo"-modus, in dem die segmente der reihe nach beispiel-inhalte anzeigen. wird der kreis mit der maus überfahren, geht er in einen manuellen modus über und der besucher kann jedes segment selbst erforschen. der manuelle modus ist fertig, vom demo-modus bislang drei segmente. eines der segmente (das dritte) soll im demo-modus das ergebnis eines php-scriptes anzeigen, das aus einer datenbank ein zufälliges zitat ausliest. in html ist das kein problem: Code: <?PHP @include("http://www.pharmedico.de/scripts/zitate.php"); ?> im demo-modus habe ich nun also folgende actionsscript-zeilen angelegt: Code: var Zitat:String = ""
loadVariables ("http://www.pharmedico.de/scripts/zitate.php", Zitat); ich muss dazu anmerken, daß php bislang nicht meine baustelle ist. das erledigt mein partner und webhoster. das entsprechende php-script hat folgenden inhalt: Code: <?php
include ('configure.php');
/* Erstellt Connect zu Datenbank her */
$db = mysql_connect($dbHost,$dbUser,$dbPass) or die ("Konnte keine Verbindung zur Datenbank herstellen") . "<br>";
$db_check = mysql_select_db($dbName,$db);
if($db_check) {
$sql = "SELECT * FROM zitate ORDER BY rand() LIMIT 1";
$result = mysql_query($sql);
$menge = mysql_affected_rows();
if ($menge > 0) {
$row = mysql_fetch_array($result);
echo $row[Zitat] . ' (' . $row[Quelle] . ')';
} else {
printf ("kein Zitat gefunden");
}
mysql_free_result($result);
}
mysql_close($db);
?> Phamedico Consulting Management sicherheitshalber habe ich das fla-file zum download geparkt: http://www.be-sign.net/downloads/GadgetCircle.zip kann mir jemand einen tipp geben, wo mein fehler liegt? vielen dank im voraus bernd scheurer |
| | |
| | #2 (permalink) |
| Gast
Beiträge: n/a
|
Schau dir mal mein Tutorial zur Datenübertragung von PHP nach Flash an.
|
|
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
vielen dank. jetzt ist das klarer. ist doch komlizierter, als ich dachte... wegen der anmerkung mit firefox und dem umstand, daß manchmal nur "get" anstatt "post" funktioniert: sollte man sicherheitshalber immer mit "get" arbeiten? oder führt das zu problemen mit den anderen browsern? ich werde jedenfalls heute nacht eine weitere runde basteln und sehe jetzt schon klarer. bernd |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
hallo holger, vielen dank für deine hilfe. heute nacht kam mir nun doch noch etwas dazwischen, so daß ich das "experiment" aufschieben musste. ich habe flash bislang nur für "nette" animationen genutzt, um websites optisch aufzuwerten. mit actionscript bin ich anhand eines frei verfügbaren audio-demoplayers, den ich angepasst habe (http://livemusik.ralf-olbrich.de > Musikangebot), in berührung gekommen. da gibt es noch eine menge zu lernen :-) |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
fast fertig. nur noch zwei kosmetische fragen: umlaute: das php-script wird erfolgreich ausgelesen, das zitat wird übertragen. im ausgabefenster (trace) sind aber alle umlaute zerschossen. kann man die codierung irgendwie beeinflussen? passiert das auf php- oder auf actionscript-seite? dynamisches textfeld: ich habe zu anzeige ein dynamisches textfeld angelegt und in der eigenschaften-palette des textfeldes unter "Variable" den namen der variablen anlegt, in die ich das php-erzeugnis lade. im gegensatz zur trace-ausgabe sehe ich im dynamischen textfeld aber nur "undefined" wie bekomme ich den output des php-scripts in das dynamische textfeld? das action-script sieht jetzt so aus: Code: function lade_zitat(feedback) { // .................................... funktion "zitat laden"
if(feedback) { // ............................................. wenn rückgabewert
trace("empfangene Variable: "+this.zitat); } // .......... diesen wert ausgeben
else { // ..................................................... sonst
trace("Fehler beim Laden"); } // ...................... fehlermeldung
}
var ZitatDemo:String = "" // .......................................... variable leeren
lv = new LoadVars(); // ............................................... instanz von LoadVars() initiieren
lv.onLoad = lade_zitat; // ............................................ callback setzen
lv.load("http://www.pharmedico.de/scripts/zitate.php",lv,"POST"); //... anfrage starten
ZitatDemo = this.zitat; // ............................................ zitat in variable schreiben (variable wird im dynamischen textfeld angezeigt) danke und grüße bernd |
| | |
| | #7 (permalink) | ||
| Gast
Beiträge: n/a
| Zitat:
PHP-Code: Zitat:
| ||
|
| | #8 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
danke. das mit der utf-codierung werde ich mir zusammen mit meinem php-menschen anschauen. entschuldige, daß ich mit dem textfeld nochmal läsitg fallen muss: dem dynamischen textfeld habe ich jetzt den variablen-eintrag genommen und dafür den instanz-namen "ZitatDemo" verpasst. im script steht nun: Code: ...
lv = new LoadVars(); // ............................................... instanz von LoadVars() initiieren
lv.zitat = ZitatDemo.text;
lv.onLoad = lade_zitat; // ............................................ callback setzen
lv.load("http://www.pharmedico.de/scripts/zitate.php",lv,"POST"); //... anfrage starten
... |
| | |
| | #9 (permalink) |
| Gast
Beiträge: n/a
|
Ist das kein Input-Textfeld? Macht ja keinen Sinn, den Text aus einem statischen oder dynamischen Textfeld auszulesen, da kannst du ja auch gleich den entsprechenden String an die LoadVars-Instanz übergeben... PHP-Code: |
|
| | #10 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
hilfe! jetzt habe ich mich komplett festgefahren. dynamisch ist also ungeeignet. dachte bisher, daß dynamische felder (im gegensatz zu statischen) mit inhalt von aussen (z.b. script) versorgt werden können. habe jetzt die option "Eingabetext" probiert. auch ohne ergebnis. jetzt werde ich erst mal über die feldarten nachlernen, bevor ich mir alles vorkauen lasse. sollte ich dann nicht klarkommen, traue ich mich nochmal z fragen. danke und grüße bernd |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
hallo holger, vermutlich hast du damit gerechnet ... ich meine verstanden zu haben, daß man dynamische (bzw. input) felder von AS aus ansprechen/füllen kann. nachdem was ich gelesen habe, fülle ich das textfeld via script mit der anweisung Code: NameDesTextfeldes = Inhalt wenn ich das mache, bleibt das textfeld - sowohl bei "dynamisch" als auch bei "input" - leer. in deinem script sehe ich aber nirgends eine solche zuordnung. im gegenteil: die zeile Code: lv.zitat = ZitatDemo.text; das ergebnis ist aber auch ein leeres textfeld. ich verstehe nicht, was hier falsch läuft. hier noch mal das aktuelle script und hier http://www.be-sign.net/downloads/ScreenshotZitate.jpg ein screenshot der felddefintion (hier als dynamisch - das ergebnis mit input ist wie erwähnt identisch). Code: function lade_zitat(feedback) {
if(feedback)
{
trace("empfangene Variable: "+this.zitat); }
else
{
trace("Fehler beim Laden"); }
}
lv = new LoadVars(); // ............................................... instanz von LoadVars() initiieren
lv.zitat = ZitatDemo.text;
lv.onLoad = lade_zitat; // ............................................ callback setzen
lv.load("http://www.pharmedico.de/scripts/zitate.php",lv,"POST"); //... anfrage starten grüße bernd |
| | |
| | #12 (permalink) |
| Gast
Beiträge: n/a
|
Bei Textfeldern gibt es Instanznamen und die Var. Du kannst Strings direkt an die Textfeldvar senden und benötigst dazu keinen Instanznamen. Allerdings kannst du ohne Instanznamen nicht auf die Eigenschaften und Methoden des Textfeldes zugreifen, daher ist die Textfeldvar überflüssig. Man gibt also dem Textfeld einen Instanznamen, natürlich nur bei dynamischen und Input-Textfeldern. Um das Textfeld mit Inhalt zu füllen, weist man dann der text-Eigenschaft des Textfeldes einen String zu: PHP-Code: PHP-Code: PHP-Code: |
|
| | #14 (permalink) | |
| Gast
Beiträge: n/a
| Zitat:
| |
|
| | #15 (permalink) |
| Neuer User Registriert seit: Jul 2005 Ort: Erzhausen
Beiträge: 33
|
wir haben es geschafft. und zwar über das TextVars-Feld ![]() Code: var ZitatInhalt ="";
v = new LoadVars();
v.onLoad = function(geladen) {
if(geladen) {
trace("empfangen="+this.zitat);
ZitatInhalt = this.zitat;
}
}
v.sendAndLoad("http://www.pharmedico.de/scripts/zitate.php",v,"POST") grüße bernd |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Script parallel aufrufen | .felix. | PHP und MySQL | 11 | 15-06-2007 12:26 |
| PHP-Script per Cronjob aufrufen | .felix. | PHP und MySQL | 11 | 01-02-2006 21:22 |
| script aufrufen | flatripe | Flash MX | 6 | 30-04-2003 08:05 |
| script von mc in root aufrufen | flatripe | ActionScript 1 | 3 | 29-04-2003 15:13 |
| will script nicht aufrufen | destroy90210 | Flash 4 und Flash 5 | 3 | 24-04-2002 16:58 |