PHP/localhost: keine Übernahme von Variablen!

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von GanbaruX, 11.06.2004.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. 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 ;)
     
  4. #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
     
  5. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
  6. #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.
     
  7. 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. ;)
     
  8. #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.
     
  9. 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="";}
     
  10. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  11. #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.
     
  12. #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 Benachrichtigungen im Vollbild Modus

    Keine Benachrichtigungen im Vollbild Modus: Arch Linux Plasma 5.8 Weiss einer ob das gehen sollte, bzw kann mal einer testen ob es bei ihm geht, gerne auch mit anderen kde/plasma versionen....
  2. BSI-Audit findet keine akuten Probleme in OpenSSL

    BSI-Audit findet keine akuten Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  3. BSI-Audit findet keine akute Probleme in OpenSSL

    BSI-Audit findet keine akute Probleme in OpenSSL: Das Bundesamt für Sicherheit in der Informationstechnik hat OpenSSL auf seine Sicherheit untersuchen lassen. Die Analyse zeigt vor allem, dass die...
  4. RoboVM keine freie Software mehr

    RoboVM keine freie Software mehr: RoboVM, Hersteller der gleichnamigen Entwicklungsumgebung für Mobilsysteme, hat die Lizenz von der GPL in eine proprietäre Lizenz gewandelt. Nach...
  5. Steam: Keine Unterstützung für »unsaubere« Linux-Spiele

    Steam: Keine Unterstützung für »unsaubere« Linux-Spiele: Der Betreiber der Steam-Plattform, Valve, hat einer Reihe von Spielen die Kennzeichnung entzogen, wonach das Produkt unter Linux oder SteamOS...