Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] PHPSESSID als GET-variabele, en hoe haal ik dat weg

Anoniem
None
6 antwoorden
  • Ik heb een site die gebruik maakt van sessies. Dus bovenaan de code staat ergens session_start();

    Nu wil het geval dat als ik de eerste keer naar die site toe ga, aan alle links die op de pagina staan een get-variabele meegeeft, te weten PHPSESSID.

    Dus stel dat de code van index.php er zo uitziet:
    <a href="home.php">home</a>
    <a href="aap.php">aap</a>
    <a href="pagina.php?id=2">noot</a>

    En ik ga vervolgens naar de pagina, en bekijk de source, dan ziet de code er zo uit:
    <a href="home.php?PHPSESSID=255eac[..]">home</a>
    <a href="aap.php?PHPSESSID=255eac[..]">aap</a>
    <a href="pagina.php?id=2&PHPSESSID=255eac[..]"?noot</a>

    Ververs ik deze pagina (F5), dan is deze variabele ineens verdwenen en ziet de source er weer net zo uit als ik 'm heb ingetikt. Het gebeurt dus alleen bij het eerste bezoek.

    Mijn vraag: waar komt dit vandaan en waar is dit voor? En is er een manier om er voor te zorgen dat dit niet gebeurt? Misschien een server-instelling?
  • het heeft te maken omdat je met sessie's werkt, dit is voor het geval een browser geen cookies ondersteunt (een sessie werkt met een 'id' die staat in een cookie) dan probeert php hem altijd op deze manier bij te houden.

    Je kan het ergens in de php.ini uit zetten meende ik, vraag me alleen niet waar ;)
  • Met deze nieuwe info (bedankt) ben ik in mijn lokale php.ini gaan spitten en wat gaan googlen en heb ik het probleem volgens mij opgelost.

    Ik kwam eerst hier uit waar een oplossing met .htaccess of php.ini aan de orde kwam, maar omdat ik zelf de php.ini op mijn host niet kan aanpassen en omdat (volgens het stukje tekst) ini_set niet werkt met session.use_trans_sid, werd ik doorverwezen naar deze pagina, waarin staat dat ik het zo kan doen:

    ini_set('url_rewriter.tags', '');

    wat volgens mij na de eerste waarnemingen prima lijk te werken! Nu heb ik verder vrij weinig verstand van server- en php instellingen, dus ik hoop dat het verder geen kwaad kan. Voorlopig lijkt mijn probleem echter te zijn opgelost!
  • Puur uit interesse: is er een speciale reden dat je 't niet wil hebben? Lijkt mij alleen maar voordelig…

    - Bas
  • Dat kan ik je wel vertellen. Degene voor wie de site is gemaakt heeft een extern marketing bedrijf ingeschakeld om er voor te zorgen dat de pagina bij bepaalde zoekwoorden hoog in de zoekresultaten terecht komt. Om dat te bewerkstelligen wordt er een of andere pagina aangemaakt waarnaar gelinkt moet worden vanaf de homepage. Welnu, die link naar die pagina werd ook voorzien van deze PHPSESSID als GET variabele, en dat scheen blijkbaar niet te mogen. Zodoende. Ik ben persoonlijk helemaal niet van die zoekmachine optimalisatie geintjes (een pagina moet gewoon goed zijn opgebouwd en duidelijke informatie bevatten en om die reden gelinkt worden en daarmee een hogere waarde krijgen voor een zoekmachine) maar ja als de klant het wil en daarmee zijn omzet omhoog ziet gaan is er weinig wat je er aan kan doen.

    Wat is dan eigenlijk het voordeel er van om het wel als GET var mee te geven?
  • Het is alweer een tijdje geleden dat ik me erin heb verdiept, en ik zit net een heel verhaal te typen dat - toen ik het teruglas - niet echt iets zinnigs zei. Ik kom er nog op terug als ik weer even de goede bronnen erbij heb…

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.