Counter zeahlt nicht ueber 1

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Nichts
Mitglied
Beiträge: 1
Registriert: 16.05.2008 07:17

Counter zeahlt nicht ueber 1

Beitrag von Nichts »

Hey Leute,

ich wuesste gerne mal warum an diesem Stuck code, der Counter nicht funktioniert. Von 0 auf 1 gehts, aber weiter gehts nicht.
Ich komme leider nicht drauf.

Code: Alles auswählen

<?php

$file="counter.txt";
$number=readfile($file);

$text="Problem No. ".$number."\n Name: ".$_POST[name]."\n Date: ".$_POST[date]."\n Problem: ".$_POST[problem]."\n Contact: ".$_POST[contact]."\n Advise: ".$_POST[advise]."\n Actions taken: ".$_POST[done]."\n Witnesses: ".$_POST[who]."\n Confirmation: ".$_POST[confirm];


$datei_speichern=fopen($file, "w");   
 fwrite($datei_speichern,$number+1);   
 fclose($datei_speichern);



mail("jemand@server.de","Computer Problem Report from $_POST[name] ",$text);
echo "Your message has been sent. Thank you!";


?>
Mein Server unterstuezt PHP
Die Datei hat 777 Rechte

Ausserdem erscheint eine "2" vor dem Satz "Your message has been sent" was ich nun auch nicht verstehe.

danke
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag von k-5 »

weil readfile nicht das tut was du erwartest, (da kommt deine 2 auch her)

http://de3.php.net/manual/de/function.readfile.php

les doch am besten die zahl so aus wie du sie schreibst, (also mit nem fopen( , "r") und nem fread() )

http://de3.php.net/manual/de/function.fread.php
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

fopen reicht auch ein mal wenn du den Parameter auf "lesen und schreiben" stellst, die Mailfunktion solltest du niemals direkt mit $_POST oder $_GET oder $_COOKIE oder etwas ähnlichem füttern ohne die Zeichen vorher geprüft zu haben, sonst entwickelt sich das - wenn das wer entdeckt - zur Spamschleuder.
Da der Betreff zum Header der Mail zählt und die Position von $_POST[name] noch dazu exzellent für einen Angriff liegt (nämlich ganz am Ende des Betreffs) kann man die Mail mit diesem Formular an beliebige Personen verschicken lassen wenn man nur $_POST[name] passend füllt.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“