Hallo Leute!
Ich bin halb verzweifelt! Vor ein paar Wochen habe ich hier im Forum wegen einem bestimmten Problem gefragt und viele gute Hinweise bekommen. Ich habe jetzt alles in Sack und Tüten (nochmal ein förmliches Danke an alle Hilfsbereiten!) aber an einer Sache beiße ich mir seit Tagen die Zähne aus:
Ich habe ein Formular gebastelt (siehe "Quelle.htm"), das ausgefüllt wird und als Action eine PHP-Seite aufruft ("Ziel.php"), in der das ausgefüllte Formular noch einmal angezeigt wird. Gleichzeitig will ich den von der "Ziel.php" generierten HTML-Code als HTML-Datei speichern, damit ich das ausgefüllte Formular als HTML-File per Mail versenden kann. Der Sinn ist, dass es beim Empfänger optisch 1:1 ankommt. (Und nicht als ASCII-Stapel.)
Ich bin folgendermaßen vorgegangen:
Mit fread() lese ich die "Ziel.php" aus und mit fputs() schreibe ich den Inhalt in eine "Test.htm". So weit funzt auch alles, die "Ziel.php" erscheint als ausgefülltes Formular, die "Test.htm" wird auf HD erstellt und das Formular wird darin abgebildet. Aber: Ohne Variablenwerte! Wenn ich jedoch die "Ziel.php" im Browser mit "Speichern unter" als .htm safe, ist der Inhalt in der HTML-Datei drin. Aber wenn ich die "Ziel.php" mit fputs() in ein HTML-File schreibe, fehlen die Werte! Das gibts doch nicht! Was mach ich denn da falsch?? Es muss doch möglich sein, den vom php-Skript generierten HTML-Code in eine HTML-Datei zu schreiben!?? So, als würde man die generierte Seite mit "Datei / Speichern unter" abspeichern...
Bitte helft mir, ich dreh bald durch!
Zum Verständnis habe ich die "Quelle.htm" und die "Ziel.php" (mit einem ganz rudimentären Formular) auf den Server geschmissen. Da könnt ihr gucken, wie ich das meine. Ihr findet es hier:
http://www.highexplosive.de/quelle.htm
Also das, was nach Klick auf den Abschicken-Button angezeigt wird, soll so 1:1 in eine HTML-Datei geschrieben werden.
Dazu habe ich folgendes Skript zusammengefummelt (ist jetzt aber nicht mehr drin):
*************
<?php
# Zwei Dateizeiger werden eingerichtet. Einer zum lesen der "ziel.php",
# einer zum schreiben der "test.htm".
$zeigerr=fopen("ziel.php","r");
$zeigerw=fopen("test.htm","w+");
# Die Größe der "ziel.php" wird ermittelt, weil fread() eine Größenangabe
# als Parameter erwartet. Anschließend wird der "Read-Zeiger" ausgelesen.
$size=filesize("ziel.php");
$ausgelesen=fread($zeigerr, $size);
# Die ausgelesenen Werte werden in den Write-Zeiger gestopft.
fputs($zeigerw,$ausgelesen);
# Beider Zeiger schließen.
fclose($zeigerr);
fclose($zeigerw);
?>
*******************
Hier stimmt doch alles, oder? Das Skript läuft und erstellt auch ordnungsgemäß die Datei "test.htm", aber die Werte werden nicht reingeschrieben. Wat mach ichn falsch??
Vielen Dank schon mal!
HE
Hier noch der Quellcode der beiden Online-Files:
quelle.htm
++++++++++
<html>
<head>
<title>
Umzugsgutliste - UTM
</title>
</head>
<body bgcolor="#C2C2D6">
<div align="right"></div>
<div align="center">
<form name="form1" method="post" action="ziel.php">
<div align="center">
<table width="322" border="0" cellspacing="2" cellpadding="2">
<tr>
<td height="16" width="83"><font size="2" face="Arial, Helvetica, sans-serif">Auftraggeber</font><font face="Arial, Helvetica, sans-serif">:</font></td>
<td height="16" width="346"> <font face="Arial, Helvetica, sans-serif">
<input type="text" name="auftraggeber" size="40" maxlength="40">
</font></td>
</tr>
</table>
<p>
<input type="submit" name="abschicken" value="Formular abschicken">
</p>
</div>
</form>
</div>
</body>
</html>
++++++++
ziel.php
++++++++
<html>
<head>
<title>
Umzugsgutliste - UTM
</title>
</head>
<body bgcolor="#C2C2D6">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif">Das Formular wurde mit folgenden
Angaben verschickt:</font></p>
</div>
<div align="center">
<form name="form2" method="post" action="">
<table width="356" border="0" cellspacing="2" cellpadding="2">
<tr>
<td height="16" width="91"><font size="2" face="Arial, Helvetica, sans-serif">Auftraggeber</font><font face="Arial, Helvetica, sans-serif">:</font></td>
<td height="16" width="251"> <font face="Arial, Helvetica, sans-serif">
<?PHP echo "<b>". $auftraggeber."</b>" ;?>
</font></td>
</tr>
</table>
</form>
<p> </p>
</div>
</body>
</html>
+++++++++
Ich bin halb verzweifelt! Vor ein paar Wochen habe ich hier im Forum wegen einem bestimmten Problem gefragt und viele gute Hinweise bekommen. Ich habe jetzt alles in Sack und Tüten (nochmal ein förmliches Danke an alle Hilfsbereiten!) aber an einer Sache beiße ich mir seit Tagen die Zähne aus:
Ich habe ein Formular gebastelt (siehe "Quelle.htm"), das ausgefüllt wird und als Action eine PHP-Seite aufruft ("Ziel.php"), in der das ausgefüllte Formular noch einmal angezeigt wird. Gleichzeitig will ich den von der "Ziel.php" generierten HTML-Code als HTML-Datei speichern, damit ich das ausgefüllte Formular als HTML-File per Mail versenden kann. Der Sinn ist, dass es beim Empfänger optisch 1:1 ankommt. (Und nicht als ASCII-Stapel.)
Ich bin folgendermaßen vorgegangen:
Mit fread() lese ich die "Ziel.php" aus und mit fputs() schreibe ich den Inhalt in eine "Test.htm". So weit funzt auch alles, die "Ziel.php" erscheint als ausgefülltes Formular, die "Test.htm" wird auf HD erstellt und das Formular wird darin abgebildet. Aber: Ohne Variablenwerte! Wenn ich jedoch die "Ziel.php" im Browser mit "Speichern unter" als .htm safe, ist der Inhalt in der HTML-Datei drin. Aber wenn ich die "Ziel.php" mit fputs() in ein HTML-File schreibe, fehlen die Werte! Das gibts doch nicht! Was mach ich denn da falsch?? Es muss doch möglich sein, den vom php-Skript generierten HTML-Code in eine HTML-Datei zu schreiben!?? So, als würde man die generierte Seite mit "Datei / Speichern unter" abspeichern...
Bitte helft mir, ich dreh bald durch!
Zum Verständnis habe ich die "Quelle.htm" und die "Ziel.php" (mit einem ganz rudimentären Formular) auf den Server geschmissen. Da könnt ihr gucken, wie ich das meine. Ihr findet es hier:
http://www.highexplosive.de/quelle.htm
Also das, was nach Klick auf den Abschicken-Button angezeigt wird, soll so 1:1 in eine HTML-Datei geschrieben werden.
Dazu habe ich folgendes Skript zusammengefummelt (ist jetzt aber nicht mehr drin):
*************
<?php
# Zwei Dateizeiger werden eingerichtet. Einer zum lesen der "ziel.php",
# einer zum schreiben der "test.htm".
$zeigerr=fopen("ziel.php","r");
$zeigerw=fopen("test.htm","w+");
# Die Größe der "ziel.php" wird ermittelt, weil fread() eine Größenangabe
# als Parameter erwartet. Anschließend wird der "Read-Zeiger" ausgelesen.
$size=filesize("ziel.php");
$ausgelesen=fread($zeigerr, $size);
# Die ausgelesenen Werte werden in den Write-Zeiger gestopft.
fputs($zeigerw,$ausgelesen);
# Beider Zeiger schließen.
fclose($zeigerr);
fclose($zeigerw);
?>
*******************
Hier stimmt doch alles, oder? Das Skript läuft und erstellt auch ordnungsgemäß die Datei "test.htm", aber die Werte werden nicht reingeschrieben. Wat mach ichn falsch??
Vielen Dank schon mal!
HE
Hier noch der Quellcode der beiden Online-Files:
quelle.htm
++++++++++
<html>
<head>
<title>
Umzugsgutliste - UTM
</title>
</head>
<body bgcolor="#C2C2D6">
<div align="right"></div>
<div align="center">
<form name="form1" method="post" action="ziel.php">
<div align="center">
<table width="322" border="0" cellspacing="2" cellpadding="2">
<tr>
<td height="16" width="83"><font size="2" face="Arial, Helvetica, sans-serif">Auftraggeber</font><font face="Arial, Helvetica, sans-serif">:</font></td>
<td height="16" width="346"> <font face="Arial, Helvetica, sans-serif">
<input type="text" name="auftraggeber" size="40" maxlength="40">
</font></td>
</tr>
</table>
<p>
<input type="submit" name="abschicken" value="Formular abschicken">
</p>
</div>
</form>
</div>
</body>
</html>
++++++++
ziel.php
++++++++
<html>
<head>
<title>
Umzugsgutliste - UTM
</title>
</head>
<body bgcolor="#C2C2D6">
<div align="center">
<p><font face="Arial, Helvetica, sans-serif">Das Formular wurde mit folgenden
Angaben verschickt:</font></p>
</div>
<div align="center">
<form name="form2" method="post" action="">
<table width="356" border="0" cellspacing="2" cellpadding="2">
<tr>
<td height="16" width="91"><font size="2" face="Arial, Helvetica, sans-serif">Auftraggeber</font><font face="Arial, Helvetica, sans-serif">:</font></td>
<td height="16" width="251"> <font face="Arial, Helvetica, sans-serif">
<?PHP echo "<b>". $auftraggeber."</b>" ;?>
</font></td>
</tr>
</table>
</form>
<p> </p>
</div>
</body>
</html>
+++++++++
Kommentar