Sven: $_GET Notice Fehler...

  
else {  
  
        echo "<form ".  
             " name=\"Registrierung\" ".  
			 " action=\"".$_GET['registrierung.php']."\" ".  
             " method=\"post\" ".  
             " accept-charset=\"ISO-8859-1\">\n";  

Error:
Notice: Undefined index: registrierung.php in C:\xampp\htdocs\registrierung.php on line 121

Wie bekomme ich den Weg?

  1. Hi!

      	 " action=\"".$\_GET['registrierung.php']."\" ".  
    

    Error:
    Notice: Undefined index: registrierung.php in C:\xampp\htdocs\registrierung.php on line 121
    Wie bekomme ich den Weg?

    Auf den richtigen Weg wirst du hoffentlich kommen, wenn du mit print_r($_GET) nachschaust, was wirklich in $_GET enthalten ist (ein <pre> vorher erhöht die Übersichtlichkeit) und auf das Zugreifen auf nicht vorhandene Einträge verzichtest.

    Lo!

    1. Auf den richtigen Weg wirst du hoffentlich kommen, wenn du mit print_r($_GET) nachschaust, was wirklich in $_GET enthalten ist (ein <pre> vorher erhöht die Übersichtlichkeit) und auf das Zugreifen auf nicht vorhandene Einträge verzichtest.

      Notice: Undefined index: registrierung.php in C:\xampp\htdocs\registrierung.php on line 121
      Array ( [page] => registrierung.php )

      1. Hi!

        Auf den richtigen Weg wirst du hoffentlich kommen, wenn du mit print_r($_GET) nachschaust, was wirklich in $_GET enthalten ist (ein <pre> vorher erhöht die Übersichtlichkeit) und auf das Zugreifen auf nicht vorhandene Einträge verzichtest.
        Notice: Undefined index: registrierung.php in C:\xampp\htdocs\registrierung.php on line 121
        Array ( [page] => registrierung.php )

        Das Element hat also den Index 'page' und den Inhalt 'registrierung.php'. Also kommt man an den Wert über $_GET['page']. Aber den sollte man nicht einfach so ins HTML einfügen, wenn er vom Benutzer beliebig übermittelt werden kann. Ein htmlspecialchars() wäre angebracht (und die Lektüre vom Kontextwechsel-Artikel).

        Lo!

        1. Das Element hat also den Index 'page' und den Inhalt 'registrierung.php'. Also kommt man an den Wert über $_GET['page']. Aber den sollte man nicht einfach so ins HTML einfügen, wenn er vom Benutzer beliebig übermittelt werden kann. Ein htmlspecialchars() wäre angebracht (und die Lektüre vom Kontextwechsel-Artikel).

          htmlspeicalchars habe ich in einer Datei, welche am Anfang jeder Seite included wird. Es ist nicht im HTML eingefügt, die ganze Seite ist rein php.

          Gibt es den eine Alternative, zu $GET? Habe es schon mit $_SERVER['PHP SELF' veruscht, jedoch geht er dann bei click auf die index.php und er sollte dort nicht hin..

          1. Hi!

            htmlspeicalchars habe ich in einer Datei, welche am Anfang jeder Seite included wird.

            htmlspecialchars() muss beim Erstellen des HTML-Codes aufgerufen werden, nicht eher - und später ist sowieso sinnlos.

            Es ist nicht im HTML eingefügt, die ganze Seite ist rein php.

            Der gezeigte Code fügt etwas in ein Attribut des HTML-Elements form ein. Also wird etwas in HTML eingefügt, und das muss gemäß dessen regeln behandelt werden, wenn du keine Sicherheitslücken haben möchtest.

            Gibt es den eine Alternative, zu $GET? Habe es schon mit $_SERVER['PHP SELF' veruscht, jedoch geht er dann bei click auf die index.php und er sollte dort nicht hin..

            Was willst du eigentlich erreichen? Ich sehe nur, dass du das action-Attribut setzen willst. Aber ich weiß nicht, wohin das Formular gehen soll. Ist es ein Affenformular, dann kann action leer bleiben (action=""), um die aktuelle Seite erneut aufzurufen.

            Lo!