Problem mit case include eines GB´s

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit case include eines GB´s

    Hallo,
    ich habe ein Problem mit einem Gästebuch. Es geht um das caosweb Gästebuch URL

    Das script soll zum includen geeignet sein und wird auf der Anbieterhomepage auch included.

    Das Problem was ich habe ist nicht direkt das includen.
    Folgendes:
    Ich habe meine html seite in php eingebunden. Jetzt habe ich eine index in der ich header main navigation und footer include. In der Navigation arbeite ich mit
    PHP-Code:
    <?php switch($_GET['id'])
                                                     {
                            case 
    "home":
                            include(
    "incl/home.php");
                                   break;

                                                     case 
    "gbook":
                            include(
    "gbuch/gbook.php");
                            break;

                                                     default:
                            include(
    "incl/home.php");
                                   break;
                            }
                                                      
    ?>
    Mein Link sieht folgendermaßen aus:
    Code:
    http://waldschloesschen.martenscity.de/index.php?id=gbook
    Wenn ich auf den Link gehe öffnet er mir zwar das Gästebuch da wo ich es haben will, allerdings, wenn ich einen Beitrag schreiben will, springt er immer auf meine default case seite. Ich denke das liegt daran, dass in dem Gästebuchscript auch mit ?id=gbuch_eingabe Variablen gearbeitet wird. Wie kann ich das Problem lösen?

    Hier ein Link zu meiner Seite:
    Website

    Hier noch der Code den ich in meiner gbuch/gbook.php eingebunden habe:
    PHP-Code:
    <?php
    $hauptfeld 
    "gb.php";
    if(
    $_GET['id'] == "gbuch" OR $_GET['id'] == "gbuch_eingabe" OR $_GET['id'] ==
    "gbuch_send" OR $_GET['id'] == "gbuch_ok" OR $_GET['gbuch_seite'])
    {
    $hauptfeld "gb.php";
    }
    if(
    $_GET['gbuch_login_id'])
    {
    $aendern $_GET["gbuch_login_id"];
    $hauptfeld "gb_login.php";
    }
    if(
    $_GET['gbuch_login_send'] OR $_GET['id'] == "gbuch_login_send")
    {
    $aendern $_GET["gbuch_login_send"];
    $hauptfeld "gb_login.php";
    }
    include(
    $hauptfeld);
    ?>
    Ich hoffe Ich hab euch genug infos gegeben um das Problem deutlich zu machen.

    Nachtrag:
    Ich hab die Fehleranzeige zuletzt aus gehabt. Jetzt ist sie an und nun gibt er mir folgende Fehler:
    Code:
    Notice: Undefined index: 
    gbuch_seite in /var/www/web87/html/cafe-waldschloesschen/gbuch/gbook.php on line 19
    
    Notice: Undefined index: 
    gbuch_login_id in /var/www/web87/html/cafe-waldschloesschen/gbuch/gbook.php on line 23
    
    Notice: Undefined index: 
    gbuch_login_send in /var/www/web87/html/cafe-waldschloesschen/gbuch/gbook.php on line 28
    
    Notice: Undefined index: 
    upload in /var/www/web87/html/cafe-waldschloesschen/gb.php on line 55
    
    Notice: Undefined index: 
    gbuch_seite in /var/www/web87/html/cafe-waldschloesschen/gb.php on line 216
    Zuletzt geändert von the-duke; 22.03.2008, 19:20.

  • #2
    hat denn keiner eine Idee? Hmm

    Kommentar


    • #3
      Original geschrieben von the-duke
      hat denn keiner eine Idee? Hmm
      du weißt, was heute für ein tag ist? also nicht drängeln. ich vermute mal, dass di beim action-attribut vergessen hast, den id-parameter zu übergeben.
      Jetzt ist sie an und nun gibt er mir folgende Fehler:
      das sind keine fehler sondern hinweise auf schlampigen code.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        ok ok. Werd nochmal schauen. Stimmt, heute ist Karfreitag he he.
        Ist für manche ja ein Feiertag. Wollt auch nicht drängeln. Ich dachte nur bei über 30 views muss doch einer eine Idee haben.
        das sind keine fehler sondern hinweise auf schlampigen code.
        Mag sein. Ich steh noch ganz am Anfang von php. Jeder fängt doch mal an, oder nicht

        Kommentar


        • #5
          Ich steh noch ganz am Anfang von php
          ich wollte damit auch nur sagen, dass es keine fehler sind.
          Jeder fängt doch mal an, oder nicht
          solche notices produzieren nicht nur anfänger

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Is ok. Sollte auch kein Angriff sein.

            Ich würd nur gerne mehr von php verstehen. Aber mit der wenigen Freizeit kommt man nur mühsam vorwärts Beruflich hab ich datenbanken nur angerissen, php aber leider nie.

            Hab das Problem aber glaub ich gelöst. Hab für alle id´s die benötigt werden und nicht funktioniert haben einen neuen case geschrieben und den jeweiligen phpcode aus der Datei ausgelagert in eine eigene php seite. Diese include ich dann bei der jeweiligen Aktion.

            Weiß nicht ob das unsauber gecoded ist aber es funktioniert und es können Beiträge in die db geschrieben werden. Sogar das error reporting funktioniert wenn der falsche sicherheitscode oder Pflichtfelder nicht ausgefüllt wurden.

            Das einzige negative ist nur, dass wenn man einen Beitrag geschrieben hat und auf refresh geht, der Beitrag nocheinmal geschrieben wird. Kann man das irgendwie abstellen?

            Kommentar


            • #7
              Das mit dem refresh hab ich zwar nicht direkt behoben, jedoch hab ich per js eine aktion eingefügt, die nach erfolgreichem Eintragen ins GB automtisch das gb aufruft nach 3 sekunden.

              Wollte zwar nicht so gerne javascript bei der Page einsetzen aber naja.

              Kommentar


              • #8
                Du hättest auch Post statt Get benutzen können.
                Oder ein Eintragsscript, das einen Location-Header sendet

                Kommentar


                • #9
                  wo hätte ich it POST arbeiten können? In der Navigation oder im Gästebuch script?

                  In der Navigation hab ich das GET durch ein POST ersetzt, nur dann geht die Navigation gar nicht mehr

                  Kommentar


                  • #10
                    Natürlich im Gästebuch

                    Kommentar


                    • #11
                      ok. Auch dort funktioniert es mit post nicht. Ich denke es liegt auch an register globals. Hab jetzt folgenden php code eingefügt.

                      PHP-Code:
                      //Umgehung von register_globals
                      extract($_SERVER);
                      extract($_ENV);
                      extract($_GET);
                      extract($_POST);
                      extract($_REQUEST);
                      extract($_FILES); 
                      Aber auch wenn ich POST nutze findet er einfach die id´s nicht.
                      Wenn ich die id´s von der Seite direkt aufrufe (ohne die Seite vorher zu includen)
                      dann haut´s hin. Der links sieht dann folgendermaßen aus:
                      Code:
                      http://waldschloesschen.martenscity.de/gbuch/gbook.php?id=gbuch_eingabe
                      Wenn ich die Seite include, dann sieht der link natürlich anders aus, nämlich so:
                      Code:
                      http://waldschloesschen.martenscity.de/index.php?id=gbuch_eingabe
                      Dann findet er die id nicht, denn in meiner navigation gibts die ja nicht, und er nimmt den default eintrag meiner navigation.
                      Zuletzt geändert von the-duke; 22.03.2008, 20:28.

                      Kommentar

                      Lädt...
                      X