in Datei schreiben klappt nicht
Patrick Schröder
- php
0 Joachim0 Patrick Schröder0 Auge
Hallo an alle!
Ich möchte, dass verschiedene User in einem internen Bereich einen persönlichen Text selbst bearbeiten können.
Hier die Quelltexte:
<?php
session_start();
?>
<?php
$UE_NAME='ue_administration';
$UE_INHALT='
<tr>
<td align="left">
';
include("tpl_ueberschrift.php");
?>
<?php
if ($NAME == 'Timo'){
$NICK = 'richert';
}
if ($NAME == 'Patrick'){
$NICK = 'schroeder';
}
if ($NAME == 'Martin'){
$NICK = 'groschopp';
}
if ($NAME == 'Christian'){
$NICK = 'schulz';
}
if ($NAME == 'Lars'){
$NICK = 'thoms';
}
if ($NAME == 'Anke'){
$NICK = 'doerries-phan';
}
if ($NAME == 'Bettina'){
$NICK = 'affeld';
}
echo "Name: $NAME";
echo "Nick: $NICK";
$openfile = fopen("../texte/$NICK.txt", "r");
?>
<br>
<br>
<center>
<form action="admin_text_aendern.php?<?=sid?>" method="post">
<table border=0 cellspacing=0 cellpadding=5>
<tr>
<td align="left" colspan=2>
<textarea rows="15" cols="70" name="INHALT_NEU" maxlength="5000">
<?
while (!feof($openfile)) {
$zeile = fgets($openfile,1000);
echo $zeile;
}
?>
</textarea>
<br><font size="1">(max. 5000)</font>
</td>
</tr>
<tr>
<td align="left">
<input type="submit" value="Abschicken">
</td>
<td align="right">
<input type="reset" value="Zuruecksetzen">
</td>
</tr>
</table>
</form>
</center>
<?php
fclose($openfile);
include("tpl_footer.php");
?>
Hier die Datei, die ausgeführt werden soll (admin_text_aendern.php):
<?php
session_start();
?>
<html>
<head>
<title>AloeVera-BS.de - interner Bereich - Text geändert</title>
</head>
<body bgcolor="#F1F8FF">
<?php
$fileopen = fopen("../texte/$NICK.txt", "w+");
fwrite($fileopen, $HTTP_POST_VARS["INHALT_NEU"]);
fclose($fileopen);
include("tpl_footer.php");
?>
Die erforderlichen Rechte sind vergeben, sowohl für die Verzeichnisse, als auch für die entsprechenden Dateien. Es wird keine Fehelrmeldung ausgegeben, aber in die Datei wird auch nicht geschrieben.
PHP-Version auf dem Server ist leider erst 4.0.6, daher funktioniert auch $_POST nicht.
Hat jemand ne Idee, woran es noch liegen könnte?
Gruß Patrick
hi,
$openfile = fopen("../texte/$NICK.txt", "r");
$openfile = fopen("../texte/" . $NICK . "txt", "r");
so kann man allerdings nur lesen.
Gruss Joachim
Hallo Joachim!
Hmmm... also das Lesen klappt soweit ohne Probleme, nur das Schreiben nicht. Anfangs hatte ich auch so wie du programmiert, aber da hab ich dann Fehler ausgegeben bekommen (Punkt zuviel, Datei nicht vorhanden).
Naja, geändert hat sich am Datei-Verhalten leider nichts...
Hallo
Naja, geändert hat sich am Datei-Verhalten leider nichts...
<zitat person="Joachim">
$openfile = fopen("../texte/" . $NICK . "txt", "r");
so kann man allerdings nur lesen.
</zitat>
Er meinte, daß die Datei mit "r" nur zum lesen geöffnet wird.
Lies mal: http://www.php.net/manual/de/function.fopen.php.
Tschö, Auge
hi.
<zitat person="Joachim">
*entzückend*
Gruesse Joachim
Achso! *grins*
Okay, nein, aber soviel war mir auch bewusst. Geschrieben wird ja auch nur in der zweiten Datei!
Der Fehler lag übrigens daran, dass mein FTP-Programm die CHDMOD-Befehle nicht so ausgeführt hatte, wie es das eigentlich sollte. Der Server hat es trotz Rechte nciht angenommen.
Nachdem ich dann nochmal im Provider-Bereich rumprobiert habe, hat es dann irgendwann auch so funktioniert, wie es sollte!
Danke aber nochmal an euch alle!!
Gruß Patrick