Witam..mam problem z sesjami. Mianowicie sprawa wyglada tak: chialem wprowadzic do projektu captch'e, korzystam z klasy gotowej do tego, i wystapuje problem ze zmianna sesyjna, w ktorej przechowyje wygenerowany kod przez klase. A wyglada to u mnie tak: tak sie dostaje do roznych funkcji. modulow:
modules.php?module_name=shop&action=captcha - powoduje wyswietlenie formularza z captcha a tak wyglada szablon smarty:
<table width="100%" border="0" cellpadding="0" cellspacing="20">
<tr>
<td valign="top">
<p class="tytul"><strong>Moje zamówienie</strong></p>
<br />
<p style="color:red; font-weight: bold;">{$check}</p>
<form method="post" name="cc" id="cc" action="modules.php?module_name=shop&action=cc">
<img src="{$captcha_img}" alt="CAPTCHA" />
<br />
<input type="text" name="captchastring" size="30" /> (ważna wielko¶ć liter!)
<br />
<input type="submit" value="SprawdĽ" />
</form>
</td>
</tr>
</table>
gdzie $captcha_img to jest odwoloanie sie do pliku captcha.php?.png a ten plik wyglada nastrepujaca:
require ("../../config.php");
require ("../db_class.php");
require ("../sessions_class.php");
//require ("classes/main_window.php");
//ini_set('arg_separator.input', '&');
//ini_set('arg_separator.output', '&');
//$time_start = getmicrotime();
//$DB=new DB;
$ses_class = new session();
/* Change the save_handler to use the class functions */
session_set_save_handler (array(&$ses_class, '_open'),
array(&$ses_class, '_close'),
array(&$ses_class, '_read'),
array(&$ses_class, '_write'),
array(&$ses_class, '_destroy'),
array(&$ses_class, '_gc'));
/* Start the session */
session_start();
//Load the Class
require('./class/captcha.class.php');
//Create a CAPTCHA
$captcha = new captcha();
//Store the String in a session
$_SESSION['CAPTCHAString'] = $captcha->getCaptchaString();
captcha sie generuje poprawnie.
w sesji przechowuje rozne zmienne (w bazie danych za pomoca odpowiednij klasy), tylko ze po wywolaniu tego skryptu zmienne CAPTCHAString jest niewidoczna. Jak w tym samym katalogu co mam plik captcha.php wywolam testowy skrypt ktory mi wyswietla tablce $_SESSION to wyswietlane jest tylko CAPTHAString a inne zmienne nie...sprawdzalem session_id i jest identyczne!
Siedze juz nad tym 2 dni i nie moge znaleŹĆ rozwiazania...lokalanie mi chodzi natomiast po wrzuceniu na serwer juz nie...dodam ze pozostale rzeczy chodza (to jest sklep) opierajace sie na sesjach. Moze ma ktos jakis pomysl? w ostatecznosci mysle o zapisaywaniu tej zmiennej gdzies w bazie ale w ostatecznosci przeciez teoretycznie to powinno dzialac....:( </php>