ilch Forum » Allgemein » HTML, PHP, SQL,... » Page auf Existenz prüfen

Geschlossen
  1. #1
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Hey, Leutz!

    Hab da mal fix wieder ne Frage.
    Gibt es eine Möglichgkeit, zu überprüfen ob eine Seite existiert, und zwar nicht nachdem sie geladen wurde, bzw. zwischedrin, sondern vor dem eigentlichen laden?

    Bsp:
    index.php?news-23 // gültige seite
    index.php?news-40 // diese News existiert nicht
    index.php?gbook-23-12-12 // existiert auch nicht

    Wobei ich nicht jede Datei bearbeiten möchte, sondern das über eine Funktion steuern möchte, die mir true bzw. false als Resultat liefert. Ich weiß, dass es die Funktion für die Startseite gibt, aber diese Funktion greift nur Ansatzweise.

    Ich hoffe mal, dass ich das verständlich ausgedrückt habe.

    THX für die Antworten...

    Mit böhsen Grüßen
    BöhserDavid


    verwendete ilchClan Version: 1.1

    betroffene Homepage: externer Link
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ne da fällt mir ein, wird wohl nicht anders zu machen sein, als das in jeder Datei zu machen, am einfachsten wohl mit dem werfen einer Exception.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Schade, dann hab ich ja wieder ein haufen Arbeit^^

    Trotzdem danke, vielleicht finde ich ja noch einen einfacheren Weg.
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    Hmm aber es werden ja per loader.php verschiedene dateien geladen.
    Da müsste es doch theoretisch möglich sein, oder?
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Ja, jein. Also ich hab noch keine Lösung gefunden, und dachte jemand hier weiß eine dafür, weil wenn du bei dir irgendeine Seite aufrufst, die nicht existiert, kommst du ja auf die Startseite.
    Auf meiner Page ist das etwas umständlicher. Aber mal sehen, vielleicht find ich was nettes und kann das dann auch anderen zur Verfügung stellen, als Rohscript...
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Tolive Mitglied
    Registriert seit
    13.01.2008
    Beiträge
    923
    Beitragswertungen
    9 Beitragspunkte
    Du könntest dafür ein Tool schreiben welches bestimmte Intervalle und Definitionen Prüft und die Ergebnisse Strukturiert. Ich weiß das dass schon mal jemand von der FH Dortmund gemacht hat.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Tolive

    Du könntest dafür ein Tool schreiben welches bestimmte Intervalle und Definitionen Prüft und die Ergebnisse Strukturiert. Ich weiß das dass schon mal jemand von der FH Dortmund gemacht hat.


    Hä?
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Tolive Mitglied
    Registriert seit
    13.01.2008
    Beiträge
    923
    Beitragswertungen
    9 Beitragspunkte
    ZitatZitat geschrieben von lookout

    ZitatZitat geschrieben von Tolive

    Du könntest dafür ein Tool schreiben welches bestimmte Intervalle und Definitionen Prüft und die Ergebnisse Strukturiert. Ich weiß das dass schon mal jemand von der FH Dortmund gemacht hat.


    Hä?


    Was ist daran den nicht verständlich ?
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    1. Was ist in PHP und in diesem Zusammenhang ein Intervall?
    2. Was für Definitionen?
    3. Welche Ergebnisse strukturieren?
    4. Was hat das mit dem Thema zu tun?
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Tolive Mitglied
    Registriert seit
    13.01.2008
    Beiträge
    923
    Beitragswertungen
    9 Beitragspunkte
    zu 1) de.wikipedia.org/wiki/Intervall in diesem Fall um den Space nicht zu überlasten.
    zu 2) Man kann kaum ein Tool schreiben welches alles Prüft deshalb sollte man Vorher einiges Definieren.
    zu 3) Die das Tool Sammelt.
    zu 4) DAs besagte Tool macht genau das was boehserdavid sucht.

    Bevor die Frage kommt wo es das gibt. Ich weiß es nicht da ich es nicht geschrieben habe und es schon etwas länger her ist das die Berichte veröffentlicht wurden.


    Zuletzt modifiziert von Tolive am 07.05.2008 - 17:11:24
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    Meinst du damit, die Zeit zu messen, bis das Script etwas zurück gibt?

    Mein Ansatz wäre eher der, dass das Script ja bei Nichtexistenz der Seite die Startseite zurückgibt. Das muss doch irgendwo definiert sein.
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Tolive Mitglied
    Registriert seit
    13.01.2008
    Beiträge
    923
    Beitragswertungen
    9 Beitragspunkte
    Also ich weiß das das Skript so Arbeitet:
    Es connected z.b. nach news-1; news-2 ....

    so jetzt gelangt man über news-1; news-2 ..... zu existierenden Seiten die auch diesen Link haben.

    Wenn jetzt aber news-15; news-16 ... nicht existieren wird ja z.b. nach News oder zu einer 404 Page umgeleitet. Das Tool registriert das und wenn z.B. 50 Seite auf 404.php oder news.php oder ... leiten gibt das Tool ne Liste mit diesen Links aus und sagt das die nicht existieren


    Noch genauer kann ich dir das leider nicht erklären da wirst dann wohl oder übel den Autor such und Fragen müssen.
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    eXecut1oner Mitglied
    Registriert seit
    26.10.2006
    Beiträge
    827
    Beitragswertungen
    0 Beitragspunkte
    das wäre eine auflistung sämtlicher links die nicht funktionieren und diese wäre unbegrenzt also sinnlos

    ich schließe mich mairu an

    nehmen wir doch mal die news.php du machst enifach eine zusätzliche abfrage wenn menue->get(1) eine zahl ist und auch in der datenbank existiert wird die news angezeigt

    ist menu->get(1) vorhanden aber keine zahl oder nicht in der DB voprhanden wird umgeleitet auf was auch immer...
    it's not a bug, it's a feature... nsk-team.com
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    lookout Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    152
    Beitragswertungen
    0 Beitragspunkte
    Was natürlich wieder aufwändig und bei jedem Update neu zu programmieren wäre...anstrengend.

    An sich aber ein interessantes Problem.


    Zuletzt modifiziert von lookout am 07.05.2008 - 21:36:19
    Zur Zeit geheimes Projekt am Laufen!
    Der Web Informant
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    @eXecut1oner: Bei den News hab ich das auch so gelöst, aber ohne den Quatsch mit der Zahl, einfach, wenn ein Eintrag besteht, anzeigen, sonst, umleiten.

    Bei den News gibt es nur die Besonderheit, dass zwar keine News da ist, aber trotzdem eine generiert wird, wo man Kommentare hinterlassen kann...
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    Was kann man während der bezwungenen Fahrt mit der S-Bahn alles erreichen, weil man sich nicht aufs Auto fahren konzentrieren muss? Man findet die Lösung auf das Problem...

    Im Prinzip ganz simpel, weder muss ich/irgendeiner jede PHP öffnen und bearbeiten noch ist die Anpassung an neue Mods schwer.
    Lösung:
    EIn mehrdimensionaler Array mit Überprüfung auf Exitenz in der Datenbank...
    Ein Beispiel an der Newsseite. ( Es sind ja immer Zahlen, die eine Anzeige bewirken bsp. user-details-1
    <?php
    // der Mega Array
    // Struktur bezogen auf die URL nach index.php?{menu0}-{menu1}....
    /*
    menu0 = welcher Array (index.php?news-23 = "news")
    jetzt wird der Array ausgelesen mit der Reihenfolge
    TABLE, menu1, menu2, menu3,.... je nach dem wieviele menus ab der URL hängen
    */
    $array = array(
     "news" => array("prefix_news" , "news_id"),
     "user" => array("prefix_user" , "details" , "id"),
    ....
    );
    
    $array2 = array(
     "privmsg" => array("prefix_pm", "privmsg" , "showmsg" , "id"),
     ....
    );
    // Überprüfung
    
    function check_url_exist(){
    global $array, $array2;
    $url = $_SERVER['QUERY_STRING']; // URL
    $url_teil = explode("-", $url); // URL splitten
    
    if( !is_array( $array[$url_teil[0]] ) ){
     return (false);
     break;
    }
    $nutz = "array";
    if( is_array( $array2[$url_teil[1]] ) ) $nutz = "array2";
    if( count($url_teil) <= count($$nutz[$url_teil[0]] )){ // hat URL genauso viele Teile wie der Array
     $url_exist = false;
     for($i=1;$i<count($url_teil);$i++){
      $erg = db_num_rows(db_query("SELECT * FROM ".$$nutz[$url_teil[0][0]]." WHERE ".$$nutz[$url_teil[0][$i]]." = ".$url_teil[$i]));
      if( (int( $url_teil[$i] ) AND $erg > 0) xor (  $$nutz[$url_teil[0][$i]] == $url_teil[$i]) ){
       $url_exist = true;
      }else{
       return (false);
       break;
      }
     }
     return ($url_exist);
    }
    return (false);
    }
    ?>


    Ich denke mal das wars, jetzt muss die Datei nur noch in der index.php geladen werden und die Funktion check_url_exist() ausführen und wenn "true" zurück kommt, existiert die Page.

    Ich hoffe ich hab in der Eile keine Fehler eingebaut.^^

    *EDIT: Mit fällt das gerade ein, dass noch ein 2te Array fehlt für sachen wie forum-privmsg, user-gbook


    Zuletzt modifiziert von boehserdavid am 15.05.2008 - 17:18:54
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    boehserdavid Mitglied
    Registriert seit
    26.08.2006
    Beiträge
    2.122
    Beitragswertungen
    2 Beitragspunkte
    So, jetzt hab ich die Lösung, natürlich werde ich hier keine Mörderarrays posten, dass müsst ihr schon selber machen...^^

    *CODE ENTFERNT -> siehe externer Link

    Das ist die Funktion, diese einfach in der index.php laden und bei "false" gibt es die Seite nicht...


    Zuletzt modifiziert von boehserdavid am 22.05.2008 - 06:51:33
    -Heute schon böhse gewesen?- Ab zur Community
    -No Support via Contact-
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten