Probleme mit PHP5.3 und Variablen

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

  • Probleme mit PHP5.3 und Variablen

    Ich habe folgendes Problem:
    Ein altes Script welches eigentlich nur im Intranet läuft und die Sicherheit zweitrangig istfunktioniert nicht mehr seit wir einen neuen LanServer installiert haben, welche unter anderem PHP 5.3 braucht wegen unserer Groupware.
    Das betreffende Script hat mehrere Sub Funktionen die aus der Hauptseite via Link angesprochen werden.

    Die Links auf der Hauptseite sehen so aus:

    Code:
    eingabemaske.php?sub=new
    Ist z.B für das erstellen eines neuen Datensatzes

    Code:
    eingabemaske.php?sub=delete
    Ist für das loeschen eines Datensatzes

    Code:
    eingabemaske.php?sub=change
    Ist für das ändern eines Datensatzes

    usw.

    Im Hauptscript werden diese Subfunktionen dann so erkannt:

    Code:
    if($sub=="new")
    
    {
    settype
    oder

    Code:
    if($sub=="delete")
    
    {
    settype
    etc...

    Seit der PHP Version 5.3 bekomme ich beim Klick auf die jeweiligen Links
    zwar den Header und Footer angezeigt, aber alles andere bleibt weis.
    Ein Blick ins Error Log sagt dann:

    mod_fcgid: stderr: PHP Notice: Undefined variable: sub in ....

    Habe jetzt ein wenig gelesen und versucht das Problem zu lösen, wenn ich zb die Variable im Hauptscript festlege mit
    Code:
    $sub = "new"
    Dann kann ich die funktion new auch aufrufen und das Script funktioniert, allerdings schaffe ich es nicht die anderen funktionen wie löschen oder ändern da reinzupacken.

    Da ich kein PHP Programmierer bin bitte ich um Nachsicht falls in dieser Frage nicht alles so formuliert ist wie es sein sollte ;-)

    Gruß

  • #2
    register_globals wurde deaktiviert.
    Und das ist auch gut so.

    Verwende das superglobale Array $_GET
    Wir werden alle sterben

    Kommentar


    • #3
      mod_fcgid: stderr: PHP Notice: Undefined variable: sub in ....
      "Undefined variable" = Undefinierte Variable = Variable die nicht existiert

      Verwende das superglobale Array $_GET
      -> $_GET Manual

      Da du kein PHP Programmierer bist:
      Theoretisch, wenn ich es richtig überflogen habe musst du bloß aus

      if($sub=="new")
      {
      settype
      [...]
      }
      einfach

      if($_GET["sub"]=="new")
      {
      settype
      [...]
      }
      machen, deine Links sind dann immernoch richtig :-)


      Gruß
      Jonas
      Zuletzt geändert von JonasBauer; 14.01.2012, 17:20.

      Kommentar

      Lädt...
      X