g-book mit FLASH mittels PHP

the_zero

Grünschnabel
hi!
dies ist mein erstes tut und zugleich mein erster post, da ich neu hier bin. ich werde euch mal erklären wie man ein flash-gbook auf php-basis erstellen kann.

benötigte dateien
- write.php
- count.txt
- g-book.swf

funktionsweise
- man verschickt über ein flash-formular per post die daten an eine php-datei
- beim eintrag wird eine neue datei (data1.txt, data2.txt, data3.txt ...) erstellt.
- die einträge werden alle einzeln angezeigt, und mittels pfeiltasten kann man dan vor und zurück navigieren.
- um jedem eintrag eine korrekte id (bzw. einen korrekten dateinamen, data1, data2) zuzuweisen, erstellen wir eine txt-datei, dessen inhalt immer um 1 hochgezählt wird,

kommen wir gleich mal zur php-datei. diese datei wird immer in flash geladen, wenn man auf den knopf klickt um die einträge auszugeben

PHP:
#hier wird mal der wert eingelesen, zur eindeutigen benennung
$fp = fopen('count.txt', 'r');
$get = fgets($fp);
fclose($fp);

$get = explode('=', $get);
$count = $get[0];

# hier werden die variablen für die von flash über post versendeten daten erstellt
$name = $_POST[name];
$email = $_POST[email];
$text = $_POST[text];


# der schreibvorgang
$newcount = $count + 1; # aktueller count-status wird um 1 erhöht
touch('data'.$count.'.txt');

$fp = fopen('data'.$newcount.'.txt', 'r');
$data = 'name='.$name.'&email='.$email.'&text='.$text; # die daten müssen so für flash ausgegeben werden
fclose($fp);


# aktueller countstatus wird in die datei count.txt geschrieben;
$fp = fopen('count.txt', 'w');
fwrite($fp, 'entries='.$newcount);
fclose($fp);
 
Zuletzt bearbeitet:
so jetzt mal die flash-datei:


neuer eintrag

im ersten frame machen wir 3 eingabe felder, eines für name, email, und für text;

unter eigenschaften gebt ihr im feld wo "variable" steht für jedes textfeld einen namen ein, der so aussieht (name_txt, email_txt, text_txt);


in das erste frame schreiben wir folgendes rein:

Code:
function write()
{
name = name_txt;
email = email_txt;
text = text_txt

loadVariablesNum("write.php?"+new Date().getTime(), "POST");
}
stop;

dadurch wird die write.php aufgerufen und die variablen name, email und text werden über post versandt.

dann macht ihr einen button und schreibt diese aktion rein.

Code:
on... (release, oder press, egal, was auch immer ihr wollt)
{
write();
}

durch function name (); wird verhindert, dass bei jedem aufruf des ersten frames, das formular sofort versandt wird, erst wenn man auf den button klickt wird die function aufgerufen (call function).



einträge ausgeben

dann gehen wir in ein anderes frame machen wieder 3 textfelder (jedoch keine eingabefelder, sondern dynamische felder).

im feld variable schreiben wir jeweils:
_root.name
_root.email
_root.text


dann in der aktion schreiben wir diesen text

Code:
loadVariablesNum("count.txt", 0);
i = 1;
loadVariables("data" add i add ".txt", this);
function vor() {
	i = i+1;
	if (i > entries) {
		i = entries;
	}
	loadVariables("data" add i add ".txt", this);
}
function zurueck() {
	i = i-1;
	if (i == 0) {
		i = 1;
	}
	loadVariables("data" add i add ".txt", this);
}
stop();


dann macht ihr nen button wo drin steht

Code:
on... (release, oder press, egal, was auch immer ihr wollt)
{
vor();
}


und einen wo steht


Code:
on... (release, oder press, egal, was auch immer ihr wollt)
{
zurueck();
}


so das wars dann eigentlich, die fla, müsst ihr dann nur noch so anpassen, das ihr eine seite habt, wo man aussuchen kann ob man zerst sich einträge anschauen will oder gleich einen eintrag machen will


beispieldate kommt sofort, hab zzt keinen webspace.
 
also es freucht mimch dass sich so viele den thread angeschaut haben, aber es würde mich mehr freuen, wenn ihr comments schreiben würdet, damit ich wieß ob es euch gefallen und ob es funktioniert hat.
 
Zurück