Zurück   Flashforum > Flash und Server > Flash und Datenbanken

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-11-2006, 15:38   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 93
Variable wird nicht übergeben....

Also ich hab folgendes Problem:

Ich möchte von meiner Flash-Datei(swf) 2 Werte in meiner Datenbank-Tabelle (myadmin) übergeben also speichern.

Dazu habe ich mit LoadVars gearbeitet und so sieht nun mei code aus.
Code:
function sendData(){
    var daten = new LoadVars();
    daten.webname = "test1";
    daten.adresse = "test1";
    
    daten.onLoad=function(checkIt){
        if(checkIt){
                if(daten.ERGEBNIS=="ok"){
                txt.text = "daten wurden eingetragen!";
                }
            }
    
        }
    daten.sendAndLoad("submit_highscore.php", daten, "POST");
    
}
so webname und adresse sind meine 2 Variablen.

In meine php-datei (submit_highscore.php) sieht so aus.
PHP-Code:
<?php

// host bzw. datenbankserver festlegen
$host "localhost";

//benutzernamen festlegen
$user "greeklinks_de";

//passwort
$passwort ="******";

// db & tabelle festlegen
$db "greeklinks_de";
$table "Links";

// funktion die die verbindung zum Datenbankserver herstellt
function connectDB($host,$user,$passwort){

         
//Verbindung herstellen, die am ende des Skriptes wieder geschlossen wird
         
$connectIDmysql_connect($host,$user,$passwort);


         if (
$connectID){

            
//verbindung hergestellt -ID wird zurückgeliefert
            
return $connectID;
            
         }else{
               
//es ist ein Fehler aufgetreten. Datenbankverbindung nicht verfuegbar...
               
echo "es ist ein Fehler aufgetreten. Datenbankverbindung nicht verfuegbar...";

               
//php interpreter beenden

               
exit();
               }
}


// verbindung herstellen
connectDB($host,$user,$passwort);

// db waehlen
mysql_select_db($db);

// vars in datenbank schreiben
$sql "INSERT INTO $table (Id,WebName,Adresse)VALUES('','$webname','$adresse')";

// senden
$result mysql_query($sql);

// rückgabe auswerten
if($result){
    
      echo 
"ERGEBNIS=ok";
}

?>
Dazu habe ich in Flash einen Button gemacht mit dieser Funktion:

Code:
on(press){
	sendData();
}
Das heißt jetzt bei mir wenn ich auf dem Button drücke schickt flash die Daten an die PHP datei und übergibt somit die Variablen.


In meiner Datenbank-Tabelle habe ich die Tabelle Links und die drei Felder Id, WebName, Adresse.

Wenn ich jetzt meine swf-datei und meine php-datei in einem ordner speicher und sie hochlade und dann im browser die seite aufrufe und dann denn Button drücke wir in der Datenbank eine neue Zeile gemacht (erstellt) aber der inhalt fehlt.


Was mach ich falsch ? kann mir da jemand weiter helfen....?
alaniarisss ist offline   Mit Zitat antworten
Alt 12-11-2006, 15:48   #2 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
der sql ausdruck ist falsch. mach so:
Code:
$sql = '
  INSERT INTO '.$table.' (WebName,Adresse)
  VALUES("'.$_POST["webname"].'","'.$_POST["adresse"].'")
';
und maskieren sollteste am besten auch.

gruß
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 12-11-2006, 15:51   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 93
ok , ich probier es mal aus

was meinst du mit maskieren, bin noch ein anfänger
alaniarisss ist offline   Mit Zitat antworten
Alt 12-11-2006, 15:59   #4 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
variablen die du in die datenbank schreibst vor XSS attacken schützen. zb mit der funktion htmlentities:
PHP-Code:
htmlentities($strENT_QUOTES); 
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 12-11-2006, 16:06   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 93
also erstmal vielen dank , jetzt klappt es wunderbar freu mich schon ...

aber jetzt möchte ich 2 textfelder machen (eingabefelder) und der eingegebene text soll in der datenbank gespeichert werden.

Dafür muss ich ja nur die 2 textfelder einen variablennamen geben (unter eigenschaften) z.b var1 und var2

und dann im script würde es so aussehen :
Code:
function sendData(){
    var daten = new LoadVars();
    daten.webname = var1;
    daten.adresse = var2;
     .
     .
     .

hab ich schon gemacht , aber dann steht in meiner datenbank fogende werte
<TEXTFORMAT und <TEXTFORMAT LEADING="2"><P ALI

nachdem ich den Button gedrückt habe


kannst du mir dabei auch helfen?
alaniarisss ist offline   Mit Zitat antworten
Alt 12-11-2006, 16:13   #6 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
den textfeldern anstatt variablennamen, instantznamen verpassen (auf keinen fall beides)und dann:
Code:
var inst=this;
function sendData(){
    var daten = new LoadVars();
    daten.webname = inst.var1.text;//var1 ist instanzname von textfeld1
    daten.adresse = inst.var2.text;//var2 ist instanzname von textfeld2
     .
     .
     .
}
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 12-11-2006, 16:36   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 93
hey,
ja super vielen dank klappt jetzt ....

aber das mit dem
Code:
htmlentities($str, ENT_QUOTES);
hab ich nicht ganz verstanden wo muss ich das einfügen in der php-datei und wenn ja wo genau=
alaniarisss ist offline   Mit Zitat antworten
Alt 12-11-2006, 17:00   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 93
es funktioniert doch nicht alles, hehe

und zwar die rückgabe : in der php-datei steht ja das hier
PHP-Code:

// rückgabe auswerten
if($result){
    
      echo 
"ERGEBNIS=ok";


und im Flash steht
Code:
if(checkIt){
                if(daten.ERGEBNIS=="ok"){
                this.txt.text = "daten wurden eingetragen!";
                }
            }
    
        }
dazu hab ich im Flash ein textfeld mit dem instanznamen txt

Mache ich da irgendwas falsch oder wieso gibt er mir nichts aus?
alaniarisss ist offline   Mit Zitat antworten
Alt 12-11-2006, 18:03   #9 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
ich meinte:
Code:
$_POST["webname"]=htmlentities($_POST["webname"], ENT_QUOTES);
$_POST["adresse"]=htmlentities($_POST["adresse"],ENT_QUOTES);
$sql = '
  INSERT INTO '.$table.' (WebName,Adresse)
  VALUES("'.$_POST["webname"].'","'.$_POST["adresse"].'")
';
das andere sollteste so machen:
Code:
if($result){
      echo "&ERGEBNIS=ok";
}
und:
Code:
if(checkIt){
                if(this.ERGEBNIS=="ok"){
                inst.txt.text = "daten wurden eingetragen!";//inst variable haste aus dem vorherigen bespiel
                }
            }
    
        }
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom 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 00:29 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele