[PHP] Persistent variabelen zonder globals *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb zo'n beetje overal al gezocht op internet, maar kon geen oplossing vinden voor dit probleem....

ben bezig op een server waar global variables uit staan, maar ik wil wel graag de variabelen kunnen lezen in de volgende pagina.

Nu heb ik een session variabele gemaakt:
session_start();
$test = "blaat";
session_register("test");

en dit werkt wel, in de pagina erna kan ik het uitlezen door dit te doen:
echo 'test = '.$_SESSION['test']

Alleen nu zijn er een aantal items met id's waar de gebruiker op kan klikken, en afhankelijk van het id waarop geklikt wordt, moet het goede id worden meegestuurd in een variabele.

Ik heb geprobeerd om er een javascript functie voor te maken die de $_session variabele vult, maar dat werkt niet.
Ook session_register aanroepen gaat niet in javascript, want het is een php functie.

Heeft er iemand een suggestie voor dit probleem? Bijvoorbeeld hoe ik het op kan lossen door een cookie te gebruiken, dat is me ook niet goed gelukt met javascript en php.

Acties:
  • 0 Henk 'm!

  • Helox-in-a-box
  • Registratie: Augustus 2000
  • Laatst online: 07:37
misschien een combinatie van JS en PHP:

code:
1
2
3
<script language = "javascript">
var blaat = <? echo $_SESSION["boehoe"]; ?>
</script>

[ Voor 38% gewijzigd door Helox-in-a-box op 06-11-2003 17:14 . Reden: session vergeten ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat heb ik ook geprobeerd, maar php wordt alleen 1x uitgevoerd, als de pagina wordt geladen.
Dus niet als het javascript door de gebruiker wordt aangeroepen
Het uitlezen lukt trouwens wel, maar de session variabele aanmaken gaat niet

[ Voor 20% gewijzigd door Verwijderd op 06-11-2003 17:17 ]


Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

PHP:
1
2
 $test = "blaat";
session_register("test");

Dit is moet je vervangen door:
PHP:
1
$_SESSION['test'] = "blaat";

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Yep daar was ik ook achter gekomen, werkt trouwens ook op die andere manier..
maar dat was niet het probleem

het gaat erom dat php alleen wordt aangeroepen op het moment dat de pagina geladen wordt, als dat eenmaal is gebeurt dan kun je geen php meer aanroepen..
Dus vraag ik mij af hoe je daarna nog session variabele kunt toewijzen, bijvoorbeeld in javascript.

Anders weet ik namelijk in de volgende pagina niet waar de gebruiker op heeft geklikt op de huidige pagina... het werkt dus niet meer zo:

http://blablabla.blabla.nl/test.php?id=10

want dat met die vraagtekentjes is uitgeschakeld in de php configuratie

Weet iemand hoe dit zou moeten?

Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

want dat met die vraagtekentjes is uitgeschakeld in de php configuratie
Je moet het id nu wel opvragen met $_POST['id'] en niet meer met $id.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
klopt, maar dat wil ik dus niet meer gebruiken...
ik zoek een mooiere oplossing, waarmee het dus niet meer werkt met die vraagtekentjes, maar met session variabelen bijv

En dan is mijn vraag hoe je session variabelen kunt versturen met javascript

[ Voor 20% gewijzigd door Verwijderd op 06-11-2003 19:01 ]


Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Dit lijkt me erg moeilijk me sessions. Je zou wel kunnen denken aan iets als forms, dat je een met een form hidden fields meegeeft. En dan bij je link onClick='document.formuliernaam.submit()'.

[rml][ javascript] submit form[/rml]

[ Voor 17% gewijzigd door dArtagnan op 06-11-2003 19:16 ]


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Welke setting staat dan zo dat "dat met die vraagtekentjes" uitstaat. Volgens mij ben je je namelijk gruwelijk aan het vergissen...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Bedoel je niet register_globals?

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Wanneer je the uri met de get vars wilt verbergen dan kan je natuurlijk ook vanuit een frame werken.

Acties:
  • 0 Henk 'm!

  • eborn
  • Registratie: April 2000
  • Laatst online: 16-09 09:14
Verwijderd schreef op 06 november 2003 @ 19:00:
klopt, maar dat wil ik dus niet meer gebruiken...
ik zoek een mooiere oplossing, waarmee het dus niet meer werkt met die vraagtekentjes, maar met session variabelen bijv

En dan is mijn vraag hoe je session variabelen kunt versturen met javascript
Je kunt het beste nog maar eens uitzoeken hoe het allemaal precies werkt, want dit slaat eigenlijk nergens op :) PHP is Server-Side, JavaScript is Client-Side. De enige manier om van Client-Side naar Server-Side te komen is via een POST of een GET. GET zijn de 'vraagtekentjes', POST doe je in HTML met formulieren.

Het enige alternatief wat je zou kunnen gebruiken zijn cookies, die kun je namelijk ook met Javascript zetten. Maar waarom zou jij nou weer anders zijn dan bijna alle andere sites op het Internet, en dus maar geen normale POST en GET gebruiken? :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm, bedankt voor de replies,
en ik ga het dan ook maar met een form doen

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Toch lijkt het me verstandig dat je antwoord geeft op mn vraag. Want volgens mij kan het gewoon met GET variabelen hoor...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

kan ook, maar volgens mij vind hij dat lelijk staan....
(hij kan dan nog gaan denken aan multiviews)
Pagina: 1