SESSION is steeds leeg

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Robert Hamers

Robert Hamers

11/05/2011 22:22:15
Quote Anchor link
Hallo allemaal. Ik ben bezig met SESSIONS maar heb het probleem dat hij steeds leeg is als ik redirect. Ik heb al 2 avonden gegoogled maar kom er echt niet uit. Ik heb ook nooit eerder met SESSIONS gewerkt dus het is voor mij echt een raadsel. Misschien is het een simpele instelling in mijn php.ini. O ja, ik gebruik xampp.
Ik heb voor de overzichtelijkheid even snel 2 kleine scriptjes gemaakt

Script 1:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
session_start();

$_SESSION['test']="Deze waarde wil ik straks terug zien";

?>


<html>
<head>
<title>Session test</title>
</head>

<body leftmargin="0" topmargin="0">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "de waarde van de session is nu: <b>" . $_SESSION['test'] . "</b><br><br>"
?>

<a href=redirect_script.php>Als je op deze link klikt ga je naar redirect_script.php en moet de session gevuld blijven</a>
</body>
</html>

Script 2

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
session_start();

?>


<html>
<head>
<title>Session test</title>
</head>

<body leftmargin="0" topmargin="0">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "de waarde van de session is nu: <b>" . $_SESSION['test'] . "</b><br><br>"
?>

<a href=Session_testscript.php>Als je op deze link klikt ga je weer terug</a>
</body>
</html>
 
PHP hulp

PHP hulp

26/04/2024 18:04:52
 
Bart nukem

bart nukem

11/05/2011 22:28:55
Quote Anchor link
Hoi ik weet het niet zeker maar ik denk dat je in het eerste script je variabele eerst juist moet toekennen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
    $_SESSION['roepnaam'] =  $roepnaam;


en in het tweede script haal je het zo weer op

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$roepnaam = $_SESSION['roepnaam'];
 
Dennis meijer

dennis meijer

11/05/2011 22:34:20
Quote Anchor link
Je moet bij het tweede script session_start weghalen...
 
Bart nukem

bart nukem

11/05/2011 22:39:25
Quote Anchor link
Dennis meijer op 11/05/2011 22:34:20:
Je moet bij het tweede script session_start weghalen...


Ik ben geen expert maar dat lijkt mij niet, immers session_start is een sessie beginnen maar ook voortzetten lijkt me. Als de sessie niet wordt voortgezet heb je ook niet de beschikking over de session variabelen, of zie ik dit verkeerd?
 
Jordi Kroon

Jordi Kroon

11/05/2011 22:45:09
Quote Anchor link
Wat zegt error reporting?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);
?>
 
Wouter J

Wouter J

11/05/2011 22:50:03
Quote Anchor link
Zet eens na de php code in script 1 deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
echo '<pre>Var_dump:';
var_dump($_SESSION['test'])
echo 'Alle vars:';
echo get_defined_vars();
?>

En controleer dan eens wat de var_dump geeft en of de session test bij de defined vars zit.
Dit kan je ook doen bij script 2.
 
Jordi Kroon

Jordi Kroon

11/05/2011 22:56:57
Quote Anchor link
Of :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if(isset($_SESSION['test'])) {
//sessie bestaat!
} else {
//sessie niet gedefineerd
}
?>
 
- Roland -

- Roland -

11/05/2011 22:59:47
Quote Anchor link
@ Robert : dat wat je boven hebt staan is natuurlijk goed.
als dat bij jou xamp niet werkt...!? (en geen foutmelding) dan zou ik xamp ff opnieuw installeren.

Je zou ook ff op 'echte' server kunnen zetten dan zie dat er niets mis is.

Succes

@others: aub niet te snel iets roepen
 
Jordi Kroon

Jordi Kroon

11/05/2011 23:14:37
Quote Anchor link
Oh nog overheen gelezen xampp ja
Als het daaraan ligt kan je een aantal dingen doen

Voortaan testen op freehosting sites
Wampp gebruiken ipv xampp
Herinstaleren xampp
Of zelf een server samenstellen zou ook nog kunnen
 
John D

John D

12/05/2011 09:12:14
Quote Anchor link
In script 2 heb je geen gestarte sessie!
Dus in onderstaand stukje php code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo "de waarde van de session is nu: <b>" . $_SESSION['test'] . "</b><br><br>"
?>
 
Wouter J

Wouter J

12/05/2011 09:26:01
Quote Anchor link
@John, script 2 regel 1 staat toch echt session_start()...
 
Robert Hamers

Robert Hamers

12/05/2011 19:36:28
Quote Anchor link
Bedankt voor alle reacties alvast. Maar ik ben juist overgestapt op xampp omdat ik steeds weer problemen had met wamp dat ik het echt zat was. Sinds xampp nergens meer alst van. Misschien tot nu toe:

Maar als ik error_reporting aan zet krijg ik deze melding in script 2:
Undefined index: test in C:\xampp\htdocs\vandijk\Website2\redirect_script.php on line 15

Het echo'en van de session zoals ik doe werkt dus niet.
 
- Roland -

- Roland -

12/05/2011 19:54:01
Quote Anchor link
Robert, weet je 'echt' wat een sessie is?

(als je begint met pagina 2 is test inderdaad niet gedefinieerd, je moet wel met pagina 1 beginnen)

Sorry, voel je niet beledigd, maar ik ben verbaast. Iets in een var stoppen en hem echo'en. meer is het niet!
 
Robert Hamers

Robert Hamers

12/05/2011 21:37:20
Quote Anchor link
Roland, ik heb echt totaal geen kaas gegeten van SESSIONS. Maar als je kijkt naar mijn eerste post, dan zie je dat ik in het 1e script iets in de SESSION zet en hem script 2 probeer te echo'en.

Ik ben zojuist begonnen aan een simpele tutorial en daar gaat het al meteen mis. Het moet ergens in een setting zitten. Ik ga xampp even opnieuw installeren.
Gewijzigd op 12/05/2011 21:43:17 door Robert Hamers
 
- SanThe -

- SanThe -

12/05/2011 21:43:01
Quote Anchor link
Zet dit eens helemaal bovenin bij beide scripts:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

//rest

?>
Gewijzigd op 12/05/2011 21:43:21 door - SanThe -
 
Daniel O

Daniel O

12/05/2011 23:28:00
Quote Anchor link
Session lifetime instelling in je php.ini ff checken. Opnieuw installeren Xampp is beetje rigoreus...
 
Maarten PHP

Maarten PHP

13/05/2011 11:07:45
Quote Anchor link
Daniel O op 12/05/2011 23:28:00:
Session lifetime instelling in je php.ini ff checken. Opnieuw installeren Xampp is beetje rigoreus...


Server opnieuw opstarten.
Opnieuw installeren heeft geen nut
 
Robert Hamers

Robert Hamers

13/05/2011 19:56:09
Quote Anchor link
Oke.

Maar voordta ik dit las heb ik wamp geinstalleerd maar ook daar werkt het niet. Ik heb deze 2 scripts van een tutorial getest:

1.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 // this starts the session
 session_start();
 
  // makes an array
 $colors=array('red', 'yellow', 'blue');
 // adds it to our session
 $_SESSION['color']=$colors;
 $_SESSION['size']='small';
 $_SESSION['shape']='round';
 print "Done";

 ?>


2.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
 // this starts the session
 session_start();
 
 // echo variable from the session, we set this on our other page
 echo "Our color value is ".$_SESSION['color'];
 echo "Our size value is ".$_SESSION['size'];
 echo "Our shape value is ".$_SESSION['shape'];
 ?>


Script 2 geeft niks :-(

Hier het gedeelte SESSION uit php.ini van wamp. Sorry voor de lap tekst.


[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
;
; The path can be defined as:
;
; session.save_path = "N;/path"
;
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
;
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
;
; The file storage module creates files using mode 600 by default.
; You can change that by using
;
; session.save_path = "N;MODE;/path"
;
; where MODE is the octal representation of the mode. Note that this
; does not overwrite the process's umask.
; http://php.net/session.save-path
session.save_path = "c:/wamp/tmp"

; Whether to use cookies.
; http://php.net/session.use-cookies
session.use_cookies = 1

; http://php.net/session.cookie-secure
;session.cookie_secure =

; This option forces PHP to fetch and use a cookie for storing and maintaining
; the session id. We encourage this operation as it's very helpful in combatting
; session hijacking when not specifying and managing your own session id. It is
; not the end all be all of session hijacking defense, but it's a good start.
; http://php.net/session.use-only-cookies
session.use_only_cookies = 1

; Name of the session (used as cookie name).
; http://php.net/session.name
session.name = PHPSESSID

; Initialize session on request startup.
; http://php.net/session.auto-start
session.auto_start = 0

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
; http://php.net/session.cookie-lifetime
session.cookie_lifetime = 0

; The path for which the cookie is valid.
; http://php.net/session.cookie-path
session.cookie_path = /

; The domain for which the cookie is valid.
; http://php.net/session.cookie-domain
session.cookie_domain =

; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
; http://php.net/session.cookie-httponly
session.cookie_httponly =

; Handler used to serialize data. php is the standard serializer of PHP.
; http://php.net/session.serialize-handler
session.serialize_handler = php

; Defines the probability that the 'garbage collection' process is started
; on every session initialization. The probability is calculated by using
; gc_probability/gc_divisor. Where session.gc_probability is the numerator
; and gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request.
; Default Value: 1
; Development Value: 1
; Production Value: 1
; http://php.net/session.gc-probability
session.gc_probability = 1

; Defines the probability that the 'garbage collection' process is started on every
; session initialization. The probability is calculated by using the following equation:
; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
; session.gc_divisor is the denominator in the equation. Setting this value to 1
; when the session.gc_divisor value is 100 will give you approximately a 1% chance
; the gc will run on any give request. Increasing this value to 1000 will give you
; a 0.1% chance the gc will run on any give request. For high volume production servers,
; this is a more efficient approach.
; Default Value: 100
; Development Value: 1000
; Production Value: 1000
; http://php.net/session.gc-divisor
session.gc_divisor = 1000

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; http://php.net/session.gc-maxlifetime
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, even when register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning separately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled. This feature
; introduces some serious security problems if not handled correctly. It's
; recommended that you do not use this feature on production servers. But you
; should enable this on development servers and enable the warning as well. If you
; do not enable the feature on development servers, you won't be warned when it's
; used and debugging errors caused by this can be difficult to track down.
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/session.bug-compat-42
session.bug_compat_42 = On

; This setting controls whether or not you are warned by PHP when initializing a
; session value into the global space. session.bug_compat_42 must be enabled before
; these warnings can be issued by PHP. See the directive above for more information.
; Default Value: On
; Development Value: On
; Production Value: Off
; http://php.net/session.bug-compat-warn
session.bug_compat_warn = On

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
; http://php.net/session.referer-check
session.referer_check =

; How many bytes to read from the file.
; http://php.net/session.entropy-length
session.entropy_length = 0

; Specified here to create the session id.
; http://php.net/session.entropy-file
;session.entropy_file = /dev/urandom
session.entropy_file =

; http://php.net/session.entropy-length
;session.entropy_length = 16

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
; http://php.net/session.cache-limiter
session.cache_limiter = nocache

; Document expires after n minutes.
; http://php.net/session.cache-expire
session.cache_expire = 180

; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
; http://php.net/session.use-trans-sid
session.use_trans_sid = 0

; Select a hash function for use in generating session ids.
; Possible Values
; 0 (MD5 128 bits)
; 1 (SHA-1 160 bits)
; http://php.net/session.hash-function
session.hash_function = 0

; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
; Possible values:
; 4 (4 bits: 0-9, a-f)
; 5 (5 bits: 0-9, a-v)
; 6 (6 bits: 0-9, a-z, A-Z, "-", ",")
; Default Value: 4
; Development Value: 5
; Production Value: 5
; http://php.net/session.hash-bits-per-character
session.hash_bits_per_character = 5

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden <input> field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
; Default Value: "a=href,area=href,frame=src,form=,fieldset="
; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry"
; http://php.net/url-rewriter.tags
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
 
Robert Hamers

Robert Hamers

19/05/2011 22:51:26
Quote Anchor link
Niemand???
 
Dennis meijer

dennis meijer

19/05/2011 23:25:14
Quote Anchor link
Je moet een session natuurlijk eerst een waarde geven anders blijft die altijd leeg..

Als jij een brief op de post doet zet je er toch ook iets op? Als je dat niet doet krijgt de ontvanger een lege brief... Dat is wat je aan het doen bent...

je moet eerst script 1 openene en daarna doorlinken naar script 2... Dan doet die het wel;)

Want in script 1 geef je de session een waarde en in script 2 laat je de waarde zien..
 
PHP Scripter

PHP Scripter

20/05/2011 10:15:54
Quote Anchor link
Probeer het überhaupt eerst zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
session_start();

// Sessie aanmaken
$_SESSION["MyFirstSession"] = "Huppa, mijn eerste sessie";

// Sessie echoën
echo $_SESSION["MyFirstSession"];

?>
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.