Pagina 1 din 1

Variable Sesiune

Scris: Sâm Dec 05, 2009 6:51 pm
de MirelaH
Doresc sa fac o rezervare a unei camere dintr-un hotel.Codurile camerelor disponibile sunt stocate in $_SESSION['rooms']
Afisarea o fac

<?php foreach ($_SESSION['rooms'] as $room): ?>
<tr>
<td><?php htmlout($room['rcod']); ?></td>
<td><?php htmlout($room['rnume']); ?></td>
<td> <form action="setupcart.php" method="post">
<input type="hidden" name="rcod" value="<?php htmlout($room['rcod']); >"/>
<?php echo '<input type="submit" name="action" value="'.$room['mod'].'"/>' ?>
</form>
</td>
</tr>
<?php endforeach;?>

Afisarea este corecta, dar nu reusesc sa pastrez continutul lui $_SESSION['rooms'].Nu ar trebui sa ramana valabil in setupcart.php?


if (!isset($_SESSION['rooms'])) echo 'nu mai este $_SESSION[rooms]';
if (!isset($_SESSION['cart']) ) $_SESSION['cart'] = array();

//Apasare buton REZERVA pentru una din camere
if (isset($_POST['action']) and $_POST['action'] == 'Rezerva')
{
$_SESSION['cart'][] = $_POST['rcod'];
foreach($_SESSION['rooms'] as $k => $rooms)
{
if (strcmp($rooms['rcod'],$_POST['rcod'])==0) $_SESSION['rooms'][$k]['mod']='Anuleaza';
}
}

Obtin :

nu mai este $_SESSION[rooms]
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\stildespotiko\setupcart.php on line 9

Multumesc,
Mirela

Scris: Sâm Dec 05, 2009 6:57 pm
de exael

Scris: Dum Dec 06, 2009 9:36 am
de MirelaH

Scris: Dum Dec 06, 2009 10:34 am
de alexcpp

Scris: Dum Dec 06, 2009 1:10 pm
de MirelaH
Iti multumesc frumos.Mi-a fost de folos sfatul tau. In fisierul setupcart.php nu aveam session_start(). Credeam ca e suficient sa fie o data in rezervari.php.

Am si alta intrebare.
Pentru a face rezervarea am mai multi pasi. In pasul 1 aleg perioada, apoi selectez camerele disponibile,etc.
Acesti pasi i-am organizat sub forma de taburi realizate astfel:


<div id="tabs">
<ul>
<li><a href="#tabs-1" >Pas 1 - alegere perioada</a></li>
<li><a href="#tabs-2" >Pas 2 - alegere camera </a></li>
<li><a href="#tabs-3" >Pas 3 - date client </a></li>
</ul>
<div id="tabs-1" name="tabs-1">
<h2> Alegeti perioada </h2>
<form action="alegdata.php" method="post">
<?php
if (isset($_SESSION['datai'])) $datai=$_SESSION['datai'];
if (isset($_SESSION['dataf'])) $dataf=$_SESSION['dataf'];
?>
<p> Data de inceput: <input type="text" id="datepickeri" name="datai" value="<?php htmlout($datai); ?>"></p>
<p> Data de sfarsit: <input type="text" id="datepickerf" name="dataf" value="<?php htmlout($dataf); ?>"></p>
<input type="submit" name="pas2" value="Pasul 2 - Confirmare rezervare"/>
</form>
</div>
<div id="tabs-2">
…..

Nu am reusit sa fac validarile pentru fiecare pas decat introducand butonul de tip submit ‘pas2’, de ex ( as fi dorit ca validarea sa se faca apasind numele tabului).
Chiar si asa, dupa efectuarea validarilor din fisierul .php specificat in action, mi se activeaza intotdeauna primul tab, cel cu datele. Eu as dori sa-mi ramana treaca automat la pasul urmator.

Mirela

Scris: Dum Dec 06, 2009 4:34 pm
de alexcpp
Asta o faci cu Ajax.

Scris: Dum Dec 06, 2009 6:36 pm
de MirelaH
Ce fac cu Ajax : incarcarea pagini pe tab-ul pe care il doresc sau incarcarea paginii fara sa apas butonul 'pas2' ( cu click pe tab, adica )?

Scris: Dum Dec 06, 2009 8:47 pm
de dechim

Scris: Lun Dec 07, 2009 6:33 am
de MirelaH