Pomoc!
Mam problem z zapaśnictwem AJAX, aby dla mnie zadziałała. Mam podzieloną na strony galerię z polami wyboru pod każdym obrazem i muszę przechowywać wartości pól wyboru w zmiennych sesji, jeśli użytkownik porusza się między stronami, więc kiedy przesyła formularz w dowolnym momencie, będzie zawierał wszystkie sprawdzone wartości na wszystkich stronach.
Używam tego kodu jQuery:
$(document).ready(function() {
$(".gal-nav").click(function() {
$.post("form-data-holder.php", $("#gallery-form").serialize());
});
});
i plik form-data-holder.php mówi tak:
<?php
$_SESSION['saved'] = "true";
foreach ($_POST as $key=>$value) {
if ($key !== "submit") {
$value = htmlentities(stripslashes(strip_tags($value)));
$_SESSION[$key] = $value;
}
}
?>
Mam dwie kwestie -
1) Jak mogę uzyskać wartości pól wyboru z funkcji serialize()? Myślę, że jest jeszcze coś, co mam do czynienia z czymś w rodzaju value [], aby wydobyć tę tablicę, a następnie przypuszczam, że przechowuję każdą z nich jako oddzielną zmienną sesji - chyba że mogę przechowywać tablicę jako zmienną $ _SESSION?
2) Zanim nawet zadzwonię z tym wszystkim, dodałem linię $ _SESSION ['saved'] = "true"; do skryptu php, a następnie echo klawiszy i wartości $ _SESSION na mojej stronie galerii, aby sprawdzić, czy żądanie AJAX działa. To nie jest. Ta $ _SESSION ['saved'] nie jest dodawana do listy echo zmiennych $ _SESSION po powrocie na stronę.
Każda pomoc zostanie bardzo doceniona !!
Niestety, sesja została już rozpoczęta przez fakt, że użytkownik musi być zalogowany, aby w ogóle zobaczyć galerię. – rhodesjason
Tak, ale kiedy wykonujesz wywołanie ajax, ładuje się nową stronę php, zaczynając od nowa, więc musisz ją tam wywołać. – jeroen
Hmm OK Dodałem Php session_start(); ?> na górze pliku form-data-holder.php - bez zmian. Czy muszę jakoś powiązać tę sesję z inną sesją? – rhodesjason