• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash 8

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-12-2007, 16:30   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 21
Ich bin zu blöd....

Ich weiß, dass das Thema register_globals=off schon 1000mal erwähnt wurde. Ich habe viele Beiträge gelesen und trotzdem kriege ich es einfach nicht hin. Ich hoffe ihr seit gnädig mit mir und habt eine Idee.

Flash-Button:
on(release)
{
var id = 1;
v = new LoadVars();
v.status = _root.status1;
v.usercode = _root.usercode1;
v.passwort = _root.passwort1;
v.url = _root.url1;
v.id = _root.id;
v.sendAndLoad("deintrag.php",v,"GET");
}

Das Php.Skript:
<?php
$server="localhost";
$user="flasherfive";
$pass="blabla";
$flashbase="projekt";
$table="hupe";

$status = $_GET['$status'];
$usercode = $_GET['$usercode'];
$passwort = $_GET['$passwort'];
$url = $_GET['$url'];
$id = $_GET['$id'];

$hookup =mysql_connect($server, $user, $pass);
$debase=mysql_select_db($flashbase,$hookup);
$query = "UPDATE $table SET $status, $usercode, $passwort, $url WHERE $id;
$result=mysql_query($query);
?>

Wo steckt mein Denkfehler? Stimmt das PHp-Skript? Vielen Dank im Voraus!
flasherfive ist offline   Mit Zitat antworten
Alt 19-12-2007, 16:34   #2 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.050
hi,
also erstmal würde ich die daten mit POST senden:
PHP-Code:
on(release)
{
var 
id 1;
= new LoadVars();
v.status _root.status1;
v.usercode _root.usercode1;
v.passwort _root.passwort1;
v.url _root.url1;
v.id _root.id;
v.sendAndLoad("deintrag.php",v,"POST");

dann musst du die daten so annehmen:
PHP-Code:
$status $_POST['status'];
$usercode $_POST['usercode'];
$passwort $_POST['passwort'];
$url $_POST['url'];
$id $_POST['id']; 
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 19-12-2007, 16:43   #3 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.810
PHP-Code:
$query "UPDATE $table SET $status, $usercode, $passwort, $url WHERE $id; 
siehe http://de.wikipedia.org/wiki/SQL-Injektion
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 19-12-2007, 16:45   #4 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.050
jo, sollte man natürlich nicht vergessen
__________________

Gruß kakktus

Geändert von kakktus (19-12-2007 um 16:47 Uhr)
kakktus ist offline   Mit Zitat antworten
Alt 19-12-2007, 17:13   #5 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
jep, also beim zugriff auf die GET-Variablen hast du deinen fehler, weil du keine variable uebermittelst, die mit einem $ beginnen. also machs so, wie kakktus schon beschrieb:

aus $status = $_GET['$status'];
werde $status = $_GET['status'];

desweiteren macht POST wirklich mehr sinn hier. und n mysql_real_escape_string tut auch keinem weh =
__________________
hmmm.....
japanitrat ist offline   Mit Zitat antworten
Alt 19-12-2007, 18:00   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 21
Es geht trotzdem nicht...

Ich habe in php die Variablen direkt gesetzt und die Daten werden in die Datenbank eingetragen:

<?php
$status = 0;
$usercode = "hupe";
$passwort = "hupe";
$url = "www.bla.de";
$id = 1;

$hookup =mysql_connect($server, $user, $pass);
$debase=mysql_select_db($flashbase,$hookup);
$query = "UPDATE $table SET status='$status', usercode='$usercode', passwort='$passwort', url='$url' WHERE id='$id'";
$result=mysql_query($query);
?>

Das (nicht funktionierende) skript für Flash sieht so aus:

$status = $_POST['status'];
$usercode = $_POST['usercode'];
$passwort = $_POST['passwort'];
$url = $_POST['url'];
$id = $_POST['id'];

$hookup =mysql_connect($server, $user, $pass);
$debase=mysql_select_db($flashbase,$hookup);
$query = "UPDATE $table SET status='$status', usercode='$usercode', passowort='$passwort', url='$url' WHERE id='$id';
$result=mysql_query($query);

Anscheinend werden die Variablen nicht übergeben. Die Aktion in Flash sieht wie folgt aus:

on(release)
{
var id = 1;
v = new LoadVars();
v.status = _root.status1;
v.usercode = _root.usercode1;
v.passwort = _root.passwort1;
v.url = _root.url1;
v.id = _root.id;
v.sendAndLoad("deintrag.php",v,"POST");
}

Ich weiß echt nicht weiter....Sorry!
flasherfive ist offline   Mit Zitat antworten
Alt 19-12-2007, 18:11   #7 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
gibt es _root.id wirklich oder meintest du eigentlich das id, das du per var im onRelease definiert hast? ohne die id, gibts auch kein update. der query ist uebrigens auch daneben. schau mal ins mysql-manual, oder benutz einfach den gleichen, wie deinem anderen testskript. Edit: okay hast du schon geaendert
testest du auf einem lokalen webserver oder einem im netz?
dann wäre es noch gut, wenn dein skript auch einen output zurueckgeben kann, damit du weisst, warum das skript nicht funktioniert.
btw, es sieht so aus, als wuerdest du seit 4 threads am gleichen problem haengen, wieso also immer einen neuen aufmachen?
__________________
hmmm.....

Geändert von japanitrat (19-12-2007 um 18:12 Uhr)
japanitrat ist offline   Mit Zitat antworten
Alt 19-12-2007, 18:24   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 21
Die id steht auch in der Datenbank (1-9). Es werden 9 Datensätze eingelesen und können jeweils einzeln geändert werden (eigener Speicher-Button). Auf meinem lokalen Webserver funktioniert alles einwandfrei (register_globals=ON). Der Query ist der gleiche, wie in meiner Test.php die einwandfrei auch online funktioniert.
flasherfive ist offline   Mit Zitat antworten
Alt 19-12-2007, 19:14   #9 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
das die id in der datenbank steht, ist mir schon klar, es ging mir um die id, die von flash zu php uebertragen wird in deinem skript definierst du var id = 1, aber uebertragen tust du _root.id (und nicht einfach nur id).

lokal sollte der aufruf v.sendAndLoad("deintrag.php",v,"POST"); in der flash entwicklungsumgebung zu keinem ergebnis fuehren, da er es nicht ueber http anspricht, sondern das php einfach als file versucht zu laden. diesen aufruf kannst du so also nur ueber deinen browser testen.
also zum testen wuerd ich dir empfehlen, das php absolut aufzurufen, also in etwa so: v.sendAndLoad("http://localhost/deinProjektOrdner/deintrag.php",v,"POST");
__________________
hmmm.....
japanitrat ist offline   Mit Zitat antworten
Alt 19-12-2007, 20:18   #10 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 21
Da hast Du Recht....

Ich habe jetzt folgende Änderungen gemacht:

v.id = id;
v.sendAndLoad("http://localhost/mo0863/deintrag.php",v,"POST");

Jetzt läuft es auf dem lokalen Server auch nicht mehr. Hast Du einen Tip, warum das so ist?

Vielen Dank
flasherfive ist offline   Mit Zitat antworten
Alt 19-12-2007, 20:22   #11 (permalink)
---
 
Benutzerbild von kakktus
 
Registriert seit: Apr 2002
Beiträge: 2.050
es muss ja auch heißen:
http://localhost/mo0863/deintrag.php"

nicht http://localhost/mo0863/deintrag.ph p"
__________________

Gruß kakktus
kakktus ist offline   Mit Zitat antworten
Alt 19-12-2007, 20:26   #12 (permalink)
Neuer User
 
Registriert seit: Dec 2004
Beiträge: 21
Kopierfehler

Es steht richtig in Flash. Ist mir hier beim reinkopieren passiert.
flasherfive ist offline   Mit Zitat antworten
Alt 20-12-2007, 00:04   #13 (permalink)
relayit.de
 
Registriert seit: Sep 2001
Beiträge: 427
der pfad zu dem php-file ist wohl nicht korrekt.
__________________
hmmm.....
japanitrat 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 17:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele