PHP/localhost: keine Übernahme von Variablen!

Diskutiere PHP/localhost: keine Übernahme von Variablen! im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; Hallo habe folgendes seltsames Probelm, das ich an einem Newsscript zu erklären versuche. news.php?aktion=detail&newsid=12 Die Aktion und...

  1. #1 GanbaruX, 11.06.2004
    GanbaruX

    GanbaruX Mitglied

    Dabei seit:
    23.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Ort:
    Ruhrstadt
    Hallo habe folgendes seltsames Probelm, das ich an einem Newsscript zu erklären versuche.

    news.php?aktion=detail&newsid=12

    Die Aktion und die Id werden beim Aufruf nicht übernommen! Ich kann keine Seleketion ausführen.
    Online funktionierts! Aber local werden die Daten nicht übergeben.

    Suse 9.0/apache/php/mySQL

    Ich bin ratlos. Habe gestern den ganzen Tag damit verbracht den Fehler im Code zu suchen...

    Kennt jemand die Ursache des Problems?
     
  2. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    hallo..

    (ich geh einfach mal davon aus, du benutzt die aktuelle php version, meine kristallkugel ist leider defekt)

    greifst du auch per $_GET["aktion"] bzw. $_GET["newsid"] auf die variablen zu?
    wenn nicht und wenn du dies nicht willst, musst du in deiner php.ini die register_globals auf Off stellen, was allerdings nicht empfehlenswert ist.

    auf bald
    oenone

    PS: meine kristallkugel wird noch ne weile defekt bleiben, waere also nett, wenn du mehr informationen geben wuerdest ;)
     
  3. #3 GanbaruX, 11.06.2004
    GanbaruX

    GanbaruX Mitglied

    Dabei seit:
    23.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Ort:
    Ruhrstadt
    Ich habe die "Sachen" installiert, die bei Suse dabei waren.

    Die Möglichkeit mit $aktion=$_GET['aktion']; kannte ich bisher noch nicht.
    Schon eingebaut und getestet - es geht!

    Bisher (W98AMP) habe ich einfach die Variablen "nur so" übergeben und konnte damit arbeiten.
    Mache ich es jetzt halt so, Hauptsache es funktioniert.

    Danke
     
  4. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
  5. #5 GanbaruX, 12.06.2004
    GanbaruX

    GanbaruX Mitglied

    Dabei seit:
    23.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Ort:
    Ruhrstadt
    Danke, für den Link.

    Ich melde mich morgen nochmal, weil das eigentliche Problem ja noch nicht gelöst ist.
    Es wurde ja es sozusagen - umgangen.

    Habe ja noch mehr Webseiten, und die "funktionieren" jetzt lokal nicht mehr.
     
  6. thorus

    thorus GNU-Freiheitskämpfer

    Dabei seit:
    03.11.2002
    Beiträge:
    757
    Zustimmungen:
    0
    Ort:
    Passau, Niederbayern
    Das ist kein Problem.
    Es gibt schon Gründe, warum register_globals abgechaltet wurde. Vor allem nämlich wegen der Performance und wegen der Übersichtlichkeit.
    Ich persönlich finde das wirklich nicht do doll, wenn ich aus Versehen eine Variable überschreibe, die ich aber übergeben habe und später noch brauche...
    Da ist die Methode, die übergebenen Variablen über einen assoziativen Array zu holen wesentlich sauberer.

    Du solltest alle deine Webseiten register_globals=off kompatibel machen, weil du nie wissen kannst, wann dein Webhoster das umstellt und außerdem bietet es nur Vorteile.
    Die paar Zeichen extra zu schreiben sollte ja kein Prob sein. ;)
     
  7. #7 GanbaruX, 12.06.2004
    Zuletzt bearbeitet: 12.06.2004
    GanbaruX

    GanbaruX Mitglied

    Dabei seit:
    23.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Ort:
    Ruhrstadt
    ....jetzt wird mir einiges klarer. EINIGES! :O

    http://geeklog.info/article.php/20030415111921975

    ..und von http://www.netz-id.de/article1823.html das Zitat:

    Ich werde dann mal nach und nach meinen alten Code anpassen....

    Das Newsscipt ist zum Glück die erste Seite des neuen Projekts :)

    Vielen Dank, es ist schön wenn einem die "alten Hasen" mal einen Schubs in die richtige Richtung geben.
     
  8. DaMutz

    DaMutz Doppel-As

    Dabei seit:
    18.10.2003
    Beiträge:
    149
    Zustimmungen:
    0
    Ort:
    Giebenach / Schweiz
    mach doch für jede Variable die du übergibst am Anfang der Seite folgenden Befehl, damit musst du nicht alle Variablen im Skript ändern.

    Code:
    if(isset($_GET['seite'])){$seite = $_GET['seite'];}else{$seite="";}
     
  9. #9 GanbaruX, 12.06.2004
    GanbaruX

    GanbaruX Mitglied

    Dabei seit:
    23.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    Ort:
    Ruhrstadt
    So ähnlich, nur ohne isset, hatte ich jetzt auch schon testweise angefangen! :-)
    Deine Lösung ist allerdings etwas eleganter...meine war eher ein "Provisorium".

    Danke, schon eingebaut.
     
  10. #10 The Unknown, 13.08.2004
    The Unknown

    The Unknown Doppel-As

    Dabei seit:
    13.03.2004
    Beiträge:
    103
    Zustimmungen:
    0
    mittels export() kann man auch die superglobalen arrays in wie gehabt auch direkt nutzbar machen als $seite o.Ä. - aber auch dies ist kein guter Stil und sollte eigentlich nur ein würgaround sein für alte scripte die trotzdem "irgendwie" laufen sollen ;)

    Vor allem kommt eine Programmierung mittels register_blobals=off auch der Sicherheit zugute, da nicht einfach variablen aus einer anderen Quelle überschrieben werden können so einfach.
     
Thema:

PHP/localhost: keine Übernahme von Variablen!

Die Seite wird geladen...

PHP/localhost: keine Übernahme von Variablen! - Ähnliche Themen

  1. Keine Anmeldung bei phpmyadmin möglich!

    Keine Anmeldung bei phpmyadmin möglich!: Hallo, ich habe "LAMP PHP V5.6.0 auf meinem Linux Ubuntu Server 18.04. LTS gemacht. Habe alles fertig! Ich habe nun die Anmeldeseite von...
  2. Win 10 1803 und alte Samba Versionen: EXE von Share startet, aber keine Netzwerkverbindungen

    Win 10 1803 und alte Samba Versionen: EXE von Share startet, aber keine Netzwerkverbindungen: Seit Windows 10 1803 habe ich folgenden Effekt auf mehreren PCs beobachtet: EXE Dateien lassen sich wie gewohnt von den Shares starten (am besten...
  3. Dell D620 bootet keine Installation

    Dell D620 bootet keine Installation: Hallo zusammen, ich versuche seit einigen Tagen auf meinen alten Dell D620 ein 32Bit Linux zu installieren.(Prozessor bedingt) Ich würde gern mit...
  4. Samba als Fileserver keine Berechtigung auf Unterordner

    Samba als Fileserver keine Berechtigung auf Unterordner: Hallo! Leider bin ich kein Spezialist unter Linux oder Samba. Ich muss hier einen alten Linux Samba Server als Fileserver für einen neuen Windows...
  5. Keine Putty Verbindung möglich

    Keine Putty Verbindung möglich: Erledigt
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden