Supportnet / Forum / Skripte(PHP,ASP,Perl...)
per Formular eine neue Seite
Frage
Guten Tag,
ich würde gerne ein kleines Script für unsere Schulseite erstellen, leider bin ich mit dem Ganzen überfordert. Deshalb würde ich mich sehr freuen, wenn mir jemand helfen könnte.
Zuerst brauche ich ein Formular mit 2 Eingabefeldern. Nach dem Klick auf ´Speichern´, sollte auf dem Server eine (jeweils) neue Datei gespeichert werden, mit einem vorgegebenem Quelltext, welcher mit den 2 Eingegebenen Feldern gefüttert wird. (die gespeicherte Seite kann php/html sein)
Ich weiss gar nicht, ob das überhaupt möglich ist?!
Falls doch, hoffe ich, dass mir jemand helfen könnte. Ich wäre auch bereit etwas dafür zu zahlen.
Freundliche Grüsse
Frank
Antwort 1 von Fragenfrager
Ich habe leider keine Zeit, Dir einen kompletten Code zu tippen, aber prinzipiell ist das möglich:
Verwende dazu PHP:
Erstelle ein Formular und übergebe die Daten per POST-Methode (notfalls auch an diesebe Seite).
Lies die übergebenen Werte mittels $HTTP_POST_VARS aus und schreibe sie mit fputs in eine Datei. Du kannst die Daten beliebig ergänzen.
Das Schreiben der Datei sieht ungefähr so aus:
Ich hoffe, das hilft Dir etwas...
Verwende dazu PHP:
Erstelle ein Formular und übergebe die Daten per POST-Methode (notfalls auch an diesebe Seite).
Lies die übergebenen Werte mittels $HTTP_POST_VARS aus und schreibe sie mit fputs in eine Datei. Du kannst die Daten beliebig ergänzen.
Das Schreiben der Datei sieht ungefähr so aus:
<?php
function datei_erstellen($daten,$file)
{
//Datei zum Schreiben öffen bzw anlegen
$handle = fopen ($file, "r");
//Daten schreiben
fputs($handle2,$buffer);
//Datei schließen
fclose ($handle);
} //end function
//Aufruf obigen Funktion, und Übergabe der Formulardaten "Daten" und des Dateinamen "Datei.txt"
datei_erstellen($HTTP_POST_VARS["daten"],"Datei.txt");
?>Ich hoffe, das hilft Dir etwas...
Antwort 2 von FrankL
Guten Tag
Vielen Dank schonmal für die Hilfe!
ich habe jetzt ein Formular erstellt:
leider weiss ich dann nicht mehr weiter, da ich mit PHP noch nie gearbeitet habe.
Mein Ziele wäre es, dass der Link und der Name in den folgenden Quelltext eingefügt wird und als Name.html gespeichert wird
Wie gesagt, ich wäre auch bereit etwas dafür zu bezahlen! Die Schulseite sollte bei Wiederaufnahme der Schule in einer Woche ca. fertig sein.
Freundliche Grüsse
Frank
Vielen Dank schonmal für die Hilfe!
ich habe jetzt ein Formular erstellt:
<form action="http://www.meinehp.de/links.php" method="post" target="_blank">
<table cellpadding="2" cellspacing="0" border="0">
<tr>
<td>Link:</td>
<td><input type="text" name="link" size="45" maxlength="50"></td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="name" size="45"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Abschicken"></td>
</tr>
</table>
</form>leider weiss ich dann nicht mehr weiter, da ich mit PHP noch nie gearbeitet habe.
Mein Ziele wäre es, dass der Link und der Name in den folgenden Quelltext eingefügt wird und als Name.html gespeichert wird
<title>Name aus dem Formular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="70,*" cols="*" framespacing="0" frameborder="NO" border="0">
<frame src="standard.html" name="topFrame" scrolling="NO" noresize >
<frame src="Link aus dem Formular">
</frameset>
<noframes><body>
</body></noframes>
</html>Wie gesagt, ich wäre auch bereit etwas dafür zu bezahlen! Die Schulseite sollte bei Wiederaufnahme der Schule in einer Woche ca. fertig sein.
Freundliche Grüsse
Frank
Antwort 3 von Fragenfrager
Okay, hier der Code. Damit er funktioniert, muss natürlich auf dem Server PHP laufen !
Rufe aus Deinem obrigem Formular die Datei links.php auf.
Diese sieht wie folgt aus:
Okay, was macht das Skript ?
Es liest die von Dir per Formular übergebenen Werten mittels
$HTTP_POST_VARS["Übergebene Name"]; in eine Variable.
In der Varibalen $file kannst Du angeben, wie die Datei heißen soll, die erstellt wird. Ich habe sie hier link.html genannt. Der Rest ist im Quellcode beschrieben. Wenn Du Fragen hast: Her damit.
Wenn Du zuviel Geld hast:
Spende an "Ärzte ohne Grenzen" oder kauf Dir ein Php-Buch. Beides lohnt sich irgendwie ;)
Rufe aus Deinem obrigem Formular die Datei links.php auf.
Diese sieht wie folgt aus:
<?php
$link = $HTTP_POST_VARS["link"];
//Übernimmt den Eintrag "Link"
$name = $HTTP_POST_VARS["name"];
//Übernimmt den Eintrag "name"
$file = "link.html";
// Der zu schreibene Dateiname, kann auch umbenannt werden
$handle = fopen ($file, "w+");
//Öffnen / erstellen der Datei mit Name $file; Existiert die Datei nicht, wird sie angelegt. Existiert die Datei, so wird der bisherige Inhalt gelöscht.
$text= "<html>
<head>
<title>$name</title>\n
<meta http-equiv=´Content-Type´ content=´text/html; charset=iso-8859-1´>
</head>
<frameset rows=´70,*´ cols=´*´ framespacing=´0´ frameborder=´NO´ border=´0´>
<frame src=´standard.html´ name=´topFrame´ scrolling=´NO´ noresize >
<frame src=´$link´>
</frameset>
<noframes><body>
</body></noframes>
</html>";
fputs($handle,$text);
//schreibt $text in die Datei
fclose($handle);
//Schließt die Datei
?>
Okay, was macht das Skript ?
Es liest die von Dir per Formular übergebenen Werten mittels
$HTTP_POST_VARS["Übergebene Name"]; in eine Variable.
In der Varibalen $file kannst Du angeben, wie die Datei heißen soll, die erstellt wird. Ich habe sie hier link.html genannt. Der Rest ist im Quellcode beschrieben. Wenn Du Fragen hast: Her damit.
Wenn Du zuviel Geld hast:
Spende an "Ärzte ohne Grenzen" oder kauf Dir ein Php-Buch. Beides lohnt sich irgendwie ;)
Antwort 4 von FrankL
Guten Tag
Vielen Dank für die Hilfe! Es klappt fast perfekt. Wenn die Datei link.html existiert, wird alles aufgeführt wie es soll. Aber wenn sie nicht existiert kommt folgender Fehler:
ich habe es auch mit link.php oder link.txt versucht, aber es klappt nicht. desweiteren habe ich mich erkundigt über das w+ und dort heisst es, dass die Datei nicht existieren muss! Wieso klappt es denn nicht?
Noch ein letztes kleines mal Hilfe wäre echt nett!
Gruss Frank
Vielen Dank für die Hilfe! Es klappt fast perfekt. Wenn die Datei link.html existiert, wird alles aufgeführt wie es soll. Aber wenn sie nicht existiert kommt folgender Fehler:
Zitat:
Warning: fopen(link.html): failed to open stream: Permission denied in /home/www/web287/html/links.php on line 12
Warning: fputs(): supplied argument is not a valid stream resource in /home/www/web287/html/links.php on line 29
Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web287/html/links.php on line 32
Warning: fopen(link.html): failed to open stream: Permission denied in /home/www/web287/html/links.php on line 12
Warning: fputs(): supplied argument is not a valid stream resource in /home/www/web287/html/links.php on line 29
Warning: fclose(): supplied argument is not a valid stream resource in /home/www/web287/html/links.php on line 32
ich habe es auch mit link.php oder link.txt versucht, aber es klappt nicht. desweiteren habe ich mich erkundigt über das w+ und dort heisst es, dass die Datei nicht existieren muss! Wieso klappt es denn nicht?
Noch ein letztes kleines mal Hilfe wäre echt nett!
Gruss Frank
Antwort 5 von Fragenfrager
Ich habe das Problem gerade mal nachgebaut und bei mir auf dem Server tritt es nicht auf.
Das Skript funktioniert also soweit.
Ich kann mir nur vorstellen, dass Du (bzw die Datei link.php) in dem Verzeichnis /home/www/web287/html/ keine Rechte hast, Datein zu erstellen.
Setze die Rechte in dem Verzeichnis testweise mal auf Vollzugriff ( Chmod 777 ).
Sollte das auch nicht helfen, so bleibt mir nur, Dich an das Forum von php.de zu verweisen...
Der Fragenfrager
Das Skript funktioniert also soweit.
Ich kann mir nur vorstellen, dass Du (bzw die Datei link.php) in dem Verzeichnis /home/www/web287/html/ keine Rechte hast, Datein zu erstellen.
Setze die Rechte in dem Verzeichnis testweise mal auf Vollzugriff ( Chmod 777 ).
Sollte das auch nicht helfen, so bleibt mir nur, Dich an das Forum von php.de zu verweisen...
Der Fragenfrager
Antwort 6 von FrankL
vielen vielen vielen dank!
es klappt nun! ich hatte die datein im root verzeichnis, nach dem verschieben und den schreibrechten des ordners hats geklappt!
danke!
es klappt nun! ich hatte die datein im root verzeichnis, nach dem verschieben und den schreibrechten des ordners hats geklappt!
danke!

