PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim Schreiben in eine Datei


renew
02.01.2007, 16:53:49
Hallo,

hier erstmal mein Quellcode:
<?php
include("spaw/spaw_control.class.php");
?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<div align="center">
<p><strong>Seiten bearbeiten </strong></p>
<?php
if(!$_REQUEST['Submit']){
?>
<form name="form1" method="post" action="">
<p>Projekt:
<select name="sel_pro">
<option value="pro_thema1">Thema 1</option>
<option value="pro_thema2">Thema 2</option>
<option value="pro_thema3">Thema 3</option>
</select>
</p>
<p>
<input type="submit" name="Submit" value=" Weiter ">
</p>
</form>
<?php
}elseif($_REQUEST['Submit'] == ' Weiter '){
$pseite = $_REQUEST['sel_pro'];
$pseite = $pseite . '.inc';
?>

<form name="form2" method="post" action="">

<table width="650" border="0">
<tr>
<td colspan="2">
<?php
// Inhalt der Datei [ID].si auslesen und in $inhalt speichern, welches
// später in einer Textbox angezeigt wird
$sw = new SPAW_Wysiwyg('spaw1',stripslashes($_POST['spaw1']));
$sw->show();
$file = $pseite;
$fp = fopen ($file, "r");
$inhalt = fread ($fp, filesize ($file));
fclose ($fp);
?>
</tr>
<tr>
<td width="319"><div align="center">
<input type="submit" name="Submit" value=" Speichern und Beenden ">
</div></td>
<td width="321"><div align="center">
<input type="submit" name="End" value=" Abbrechen ">
</div></td>
</tr>
<tr>
<td colspan="2"><p>&nbsp;</p>
<p>
<textarea name="seiten_inhalt" cols="70" rows="12" wrap="OFF"><?php echo $inhalt; ?></textarea>
<script language="JavaScript">
document.form2.spaw1.value=document.form2.seiten_inhalt.value;
</script>
</p></td>
</tr>
</table>
</form>
<?php
}else{
//Generierten Text einlesen
$neu = $_REQUEST['spaw1'];

//Fehlerhafte Ausdrücke ersetzen
$neu = str_replace('\"','"',$neu);
$neu = str_replace('<br />','<br/>',$neu);
$neu = str_replace('<br type="_moz" />','',$neu);

//Korrigierten Text in Datei schreiben
fwrite (fopen ($pseite,"w"),$neu);
fclose ($fp);

?>&Auml;nderungen gespeichert <?php
}
?>
</div>
</body>
</html>

Nun mein Problem:
Beim öffnen der Datei wird folgender Fehler ausgegeben:

Warning: fwrite(): supplied argument is not a valid stream resource on line 79

In dem Ordner sind aber die 3 Datein pro_thema1.inc / pro_thema2.inc / pro_thema3.inc unud sie besitzen Schreibrechte.

feuervogel
02.01.2007, 17:06:19
mach mal aus

$file = $pseite;

ein

$file = './' . $pseite;

renew
02.01.2007, 19:31:21
Danke für die schnelle Antwort, doch es hat nicht daran gelegen, nach einigen Überlegen, ist mir mein Fehler selbst aufgefallen, der Dateiname wird im Mittleren Teil des Scriptes definiert, das Schreiben erfolgt aber erst im Letzten Teil und dazwischen liegt ein Refresh der Seite. Mein Fehler war, dass die definierte Variable $pseite nicht übergeben wurde. Ich habe nun noch ein HiddenField angelegt, welches $pseite als Wert hat und habe es dann im letzten Abschnitt ausgewertet.

Opendix
02.01.2007, 19:59:48
Ich habe nun noch ein HiddenField angelegt,


buuuh... benutze dafür bitte Sessions!!

renew
02.01.2007, 22:37:47
Hi,
Wenn ich erlich bin, davon habe ich keinen blassen Schimmer. Währe nett, wenn mir das einer erklären könnte - will mich ja auch fortbilden :)

Opendix
02.01.2007, 23:09:57
http://tut.php-q.net/sessions.html

renew
03.01.2007, 18:53:20
Danke für die schnelle Antwort, auch zu so später Stunde.