Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]606[/thread]

Datenübergabe an .conf Datei: Formulardaten an .conf Datei übergeben



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
Franzmann
 2005-11-07 12:00
#5966 #5966
User since
2005-11-07
5 Artikel
BenutzerIn
[default_avatar]
Hallo,
zuerst einmal, ich bin Perlneuling und außer nen paar Testanwendungen aus nem O'reilly buch auch noch nicht sehr geübt. Aber nun habe ich folgende Frage:
Wie kann ich Daten die ich über ein Formular(html) eingebe, in eine .conf (dhcpd.conf) übergeben. Sprich auch an die richtige Stelle ?
Das Webfrontend soll ein automatisierte Lösung für Linuxclients werden, welche mit Hilfe des Webfrontends für den DHCP konfiguriert werden sollen!!!
Hoffe das wurde ungefähr klar ;-)
pktm
 2005-11-07 12:28
#5967 #5967
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Was meinst du mit "Sprich auch an die richtige Stelle"?
Wenn du die Datei per Formular hochlädst kannst du dir doch aussuchen, wo sie hin soll.
http://www.intergastro-service.de (mein erstes CMS :) )
Franzmann
 2005-11-07 12:57
#5968 #5968
User since
2005-11-07
5 Artikel
BenutzerIn
[default_avatar]
Naja ich meine woher weiß denn das Skript wenn ich Daten über ein Formular eingebe, an welche Stelle es die Daten in der Konfigdatei setzen soll !?
murphy
 2005-11-07 14:33
#5969 #5969
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Das Skript weiß überhaupt nichts -- besonders nicht, was es tun und lassen soll. Dafür ist immer noch der Programmierer zuständig ;)

Ich verstehe deine Frage so, dass du die Parameter in einer Konfigurationsdatei über ein Webinterface verändern können willst. Da so eine Konfigurationsdatei aber meistens eine Textdatei ist und die Parameter weder immer an denselben Stellen stehen noch immer dieselbe Länge haben, wirst du wohl

 1) die Datei einlesen,
 2) in eine geeignete Datenstruktur verwandeln,
 3) die Daten dem Benutzer als Formular präsentieren,
 4) die Datenstruktur gemäß Benutzereingabe modifizieren,
 5) die neuen Daten wieder in Text verwandeln
 6) und selbigen zurück in die Datei schreiben

müssen.

Ferner besteht bei einem gewöhnlichen CGI das Problem, dass dein Programmablauf nicht linear ist, sondern du zwei Programmdurchläufe hast: Zunächst muss das Formular generiert werden, was die Schritte (1), (2) und (3) umfasst, und im zweiten Durchlauf müssen die Formulareingaben verarbeitet werden, was wiederum die Schritte (1), (2), (4), (5) und (6) umfasst.

Eine wirklich saubere Lösung des Problemes wäre es wohl, das ganze Webfrontend mithilfe eines Templatingsystemes zu lösen, und das Einlesen und Verändern der Konfigurationsdatei als eine Art Datenbankbackend zu implementieren.

(edit: typos ;)\n\n

<!--EDIT|murphy|1131366930-->
When C++ is your hammer, every problem looks like your thumb.
Franzmann
 2005-11-07 14:56
#5970 #5970
User since
2005-11-07
5 Artikel
BenutzerIn
[default_avatar]
Danke für die Hinweise.
Aber wie realisiere ich die folgenden Punkte
>>> 3) die Daten dem Benutzer als Formular präsentieren,
>>> 4) die Datenstruktur gemäß Benutzereingabe modifizieren,
>>> 5) die neuen Daten wieder in Text verwandeln
>>> 6) und selbigen zurück in die Datei schreiben
Sprich das wandeln von der config(oder halt txt) ins Formulat, modifizieren, schreiben der Neueingaben in Datei und wieder zurück wandeln.
Hast du hierzu Befehlsauszüge wie so etwas zu realisieren ist ?!

>>>Eine wirklich saubere Lösung des Problemes wäre es wohl, >>>das ganze Webfrontend mithilfe eines Templatingsystemes >>>zu lösen, und das Einlesen und Verändern der >>>Konfigurationsdatei als eine Art Datenbankbackend zu >>>implementieren.

Templatingsystem ? Meinst du CMS ?
Einlesen/ Verändern der Konf.datei als eine Art Datenbankbaclend hört sich interessant an, haste mehr Infos zur Realisierung ? Danke !!!
murphy
 2005-11-07 21:19
#5971 #5971
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Ein paar Tips zur Implementation: Für die CGI Funktionalität bringt Perl das CGI Modul mit, mit einem Templatingsystem meine ich so etwas wie CPAN: HTML::Template und für die Verarbeitung der Datei könntest du je nach Format vielleicht zu DBD::AnyData oder Tie::File greifen. Falls das nicht flexibel genug ist, kannst du aber auch von Hand in einen Hash parsen und später wieder zurückschreiben oder vielleicht eine von Tie::Hash abgeleitete Klasse implementieren -- ich denke nicht, dass das Format deiner Konfigurationsdatei so anspruchsvoll ist, dass du dafür keinen Parser schreiben kannst.

Ein fertiges Skript kann ich dir allerdings nicht liefern, da ich soetwas nicht in der Schublade liegen habe. Außerdem möchtest du doch Perl lernen, also kann es nicht schaden, wenn du möglichst viel selbst programmierst... ;)
When C++ is your hammer, every problem looks like your thumb.
Franzmann
 2005-11-08 10:31
#5972 #5972
User since
2005-11-07
5 Artikel
BenutzerIn
[default_avatar]
Danke für die vielen Tipps. Werde mich jetzt ausgiebig den Vorschlägen widmen. Das CGI-Modul ist schon breücksichtigt.
Das eigenständige Programmieren wird jetzt vorangetrieben.
Komplette Programme wollte ich ja eh net. Es ging mir nur um Auszüge von Modulfunktionen...aber nicht weiter wichtig.
Wie gesagt...bin ja Anfänger !!!
renee
 2005-11-08 10:37
#5973 #5973
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei Fragen kannst Du Dich jederzeit an dieses Forum wenden *g*
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nepos
 2005-11-08 15:17
#5974 #5974
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Bei Konfigurationsdateien koennte es eventuell auch nuetzlich sein Module a la Config::Auto oder aehnlichem zu benutzen. Config::Auto parsed meines Wissens eine Reihe von ueblichen Formaten, legt dir das ganze in nem Hash ab, den du veraendern und anschliessend wieder zurueckschreiben kannst.
Gast Gast
 2005-11-28 12:11
#5975 #5975
Das Skript sieht nun wie folgt aus:
(Leider funktioniert es noch nicht. Ich denke das Skript liest die dhcpd.leases bzw. dhcpd.conf nicht richtig ein. Ich weiß aber nicht ob es am Aufruf oder am Format der Datei liegt.)

Aufgrund von Problemen mit sauberen Quelltextanzeige, findet ihr das Skript nun hier:

Perl Skript

Für jede Hilfe bin ich dankbar !!!
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2005-11-07 12:00.