session probleme, verzweifelt hilfe gesucht !

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

  • session probleme, verzweifelt hilfe gesucht !

    Hi,

    Ich habe ein riesen session problem. Ich weiss dass wenn ein user sich einlogt wird dieser user erst gecheckt wenn er in DB existiert wird an den Datensatz die session_id() hinzugefüg bzw. upgedated. Dann fängt der session auf der nächsten seite die ich aufrufe an weil ich sehe im browser dass der PHPSESSID an den jeweiligen Seiten angehängt wird aber manchmal auch nicht. Ich muss zugeben ich habe vorher noch nie mit sessions gearbeitet und ich weiss nicht ob das so üblich ist dass die PHPSESID im browser immer sichtbar sein muss. Tuts helfen bringen mich nicht viel weiter.

    Da ist eine Suchroutine in meinem Projekt wo der user aussuchen kann nach welchen kriterien ein kunde gesucht werden soll. Nach firma, nach vornamen oder nach dem nachnamen. Dann wird er auf die entsprechende Seite gelinkt wo er dann die such daten eingeben kann. Die Ergebnisse werden als Link erzeugt wo von den
    Kunden nur vor- und nachname sichtbar ist. Dieser link führt dann zum entsprechenden detail ausgabe von jeweiligen Kunden.

    HIER BEGINNT AUCH DAS GANZE PROBLEM . Um den entsprechenden Kunden zu identifizieren hänge ich '.$row['ID'].' an den detail.php . Und im detail.php baue ich die '.$_REQUEST['rid'].'in meine sql Abfrage (siehe codeschnipsel unten)

    select.php :

    <?php
    while ($row =mysql_fetch_assoc($result)):
    echo("<a href=\"detail.php?rid=".$row['ID']."\">".$row['fname']." ".$row['lname']."</a>");

    endwhile;
    }

    ?>

    detail.php:


    <?php
    $sql = "select customers.fname, customers.lname,
    customers.number, customers.email, company.name,
    city.name from customers,company,city
    where customers.companyID=company.ID
    AND customers.cityID=city.ID
    AND customers.ID='" .$_REQUEST['rid']. "'";

    $result = mysql_query($sql);

    ?>


    Die details kriege ich angezeigt aber damit auch die ganzen Warnings unten auch:


    - Warning: session_start(): Cannot send session cookie- headers already sent by (output started at W:\www.detail.php:1) in W:\www.detail.php on line 2

    - Warning: session_start(): Cannot send session cache limiter- headers already sent by (output started at W:\www.detail.php:1) in W:\www.detail.php on line 2

    - Warning: session_start(): Cannot modify header information- headers already sent by (output started at W:\www.detail.php:1) in W:\www.detail.php on line 2


    line 2 ist da wo session_start() ist.


    Kann mir bitte ein PHP GURU helfen ?

  • #2
    Dann fängt der session auf der nächsten seite die ich aufrufe an weil ich sehe im browser dass der PHPSESSID an den jeweiligen Seiten angehängt wird aber manchmal auch nicht. Ich muss zugeben ich habe vorher noch nie mit sessions gearbeitet und ich weiss nicht ob das so üblich ist dass die PHPSESID im browser immer sichtbar sein muss
    Tätest du mal das Manual lesen!!!

    Wäre mal nicht schlecht, wenn du ein paar [PHP]-Tags benutz

    und einfach mal die Suche verwendest!!! Wie oft hatten wir das Problem schon? Und ich sage dir, deins ist kein stück schwieriger als die anderen

    Kommentar


    • #3
      PHP-Code:
        Warningsession_start(): Cannot modify header informationheaders already sent by (output started at W:\www.detail.php:1in W:\www.detail.php on line 2 
      haste mal versucht das zu Übersetzen? sollteste mal machen.

      PS: der Fehler liegt in Zeile 1 (www.detail.php:1)

      EDIT:
      TobiaZ: URL-Erkennung ausgeschaltet.
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        Ich starte aber alle meine skripte mit

        <?php
        session_start();
        ...
        ..
        .

        ich glaube nicht dass das Problem damit zusammenhängt. Was denkt ihr ?

        Kommentar


        • #5
          Cannot modify header information- headers already sent by ...

          dort steht aber, dass du vorher (wo auch immer) eine Ausgabe gemacht hast!

          gruss

          Kommentar


          • #6
            Also, irgendwo gibts nen echo, include oder sonstwas, was etwas ausgibt, vor dem session_start().

            @ MoRtAlAn: Wenn er das session_start() nach ganz oben packt, kann er keine Ausgaben mehr drüber haben!
            Admin of RealScripts

            Kommentar


            • #7
              Hi,

              ich habe jetzt alle meine .php files die ich in meinem Projekt verwende nachgecheckt und echos oder leerzeichen usw. vor session_start(); beseitigt und siehe da ich kriege keine warnings mehr.

              Allerdings bin ich mir immer noch nicht sicher ob da ein neues session startet wenn ich

              ..
              echo("<a href=\"detail.php?rid=".$row['ID']."\">".$row['fname']." ".$row['lname']."</a>");
              ...


              das hier mache ?????

              Kommentar


              • #8
                Wieso sollte aufgrund eines Echos eine neue Session gestartet werden?

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  Wieso sollte aufgrund eines Echos eine neue Session gestartet werden?
                  das frag ich mich auch o.O

                  So wird ne Session gesetzt!
                  PHP-Code:
                  $_SESSION['foo'] = "bar"
                  nicht mit session_register()!!!!!!!

                  // Edit:
                  Wieso willst du da denn ne Session setzen? x_X
                  Admin of RealScripts

                  Kommentar


                  • #10
                    wo wurde denn session_register genutzt???

                    Kommentar


                    • #11
                      Session register wurde nirgendwo benutzt.

                      Das was ich meinte war auch nur

                      \"detail.php?rid=".$row['ID']."\" dieser teil von echo weil hier die $row[ID] angehängt wird so dass hier eventuell eine neue session starten könnte weill die PHPSESID sich im Browser geändert hat !!!!

                      Kommentar


                      • #12
                        Original geschrieben von TobiaZ
                        wo wurde denn session_register genutzt???

                        bestimmt irgendwo hier im Forum
                        mfg
                        marc75

                        <Platz für anderes>

                        Kommentar


                        • #13
                          wenn sich die sessionid geändert hast, kannst du ohl von ausgehen, dass es eine neue Session ist. aber was hat das mit dem code zu tun?

                          Kommentar


                          • #14
                            bestimmt irgendwo hier im Forum
                            schwates... Die Leute lesen doch garantiert alle das Manual!

                            Kommentar


                            • #15
                              Original geschrieben von TobiaZ
                              wenn sich die sessionid geändert hast, kannst du ohl von ausgehen, dass es eine neue Session ist.
                              Genau das will ich ja versuchen zu verhindern und ich weiss eben nicht wie. Warum fängt er eine neue Session an ?

                              Kommentar

                              Lädt...
                              X