url session

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

  • url session

    hallo Leute,

    glaube jetzt das Problem im meinem Shop-prog. gefunden zu haben, warum der WK nicht ohne cookies funzt.


    habe massig solcher Links drin:

    Beispiel:
    <?=$urlPfad; ?>themes/warenkorb/index.php">
    das Problem ist: <?=$urlPfad; ?> vor den vielen Links wie den kategorien, Artikeln, Warenkorb etc.
    Dadurch sind es absloute URLs, und php hängt dann keine Sessionid´s ran.

    so nun meine Frage:
    Soll ich alle <?=$urlPfad; ?> entfernen oder lieber hinter jeden link z.B. <? SID ?> versuchen anzuhängen?
    mfg
    marc75

    <Platz für anderes>

  • #2
    was steht denn in $urlPath drin?

    wenn es mit / losgeht, ists doch ok....
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      da steht in der config:

      $urlPfad = $config->vServerRoot.'/'.$config->applPathPrefix.'/';

      $urlPfad = $config->protocol.':

      mhh liegt das problem dann woanders?

      hatte mal zu Testzwecken bei ein, zwei Links <urlpfad> entfernt gehabt. Danach wurde beim Aufruf an diesen Link die PHPsessid angehangen.
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        gib doch mal $urlPfad aus.
        PHP-Code:
        echo $urlPfad
        ausgabe?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          habe echo vor der zeile gesetzt




          PHP-Code:
          echo $urlPfad $config->vServerRoot.'/'.$config->applPathPrefix.'/'
          rauskommt das hier: www.seite.de//test/px/

          kann man da nun noch einfluss drauf nehmen das es nur "/" ist, für urlpfad?
          Zuletzt geändert von marc75; 17.07.2003, 14:38.
          mfg
          marc75

          <Platz für anderes>

          Kommentar


          • #6
            Original geschrieben von marc75
            kann man da nun noch einfluss drauf nehmen das es nur "/" ist, für urlpfad?
            klar. du gibst es einfach nicht aus....

            und das server-root ist auch doof. mache das mal so ....
            PHP-Code:
            echo $urlPfad $config->applPathPrefix.'/'
            .... damit sollte es bei dir funktionieren.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              so habs geändert, hab dazu noch $urlPfad = $config->protocol.'://'.str_replace('//','/',$urlPfad); entfernt, da sonst manche links ohne url www.seite.de angezeigt wurde,



              so nun geht es soweit, zwei probleme sind jetzt noch

              1. wenn ich in eine Kategorie wechsle und dann wieder eine andere Kategorie aufrufen will macht er im Link dopplungen

              z.B.: /themes/kategorie/themes/kategorie/

              und bei andere vergisst er /test/px

              2. wenn ich ein Artikel in den WK legen will geht die Sessionid irgendwo verloren? kann es am JS liegen womit die Artikel in den WK befördert werden.

              Die Artikel werden z.B. über folgenden Link befödert:

              <a href="javascript:document.formular<?=$zeige[id]?>.submit();" ><?=$s_kaufen?></a>
              statt mit einem normalen submit button.
              mfg
              marc75

              <Platz für anderes>

              Kommentar


              • #8
                Original geschrieben von marc75
                Die Artikel werden z.B. über folgenden Link befödert:
                <a href="java script:document.formular<?=$zeige[id]?>.submit();" ><?=$s_kaufen?></a>
                statt mit einem normalen submit button.
                nein, dieser link schickt lediglich das formular ab.
                die daten werden aber immer noch mit der im formular angegebenen methode an das im action-attribut angegebene script übergeben. und an dieser stelle müsste m.e. auch sie seesion-id wieder angehängt werden, damit es klappt ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  mhh die sessionid vergisst er anzuhängen.

                  <form name="formular<?=$zeige[id]?>" method="post" action="<?=$urlPfad?>themes/warenkorb/index.php">
                  Da ist eigentlich nix anders als bei den anderen Links, ausser halt die Ordner.
                  mfg
                  marc75

                  <Platz für anderes>

                  Kommentar


                  • #10
                    Startest du auch in dem Fenster das von JS geöffnet wird die Session also: session_start(); ?
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      wenn du die warenkorb/index.php meinst, dann ja.
                      mfg
                      marc75

                      <Platz für anderes>

                      Kommentar


                      • #12
                        Original geschrieben von marc75
                        1. wenn ich in eine Kategorie wechsle und dann wieder eine andere Kategorie aufrufen will macht er im Link dopplungen
                        z.B.: /themes/kategorie/themes/kategorie/
                        das liegt daran, dass du nicht konsequent die links immer von root des webservers angibst.

                        es MUSS immer / zu beginn im link stehen. danach eben die verzeichnisse, wo es hin soll...


                        /path/to/nivana/dead.php
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Original geschrieben von marc75
                          2. wenn ich ein Artikel in den WK legen will geht die Sessionid irgendwo verloren? kann es am JS liegen womit die Artikel in den WK befördert werden.
                          Du schreibst doch hier das du das mit JS machst. Und das genau meine Ich, wird da einen Zwischenseite geladen oder wird da direkt die Zielseite geladen. Auch auf Zwischenseiten muss die Session gestartet werden, damit sie nicht verlohren geht.
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            es wird gleich themes/warenkorb/index.php geladen laut Browser anzeige.

                            in der uebersicht.tpl befindet sich:

                            <form name="formular<?=$zeige[id]?>" method="post" action="<?=$urlPfad?>themes/warenkorb/index.php">
                            <input type="hidden" name="action" value="speichern">
                            <input type="hidden" name="menge" value="1">
                            <input type="hidden" name="artikel_id" value="<?=$zeige[id]?>">
                            <input type="hidden" name="preis" value="<?=$zeige[preis]?>">
                            <input type="hidden" name="katId" value="<?=$katId?>">
                            <input type="hidden" name="parentId" value="<?=$parentId?>">
                            <input type="hidden" name="submenue" value="<?=$submenue?>">
                            und:

                            <a href="javascript:document.formular<?=$zeige[id]?>.submit();" ><?=$s_kaufen?></a>
                            liegst vielleicht daran das es sich im template befindet? die sessionid selbst wird vorm abschicken oben hinter der url angezeigt.
                            mfg
                            marc75

                            <Platz für anderes>

                            Kommentar


                            • #15
                              Mahlzeit,

                              so hab jetzt mal ne neue domain besorgt und den testshop dort ins root gelegt, dazu bei allen Links <?=$urlPfad;?> entfernt "/" gesetzt, damit ist das mit den ordnerdopplungen behoben.

                              jetzt noch mod_rewrite entfernt, da es bei den besuchen der kategorien jedesmal eine neue sessionid erzeugt wurde.

                              so nun bleibt nur noch das problem mit dem WK, dort geht die sessionid immernoch verloren.

                              Da ja in alle Ordner (Katergorien; Warenkorb; bestellen; etc) eine index.php liegt die jedesmal zuerst aufgerufen wird, hab ich dort nachgeschaut ob dort überall session_start vorhanden ist, und ja ist vorhanden.

                              die index.php dateien werden ja sicherlich immer von oben abgearbeitet auch wenn
                              /kategorie/index.php?katId=45 da steht.

                              PHP-Code:
                              <?
                                  session_start();
                                  
                                  // Hauptkonfigurationsdatei
                                  include("../../config.inc.php");
                                  include("../../db.inc.php");
                                  
                              //Sessionregister
                                  include($dateiPfad . "includes/session_register.inc.php");
                                  
                                  if($register_global == "1")
                                  {
                                      include($dateiPfad . "includes/global_off.inc.php");
                                  }
                              das ist in jeder index.php enthalten.

                              Frage:
                              in der index werden ja dann z.B. noch php dateien includet muss dort auch nochmal session_start rein?
                              Beispiel:
                              PHP-Code:
                              include($dateiPfad "themes/warenkorb/warenkorb.php"); 
                              der Warenkorb wird folgendermaßen aufgerufen bei der Bestellausführung:
                              Auszug:
                              PHP-Code:
                              echo "<form name=\"formulardetail\" method=\"post\" action=\"/themes/warenkorb/index.php\">\n"
                              da der Link relativ ist gibt es doch eigentlich keinen grund keine Sessionid zu übergeben.
                              mfg
                              marc75

                              <Platz für anderes>

                              Kommentar

                              Lädt...
                              X