PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zähler generieren


mk - user
17.07.2006, 14:52:25
Hallo,

ich bin noch relativ neu in PHP und habe folgendes Problem:

Ich habe mit PHP eine FORM - Mailer erstellt womit die Formulardaten an eine Emailadresse gesendet werden und der Formularversender bekommt auch eine Email mit seinen Daten.

Das klappt auch alles.

Nun soll das ganze noch durch ein Zähler ergänzt werden.

D.h. ein fortlaufender Zähler soll in den beiden Emails auch noch erscheinen.

Ich hatte vor eine Variable aus einer Datei (php oder txt) auszulesen,
den Wert dann zu benutzen, anschließend die Zählervariable um 1 zu erhöhen und in die Datei zurückzuschreiben.

Kenne mich noch zu wenig mit den Lese- und Schreibroutinen nicht aus.

Kann mir jemand sagen wie man das am besten löst ?

Ach ja das ganze sollte ohne eine SQL Datenbank aufgebaut werden.

danke im voraus

mk - user

KTB
17.07.2006, 15:26:30
Also so eine Art "das ist die 25. Mail die durch den Mailer verschickt wurde"?

mk - user
17.07.2006, 18:33:51
ich weis nicht so recht was du meinst.

bei jedem absenden des Formulars soll ein Integerwert mit übertragen werden.

Beispiel:

1. absenden - Zähler : 1000
2. absenden - Zähler : 1001
3. absenden - Zähler : 1002

...

MatMel
17.07.2006, 19:03:29
Hallo

Also wenn du ohne Datenbank auskommen willst must du wohl oder übel auf Dateien zurückgreifen.

In deinem Fall würd ich einfach ne php Datei erstellen, in der du dann die Variable definierst:

$zaehler = 500;

Die kannst du dann in deine andere Datei includen und damit machen was du willst.

Zum erhöhen machst du dann folgendes:
Die Datei mit unlink() löschen.
Sie danach wieder mit fopen() neuerstellen (Modus "a").
Schließlich wieder mit fputs() den neuen Wert reinschreiben.

In hoff ich konnte dir helfen!

Gruß,
Matze

|Coding
17.07.2006, 20:06:30
Seit wann löscht man denn hier Dateien, wenn sich der Inhalt ändert?

Schau Dir einfach mal den Befehl fopen() (http://selfphp.de/funktionsreferenz/dateisystem_funktionen/fopen.php) an. Der sollte Dir weiter helfen.

mk - user
17.07.2006, 22:51:53
Hallo coding,

habe es folgendermaßen gemacht:

CODE
+++++++++++++++++++++++++++++++++++++
include ("zaehler.php");
$zaehler=$counter;
$zaehler++;
$datei = "zaehler.php";
$fp = fopen("zaehler.php","w");
fputs($fp,'<?php');
fputs($fp,'test;');
fputs($fp,'$counter = $zaehler;');
fputs($fp,'?>');
fclose($fp);
+++++++++++++++++++++++++++++++++++++

Der ursprüngliche Inhalt von zaehler.php:

<?php
//<-- Rechnungsnummer
$counter = "1000";
?>

Der wert von $zaehler wird auch richtig ausgegeben.

Beim ausführen gibt es aber folgende Fehlermeldung:

Warning: fopen(zaehler.php) [function.fopen]: failed to open stream: Permission denied

Was habe ich hierbei falsch gemacht?
Liegt das an den Rechten?

|Coding
23.07.2006, 18:52:39
Liegt das an den Rechten?

Ja, Schreibrechte für die Datei sind ein Muß. Du darfst ja auch kein Auto fahren, wenn du keinen Führerschein besitzt...

SpiderPOH
25.07.2006, 10:28:09
die Lösung sollte heißen

chmod 777 zaehler.php

dann klappts auch mit der Nachbarin ;)