tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
741
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Daxi Daxi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    PAF
    Beiträge
    396
    Hallo!

    Ich will ein PHP-Script mit Sessions bauen.
    Das Programm besteht nur aus einer PHP-Datei!
    Ich starte also die Session mit session_start().
    Dann setze ich die Variablen der Session mit $_SESSION["irgendwas"] = "irgendwelche daten";
    Leider lassen sich die Daten komischerweise nicht mehr ändern.
    Nutze WAMMP2 (Release von apachefriends.org) unter Win2k.
    Keine AShnung warum das nicht geht.

    Könntet ihr mir bitte weiterhelfen?
     

  2. #2
    Avatar von lambda
    lambda lambda ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Beiträge
    303
    session_register() tut's auch nicht?
     
    Lambda - Unos, dos, tres, catorce...

  3. #3
    Daxi Daxi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    PAF
    Beiträge
    396
    session_register funktioniert auch nicht.

    Also nochmal zur Verdeutlichung:
    Beim 1. Aufruf funktioniert sowohl $_SESSION als auch session_regsiter.
    Doch wenn die Variablen bereits gesetzt sind, lassen sie sich nicht mehr ändern.
    Ist dann sozusagen eine Konstante.
    Habe auch schon versucht die betreffende Variable vorher mit session_unregister zu löschen. Funktioniert aber leider auch nicht.
    Habt ihr Tipps & Tricks für mich?
    Ich denke es liegt an der Konfiguration.
    Auf meinem Webserver habe ich es noch nicht probiert, da ich grundsätzlich keine unvollständigen Scripts hochlade.
     

  4. #4
    Avatar von lambda
    lambda lambda ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Beiträge
    303
    Original geschrieben von Daxi

    Auf meinem Webserver habe ich es noch nicht probiert, da ich grundsätzlich keine unvollständigen Scripts hochlade.
    Wäre aber vielleicht nicht schlecht...
     
    Lambda - Unos, dos, tres, catorce...

  5. #5
    Daxi Daxi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    PAF
    Beiträge
    396
    Komisch. Auf dem Webserver funktioniert das auch nicht.

    Hier der Code:
    PHP-Code:
     session_start();
     switch(
    $aktion)
     {
      case 
    "neu":
       
    session_unset();
       break;
      case 
    "titel":
       
    $_SESSION["titel"] = $titel;
       break;
      case 
    "beschr":
       
    $_SESSION["beschr"] = $beschr;
       break;
     } 
    Müsste doch eigentlich richtig sein, sonst würde er es doch auch beim 1. mal nicht speichern.
     

  6. #6
    Avatar von lambda
    lambda lambda ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Beiträge
    303
    Vielleicht steht ich auf der Leitung, aber ein session_register seh ich nicht...
     
    Lambda - Unos, dos, tres, catorce...

  7. #7
    Daxi Daxi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    PAF
    Beiträge
    396
    session_register brauchts nicht.
    Steht zumindest so unter PHP.net.
    Es geht $_SESSION["bezeichnung"] = "Inhalt";
    oder $bezeichnung = "Inhalt";
    session_register("bezeichnung");

    Wobei $_SESSION eine globale Variable ist. D.h.: Sie muss in Funktionen nicht erst global gemacht werden.

    Siehe:
    http://de.php.net/manual/de/function...n-register.php

    Also geht beides.
    Ich habe mich dafür entschieden, da ich gerne mal mit Funktionen arbeite.
     

  8. #8
    Avatar von lambda
    lambda lambda ist offline Mitglied Brokat
    Registriert seit
    Dec 2001
    Beiträge
    303
    Ups... Müll gelabert, sorry. Man lernt ja nie aus
    Mal ne blöde Frage, was passiert denn, wenn du die Seite aktualisierst?
     
    Lambda - Unos, dos, tres, catorce...

  9. #9
    Avatar von Karl Förster
    Karl Förster Karl Förster ist offline Mitglied Platin
    Registriert seit
    Feb 2001
    Ort
    München
    Beiträge
    646
    Hast du RegisterGlobals auf On? Wenn das der Fall ist, würde ich die Variable, die aus dem Formular zur Änderung kommt oder wo auch immer her nicht genauso nennen wie die Variable in der Session. Soweit ich mir das denken kann, werden die Session-Variablen beim Aufruf der PHP-Datei nach den Formulardaten geparsed, wodurch die vom Formular kommenden Daten von den Sessionwerten überschrieben werden.

    Also mal folgendes Probieren:
    PHP-Code:
    <?php

    session_start 
    ();

    $name = (isset ($_REQUEST["name"])) ? $_REQUEST["name"] : "Kurt";

    if ((isset (
    $_SESSION["dername"])) AND ($name != $_SESSION["dername"]))
    {
      
    $_SESSION["dername"] = $name;
    }

    ?>

    Aktueller Sessionwert: <?=$_SESSION["dername"]?>
    <p />
    <form action="" method="get">
    Neuer Wert:
    <input type="text" name="name" />
    <input type="submit" />
    </form>
    Ich hab das Stück Code jetz nicht getestet. Also keine Gewähr auf Funktionalität.
     
    MfG

    Karl Förster
    Entwicklung / Development
    Appia, Inc.


    appia.com

  10. #10
    Daxi Daxi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    PAF
    Beiträge
    396
    Ja. Ich habe register_globals auf on.
    Danke Karl.
    Das war genau das Problem.

    Danke an euch...
     

  11. #11
    Avatar von Karl Förster
    Karl Förster Karl Förster ist offline Mitglied Platin
    Registriert seit
    Feb 2001
    Ort
    München
    Beiträge
    646
    Freut mich, dass ich dir helfen konnte. Damit kann der Thread ja geschlossen werden.
     
    MfG

    Karl Förster
    Entwicklung / Development
    Appia, Inc.


    appia.com

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 26.07.09, 00:11
  2. Antworten: 16
    Letzter Beitrag: 29.12.08, 17:21
  3. Antworten: 13
    Letzter Beitrag: 14.01.08, 22:26
  4. Welche Daten lassen sich mit PHP theoretisch auslesen?
    Von Robert Steichele im Forum PHP
    Antworten: 1
    Letzter Beitrag: 28.05.05, 16:32
  5. Antworten: 4
    Letzter Beitrag: 17.06.02, 14:45