PHP: Wert wird nicht in Datei gespeichert!

blck

blck

Routinier
Gute Nacht,
öhm ich sitz grad an nem Gästebuch und verusche nun einen Wert (Zähler in eine Datei zu schreiben, diese wird zwar angelegt, aber es wird nicht in die Datei geschrieben!
Habt ihr ne Ahnung warum?
PHP:
	$adminfile=$DOCUMENT_ROOT . "beitrag.txt";

	$admincounter = 1; //Zähler der gesamten Beiträge
	$counter = "1"; //Zähler zur Steuerung der Tabelle
	$tabelle = "0";
	$tabellenhead = "0";
if ($_POST)
{ 
	$thema = $_POST["thema"];
	$benutzer = $_POST["benutzer"];
	$email = $_POST["email"];
	$eintrag = $_POST["eintrag"];
	$signatur = $_POST["signatur"];
	$admincounter = $_POST["admincounter"];

if ($standardthema == $thema) $errormsg=1;
if ($standardbenutzer == $benutzer) $errormsg=1;
if ($standardeintrag == $eintrag) $errormsg=1;
if ($standardsignatur == $signatur) $signatur="";

//Admincounter in Datei speichern falls Datei noch nicht exesttiert
if (!file_exists($adminfile)) 
{
$handle = fopen ($adminfile, "w");
 if ($handle)
 {
	fwrite ($handle, 1);
 	fclose ($handle);
 }
}

//Admincounter einlesen aus der Datei beitrag.txt um später löschen zu können!
$handle = fopen ($adminfile, "w+");
 if ($handle)
 {
	$admincounter = fgets ($handle, 5);
 	fclose ($handle);
 }
echo $admincounter;
}
Bin für jede Hilfe dankbar, aber jetzt gehts erstmal in BETT! :D
Gute Nacht!
Blck
 
Sicher das die Datei "beitrag.txt" angelegt wird? Wenn nicht, stimmt der Pfad nicht oder die Berechtigungen.
Falls doch, weiß ich echt nicht worans liegt. Denn ich hab mal grad die betreffende Code-Stelle kopiert und ausprobiert. Bei funktioniert es:

PHP:
<?
 $handle = fopen ("beitrag.txt", "w");
if ($handle)
{
fwrite ($handle, 1);
fclose ($handle);
echo "Fertig";
 }
 
 ?>

Evtl. hat er ja Probleme damit, dass die 1 einfach so das steht, statt "1". Glaub ich aber ehrlich gesagt weniger.
 
Leg die Datei doch einfach mit
Code:
touch
an und setze den Eigentuemer auf www-data und chmod 664

Theoretisch muesste die Datei dann immer ueberschrieben werden.
 
Morgen oder Mittag?
Naja wie auch immer, dass scheint mit dem großen ganzen im Script zu tun haben. habs bei mir auch grad probiert und irgendwie hauts einzeln auch hin, aber eben nicht im Script!

Hmm, naja vllt. findet ja jemand von euch noch den Wurm. Ich hab jetzt besagt 1 in "" gesetz läuft aber auch ohne sie.

Schönes Wochenende noch,
Blck
 
Falls du immernoch nicht weißt was los ist, schreib mal an den Anfang deines Skriptes diese Funktion:
PHP:
error_reporting(E_ALL);

Der sollte dir dann alle Fehlermeldungen und Notices anzeigen (vorrausgesetzt der obere Teil der Website wird nicht grade von nem absolut positionierten Element überdeckt oder die Schriftfarbe ist gleich der Hintergrundfarbe, dann musste dir den Quelltext der Seite anzeigen lassen)
 
Notice: Undefined variable: DOCUMENT_ROOT in /home/blck/gastbuch/index.php on line 17

Notice: Undefined variable: DOCUMENT_ROOT in /home/blck/gastbuch/index.php on line 18

Notice: Undefined index: admincounter in /home/blck/gastbuch/index.php on line 51

So muss erst mal weg, werd mich heute abend nochmal genauer damit befassen!
 
Aufgrund der Fehlermeldung würde ich mal sagen, $DOCUMENT_ROOT existiert nicht. Probier stattdessen mal $_SERVER["DOCUMENT_ROOT"] . Dann sollte derScript funktionieren.
 
Geht einbandfrei...

PHP:
<?
    class frite {
        
        private static $adminfile="";

        
        private function setFile() {
            
            if(!self::$adminfile) {
                self::$adminfile="beitrag.txt";
            }

        }

        private function getFile() {
            self::setFile();

            return self::$adminfile;
        }


        public function writeFile() {
            
            $file = self::getFile();
            
            if(file_exists($file)) {
                $fp = fopen($file, "w+");
                fwrite($fp, 1);
                fclose($fp);
            } 
        }

    }

    $objFrite = new frite();
    
    $objFrite->writeFile();

?>
 

Ähnliche Themen

Hab mich bei PHP ausgesperrt!

skript aus der kommandozeile starten

http request Download mit php5_curl

freed liefert 0

Ausgabe in *.txt Datei & Struct

Zurück
Oben