php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Daten für Flashcounter auslesen


 
manuelakersten
07-03-2003, 14:10 
 
Hallo PHP-Profies,

ich habe nun überlegt wo ich poste im Bereich PHP
oder Flash und ich versuche es mal hier.

Ich habe einen Counter der die Counterstände in meiner
MYSQL-Datenbank speichert, nun möchte ich diese über
Flash auslesen lassen und als Flashcounter anzeigen lassen.

So weit ich weis, kann flash ja nur Textdateien auslesen,
also müsste ich das Ergebnis bei jeder Abfrage ( reload )
auslesen und in eine Textdatei speichern lasse nur wie kann
ich dieses anstellen ?

z.B. heutige Hits

$show_sql = "SELECT count(mp) FROM ".$tbl_logs." WHERE time BETWEEN $today AND ($today+86400)";


nun habe ich im Netz mal rumgestöbert und bin auf einen
flashcounter gestoßen und die Befehlroutine sieht so aus.

Variablen :

Stufe #0:
Variable _level0.$version = "WIN 6,0,21,0"
Variable _level0.addZeros = [Funktion 'addZeros']
Variable _level0.setLabel = [Funktion 'setLabel']
Variable _level0.updateData = [Funktion 'updateData']
Variable _level0.setDisplay = [Funktion 'setDisplay']
Variable _level0.showTime = [Funktion 'showTime']
Variable _level0.getToday = [Funktion 'getToday']
Variable _level0.id = "shcounter"
Variable _level0.cgilocation = "URL ZUM PHP-SCRIPT"
Variable _level0.title = "COUNTER-NAME"
Variable _level0.pauseTime = 3
Variable _level0.list = [Objekt #7, Klasse 'Array'] [
0:"today",
1:"yesterday",
2:"total",
3:"online",
4:"day",
5:"time"
]
Variable _level0.label = [Objekt #8, Klasse 'Array'] [
0:"Hits Heute",
1:"Hits Gestern",
2:"Hits Gesamt",
3:"Onlineuser ",
4:"Datum",
5:"Zeit"
]
Variable _level0.dataArr = [Objekt #9, Klasse 'Array'] []
Variable _level0.digit_num = 8
Variable _level0.zeros = "00000000"
Variable _level0.currentDisplay = 0
Variable _level0.listNum = 6
Variable _level0.eof = "false"
Variable _level0.loadingSign = "<P ALIGN=\"LEFT\"><FONT FACE=\"_sans\" SIZE=\"12\" COLOR=\"#333333\">Loading</FONT></P>"

Objekte :

Stufe #0: Bild=21 Bezeichnung="dataLoad"
Form:
Schaltfläche: Ziel="_level0.instance516"
Form:
Form:


Vielleicht kann mir ja jemand einen Tip geben - wäre SUPER

Danke im voraus Gruß Manuela

 
TobiaZ
07-03-2003, 14:21 
 
Also ne extra-textdatei brauchst du nicht.

Du baust deine Seite so auf:

SELECT conterstand FROM db

echo "Hits: $conterstand"; # ich glaub das ist ungefähr das Format was flash braucht.

und deinem Flashmovie sagst du dann, dass er die Var "Hits" benutzen soll.

Ich verschieb aber mal nach Flash, weil wir uns hier nur um die reine PHP-Programmierung kümmern.

*VERSCHIEB*

 
tobias_k
07-03-2003, 15:55 
 
Original geschrieben von manuelakersten

...So weit ich weis, kann flash ja nur Textdateien auslesen...
nope...:teach:
<?php
echo "&namedesdynamischentextfeldes=$irgendnevariabledieirgendwoherkommt";
?>
Gruß

 
manuelakersten
07-03-2003, 22:14 
 
hääähhhhh ?????

Gibt es da kein Tutorial ?

Gruß Manuela

 
tobias_k
08-03-2003, 09:24 
 
ganz einfach gesagt:
Deine DB Abfrage gibt dir den Wert einer Variaben aus.
sagen wir $counti=30
Die Ausgabe in php ist
echo $counti=30;
Die Ausgabe für Flash ist;

$counti=30;
echo "&zaehler=$counti&";//<-- das kappiert Flash
Jetzt holst du mit:
loadVariables ("dein_countscript.php", this, "POST");

die Variable "&zaehler" mit dem Wert von "$counti" in Flash.
Um "&zaehler" darstellen zu können, braucht du in Flash ein dynamisches Textfeld mit dem Namen naaa??? zaehler.
Das & Zeichen am Ende der echo Ausgabe ist dazu da, um die Variable für Flash abzuschliessen.
Du kannst dein_countscript.php auch in _level0 laden, vorausgesetzt dein Textfeld "zaehler" befindet sich auf der Hauptzeitleiste und nicht in einem MovieClip.
Ist dein Textfeld jedoch in einem MovieClip mit Instanznamen, der wackelt und zischt, hast du die Möglichkeit das Skript auf dem MC zu laden mit:
onClipEvent (load) {
loadVariables ("dein_countscript.php", this, "POST");
}

oder über die Zeitleiste mit:
loadVariables ("dein_countscript.php", "ziel", "POST");

In diesem Fall ist ziel der Instanzname des MovieClips.

Du kannst also mit Textfeldern (dynamisch oder input) Variablen an php senden und empfangen.
PHP schraubt das dann auf Wunsch in eine Datenbank, oder in eine Textdatei, oder sonstwohin.
Tutos gibt's im Netz Tonnenweise, macht aber keinen Spaß :p , selbermachen ist viel lustiger.
Bei Problemen oder Unverständlichkeiten fragen Sie Ihren Artzt, oder Apotheker, oder hier im Forum, oder bei Flashhilfe.de, oder bei Flashforum.de
Gruß
P.s.
was du da unten gepostet hast ist der Flash-output des Debuggers...
Die dazugehörigen Files kommen von hier (http://tangible.new21.org/)..... da hast du dann auch gleich dein Tut..... :rolleyes:... ist aber Perl.

 
manuelakersten
08-03-2003, 17:27 
 
SUPER , danke für die ausführliche Erklärung.

das sieht aber ganz schön kompliziert aus und ich dachte immer
PHP ist schwierig, aber ich habe von Flash bis jetzt NULL Ahnung
was kommt bei ,this,Post hin ?

Gruß Manuela

 
tobias_k
08-03-2003, 17:41 
 
gerne...:)


Gibt es eigentlich die Möglichkeit eine SWF-Datei so um zu wandeln,
um diese mit Flash bearbeiten zu können ?

Es gibt diverse Programme, die swf Datein "auslesen" können.
Zur Bearbeitung umwandeln jedoch bisher und hoffentlich auch in Zukunft nicht.

 
manuelakersten
09-03-2003, 11:12 
 
Hallo Profies,

also ich habe nun folgende Labels im Counterbeispiel
von o.g. Link difiniert :

label[0] = "heute";
label[1] = "gestern";
label[2] = "gesamt";
label[3] = "online";
label[4] = "datum";
label[5] = "uhrzeit";


Und dieses PHP-Script geschrieben :

<?php
include "main_location.inc";

if (!isset($js_onoff)) $js_onoff = 'off';
if (isset($pw) && $js_onoff == 'off') {
$password = md5($pw);
} else {
$password = (!empty($_POST)) ? $_POST['md5_pw'] : $HTTP_POST_VARS['md5_pw'];
}
if (isset($admpw)) $password = $admpw;
if (isset($usr)) $username = $usr;
if (!isset($password)) $password = $pw;

if (defined('PHP_SESS')) {
session_register("password");
session_register("username");
// $GLOBALS['HTTP_SESSION_VARS']['username'] = $username;
// $GLOBALS['HTTP_SESSION_VARS']['password'] = $password;
if (!@ini_get('register_globals')) {
$HTTP_SESSION_VARS['username'] = $username;
$HTTP_SESSION_VARS['password'] = $password;
}
} else {
setcookie("username", $username);
setcookie("password", $password);
}

include INC_GETUSERDATA;

/* timestamp from today's GMT Unix timestamp, 12:00 AM */
$today = UserToGMT(mktime(0,0,0,date('m',$curr_usr_time),date('d',$curr_usr_time),date('Y',$curr_usr_time)));
/* timestamp from this month's GMT Unix timestamp, 1. of month, 12:00 AM */
$first_of_month = UserToGMT(mktime(0,0,0,date('m',$curr_usr_time),1,date('Y',$curr_usr_time)));


/* -------------------------------- Statistik Anfang -------------------------------------- */
/* ----------- Gesamthits ---------------------*/
$sql = "SELECT hits FROM ".$tbl_users." WHERE id='$id' OR username='$id'";
$res = mysql_query($sql);
$hits = mysql_result($res, 0);
echo "&gesamt=$hits&";
/* ----------- Hits heute ---------------------*/
$sql = "SELECT count(mp) as hits FROM ".$tbl_logs." WHERE time BETWEEN $today AND ($today+86400)";
$res = mysql_query($sql);
$heute = mysql_result($res, 0);
echo "&heute=$heute&";
/* ----------- User Online ---------------------*/
$sql = "SELECT count(*) FROM ".$tbl_logs." WHERE t_reload > ".($curr_gmt_time-$timeout_onl);
$res = mysql_query($sql);
$online = mysql_result($res, 0);
echo "&online=$online&";
/* ----------- Hits gestern ---------------------*/
$sql = "SELECT count(mp) FROM ".$tbl_logs." WHERE time BETWEEN ($today-86400) AND $today";
$res = mysql_query($sql);
$gestern = mysql_result($res, 0);
echo "&gestern=$gestern&";
?>


Ist das insoweit richtig nun weis ich jedoch absolut
nicht wie ich in dem Beispielcounter, der ja auf CGI-Basis
funktioniert, diesesn für PHP umschreibe.

Der Counter ist Multiuser und arbeitet mit der ID des Benutzernamens
also aufruf dann 'counter.php?usr=BENUTZERNAME'

Gruß Manuela

 
webmasteralf
05-06-2003, 18:59 
 
Hallo Leute,

ich habe jetzt schon die ganze Zeit rumexperementiert
**puhh schwieriges Wort für 'ne Blondine**
und habe es nicht geschaft einen Flashcounter
auf PHP-Basis zu erstellen.

Gibt es den niemanden der mir weiterhelfen kann,
es muss ja nicht so ein schwieriger sein wie oben
sondern auch ein einfacher tut es, vielleicht
verstehe ich dann die Arbeitsweise und kann
den umstellen.

Es funktioniert, denn es gibt schon einen PHP-Counter
der diesen Flashzähler benutzt.

B I T T E , B I T T E

Gruss Manuela

 
tobias_k
05-06-2003, 20:01 
 
hmmmm...
der Counter hat eigentlich nix mit Flash zu tun.
In Flash werden die Zählerstände nur dargestellt.
ergo.... machst du statt der Ausgabe echo oder print $variable....
echo oder print "&flash_textfeld_name"=.$variable;
fertig ;)
wenn du ein banner von uns mit 1024x768 auf deine homepage stellst :p bastel ich dir einen... :D

nein ernsthaft: da gibt's so viele counter da draussen. Versuch das mal so, wie ich's beschrieben hab.

 
manuelakersten
06-06-2003, 21:39 
 
Hallo tobias_k,

ähhh nich hasse Cookies ich vergesse mich jedesmal neu an zu melden,
wenn mein Mann in diesem Forum war.

Irgenwie wurde das letzt Post nicht veröffentlicht,
das mit der Wertübergabe von PHP habe ich glaube ich kapiert,
jedoch weis ich nur wie ich Flash starten kann und mehr nicht,
denn damit kenne ich mich absolut nicht aus.

Bei einer Hilfe einen Flashcounter zu coden,
der die o.g. Werte verarbeiten kann binde ich jegliche Art von Banner
in mein Netzwerk ( Head ) ein.

Gruss Manuela

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:17 Uhr.