Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Perl/CGI » ne funktioniert in Verbinung mit url_param nicht?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
23.11.2009, 15:45 Uhr
icestorm



Hallo,

ich habe mir eine Seite aufgebaut, wo man Seiten erstellen und bearbeiten kann. Das funktioniert soweit.
Nur will ich natürlich auch die Möglichkeit haben, Seiten zu löschen.

Die Struktur sieht folgendermaßen aus:
Es gibt in $reihenfolge die verschiedenen Seiten, die die Dateinamen der einzelnen Seiten hat.
Beide Sachen liegen in $sitedir - dem Verzeichnis halt..

Ich habe jetzt die Links schon (für die Navigation) in ein Array gelesen.

Die Datei selber zu löschen habe ich jetzt schon hinbekommen. Allerdings hackt es bei dem "Pointer" in dem File $reihenfolge.

Ich habe jetzt den Ansatz (siehe Code), dass das File überschrieben wird, aber nur, sobald der URL-Parameter nicht mit dem Namen der Seite übereinstimmt.


Code:
open(D, ">", $sitedir."/".$reihenfolge) or die "Error occured: Couldn't open Navigation-File";
    foreach(@links){
        if($cgi->url_param("page") ne $_){
            print $_ . "<br>" . "\"" .$cgi->url_param("page") . "\"" . "<br>"; #Ausgabe fuer Debug-Zwecke
            print D $_ . "\n";
        }
    }
    close D;



Meine Ausgabe die ich bekomme, weil das ne nicht anspringen will:

Zitat:

About
"Testseite"
Links
"Testseite"
Testseite
"Testseite"



Sprich, Testseite soll gelöscht werden, ist auch eigentlich der gleiche String, aber ne ignoriert das einfach.

Für Lösung und sonstige Vorschläge bin ich dankbar.

Ich weiß auch nciht, ob meine Methode so toll und ressourcensparend ist, ich muss aber auch sagen, dass eine Konzeptüberlegung, um mit txt-Files zu arbeiten, echt nicht so einfach ist, wie bei einer DB.

Hab das mit dem $reihenfolge File einfach gemacht (wie der Name schon sagt), dass bei der Navigation eine bestimmte Reihenfolge eingehalten wird.

Danke schonmal,

icestorm
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
23.11.2009, 18:31 Uhr
0xdeadbeef
Gott
(Operator)


Hängt an den Strings in @links vielleicht ein Leerzeichen am Ende dran oder so?
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.11.2009, 19:26 Uhr
icestorm



Hm, erstmal danke.

Das war auch mein Gedanke. Hab $_ jetzt auch mal von " umringelt. Und es ist wirklich ein Leerzeichen, bzw eventuell ein \n dort.
Ich habe auch schon mit chop() und chomp() versucht.
Mein Ergebnis:
bei chop() kommt auf einmal nur ein Leerzeichen
bei chomp() kommt kommt ne 1

Allerdings kommt mir grade eine Idee... das soll vllt der Rückgabetyp der Funktion sein? Mal kurz austesten...

Und siehe da, das Problem lag an meiner Dummheit, die Funktion richtig einzusetzen. hehehe

Ach ja, so kann man seine Zeit beim Programmieren auch verschwenden haha

Danke nochmal
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Perl/CGI ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: