"We are back" « oc.at

clanwar hinzugügen system

Ezekiel 14.05.2002 - 13:47 1417 19
Posts

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
Also ich will auf unserer clansite folgendes verwirklichen:

ein formular in das man daten wie z.b gegner, ergebnis, datum und einen text einträgt.
wenn man dieses formular bestätigt soll folgendes passieren:

in einem bestehenden html site mit allen clanwars soll eine neue tabellenzeile mit gegner, datum und einem link zu einem file hinzugefügt werden.
dieses file soll wenn das formular bestätigt wird erstellt werden und die restlichen daten bzw. den text enbthalten.

meine frage: geht das überhaupt ohne datenbank, bzw. wie geht das mit php (kenn mich nicht wirklich gut damit aus) ?

mfg + thx

Tex

got r00t?
Avatar
Registered: Aug 2000
Location: salzburg
Posts: 1844
es geht auch ohne datenbank, mit textfiles. du musst nur immer wieder eine neue zeile im textfile hinzfügen und zwischen den einzelner "variablen" ein trennzeichen einfügen. auf der ausgabeseite kannst du dann alles wieder auslesen. die genau syntax hab ich jetzt nicht im kopf.

Red

OC Addicted
Avatar
Registered: Jan 2002
Location: vienna
Posts: 2170
gibt 2 möglichkeiten!


Datenbank (SQL)
hierbei speicherst du alle daten in eine tab und rufst sie auf der html seite auf (auslesen) ist am einfachst, genauersten, schnellsten, sichersten


TEXT (txt)
Hierbei werden alle daten in einer TXT gespeiceht zb. jeder War bekommte seine txt datei oder so. und diese werden nach der reihe ausgegenen "fprint" war das glaub ich !

wenn dein server keine datenbank unterstützt musst du es mit txt datein machen allerdings such dir ein paar gästebücher raus
und schau dir den source code an

im Prinzip ist es das selbe

fput
fprint

glaub ich sind die 2 befele die dazu zuständig sind ist eben das selbe wie bei Gästebücher


ich hatte mal ein ganzes Clanwar Script mit

Fight Us formular
Join Us formular
Clanwars (Sieg/x/Niederlage)
Members statisitk
....
gecodet allerdings ist mir das bei einem HDD Crash verloren
gegangen
ist aber net soviel arbeite und net so schwer


mfg
red

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
strikenet unterstützt leider kein sql ... is wahrscheinlich eh nicht schwer wenn man gscheid php kann ... naja, ich werds mal versuchen

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
ich habs jetzt schon erreicht das die daten aus dem formular in einer .txt datei gespeichert und dann wieder ausgelesen werden.
ich kann aber nur das ganze textfile auslesen...
ich will das aber ungefähr so

erste zeile:
gegner - ergebnis - datum - link zu details
das selbe beim nächsten clanwar und so weiter.

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Am Besten is du speicherst alles Zeile für Zeile.

Um eine Zeile aus einem bereits geöffneten Stream auszulesen benutz am Besten die vorgefertigte funktion fgets oder die hier:

Code: PHP
function get_line ($file) {
	$read_again = true;
	$buffer_size = 4096;
	$full = "";
	while ((!feof ($file)) && ($read_again)) {
		$read_again = false;
		$line = fgets ($file, $buffer_size);
		$full .= $line;
		if (strlen($line) >= ($buffer_size - 1)) {
			if ($line[($buffer_size - 2)] != '\n') {
				$read_again = true;
			}
		}
	}
	return $full;
}

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
nochwas:
ich will jetzt das ganze in einer tabelle, in der ersten zelle den gegner, in der zweiten das ergebnis usw.
wie geht das ?

Red

OC Addicted
Avatar
Registered: Jan 2002
Location: vienna
Posts: 2170
naja du machst genau die tabelle

und in der tab wo du es haben willst machst du

<?

source code

?>


...

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
schon klar, hab mir nur gedacht dass es vielleicht einfacher geht :)

Red

OC Addicted
Avatar
Registered: Jan 2002
Location: vienna
Posts: 2170
nein nicht wirklich

du kannst alles in einen <? PHP TAG ?> schreiben allerdings musst du dann alle " ca so \" umändern und und und und das wird ziemlich unübersichtlich

mfg
red

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
so, der großteil funkt jetzt. ich will jetzt aber nicht nur in das bestehende clanwar.txt einen clanwar hinzufügen (was eh schon funkt), sondern auch ein neues file machen wo ein kleiner warbericht drinsteht. wie kann ich das jetzt machen? einfach wieder ein .txt machen geht ja nicht, weil ja sonst manuell bei jedem ein neues .php machen müsste das daraus rausliest oder ?

Red

OC Addicted
Avatar
Registered: Jan 2002
Location: vienna
Posts: 2170
puh !

du machst einfach eine neue txt datei kannst soviel machen wie du willst !

aber warum suchst du dir nic tuts im i-net ich hab mir php rein nur mit tuts gelertn nacher zwar mit Buch aber die grundlagen mit tuts

da brauchst net immer fragen und hast gleich deine antwort und dann kannst du sagen das hast du gemacht nicht oc.at

Tex

got r00t?
Avatar
Registered: Aug 2000
Location: salzburg
Posts: 1844
nein, du brauchst ja nur einen parameter übergeben (eine nummer)

zb: clanwar.php?id=3 -> clanwar3.txt wird eingelesen.

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
Zitat von Red
da brauchst net immer fragen und hast gleich deine antwort und dann kannst du sagen das hast du gemacht nicht oc.at
das ist so ziemlich das erste was ich in php mache.

Ezekiel

OC Addicted
Avatar
Registered: Jun 2001
Location: na
Posts: 3329
hmm ....
mir ist grad aufgefallen, dass, wenn ich einen clanwar eintrage geht das zwar, aber wenn ich nochmal auf die seite gehe und noch einen eintragen will, kommt die meldung die eigentlich ausgegeben werden sollte wenn der clanwar eingetragen ist ....

source:
Zitat
<?php
$fp=fopen("clanwars.txt","a");
if ($fp)
{
flock($fp,2);
fputs ($fp, "<tr><td>$gegner</td><td>$ergebnis</td><td>$liga</td><td>$datum</td></tr>");
echo "Der Clanwar wurde in die Datenbank eingetragen";
flock($fp,3);
fclose($fp);
}
else
{
echo "Die Datei konnte nicht zum schreiben geöffnet werden. ";
}
?>
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz