у меня сайт, с обновлением контента через $_GET['id'] (то есть состоит из 1 страницы)
проблема такого плана ...создал массив для хранения данных ... но он при каждой перезагрузке контента уничтожается ... вот код:
if (isset($_GET['kol'])&&$_GET['kol']>0)
{
$kol_zakaz[1]=1;
$z=sizeof($kol_zakaz);
echo 'до загрузки z='.$z;
$z=$z+1;
$bol=1;
//array_push($kol_zakaz,$_GET['kol']);
$kol_zakaz[$z]=$_GET['kol'];
$id_zakaz[$z]=$_GET['id_other'];
$nam_zakaz[$z]=$_GET['nam'];
$table_zakaz[$z]=$_GET['table'];
if($kol_zakaz[$z]>=$_GET['opt_price'])
{$price_zakaz[$z]=$_GET['opt_price']* $kol_zakaz[$z];}else{$price_zakaz[$z]=$_GET['price']* $kol_zakaz[$z];};
$mas_zakaz[$z]=$kol_zakaz[$z]*$_GET['mas'];
echo'ведётся запись'.sizeof($kol_zakaz);
//}
for ($j = 1; $j <= $z; $j++)
{
//echo '<Br>j='.$j.'<br>';
echo 'id='.$id_zakaz[$j].' name='.$nam_zakaz[$j].' table='.$table_zakaz[$j].' kol='.$kol_zakaz[$j].'<br>';
};
};
$_GET[*]- все предают информацию исправно
echo 'до загрузки z='.$z; показывает как и положено 1 ,echo'ведётся запись'.sizeof($kol_zakaz); показывает как положено 2 , но при повторном запуске этого кода все элементы массива пропадают....
Подскажите в чем может быть ошибка?
Спустя 46 минут, 11 секунд (17.05.2010 - 10:28) Basili4 написал(а):
При обовлении страницы все переменные уничтожаются Для того чтобы их сохранить и передавать между страницами используется $_SESSION
Ваша проблема от неумения/нежелания читать книжки.
Ваша проблема от неумения/нежелания читать книжки.
Спустя 1 час, 7 минут, 31 секунда (17.05.2010 - 11:36) Loko написал(а):
Цитата (Basili4 @ 17.05.2010 - 07:28) |
Ваша проблема от неумения/нежелания читать книжки. |
ну, поэтому и пишу в раздел для новичков....
и так сделал с помощью session.... Выводит сообщение: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by в строке с session_start();... при этом print_r($_SESSION); выводит всё как нужно ...но при обновлении страницы массив опять пустой....
session_start();
echo'<h3>Обработка заказа</h3>';
echo' <h4>Добавление в корзину выполнено </h4>';
$bol=1;
$kol_zakaz[1]=0;
$id_zakaz[1]=0;
$nam_zakaz[1]=0;
$table_zakaz[1]=0;
$price_zakaz[1]=0;
$mas_zakaz[1]=0;
echo'ctcc';
$kol_zakaz= $_SESSION['kol_zakaz'];
$id_zakaz= $_SESSION['id_zakaz'];
$nam_zakaz= $_SESSION['nam_zakaz'];
$table_zakaz= $_SESSION['table_zakaz'];
$price_zakaz= $_SESSION['price_zakaz'];
$mas_zakaz= $_SESSION['mas_zakaz'];
$z=sizeof($kol_zakaz);
echo '<br> инициализация z='.$z.'<br>';
for ($j = 1; $j <= $z; $j++)
{ if ($id_zakaz[$j] == $_GET['id_other'] && $table_zakaz[$j] == $_GET['table'])
{
$kol_zakaz[$j]=$_GET['kol'];
if($kol_zakaz[$j]>=$_GET['opt_price'])
{$price_zakaz[$j]=$_GET['opt_price']* $kol_zakaz[$j];}else{$price_zakaz[$j]=$_GET['price']* $kol_zakaz[$j][6];};
$zakaz[$j]=$zakaz[$j]*$_GET['mas'];
echo '<br>чтение';
$bol=0;
}
else
{
echo 'запись';
echo'<br>запись в цикле'.$z.'<br>';
// array_push($kol_zakaz,$_GET['kol']);
// array_push($nam_zakaz,$_GET['nam']);
// array_push($kol_zakaz,$_GET['id_other']);
// array_push($table_zakaz,$_GET['table']) ;
};
};
if($bol==1){
$z=$z+1;
$bol=1;
//array_push($kol_zakaz,$_GET['kol']);
$kol_zakaz[$z]=$_GET['kol'];
$id_zakaz[$z]=$_GET['id_other'];
$nam_zakaz[$z]=$_GET['nam'];
$table_zakaz[$z]=$_GET['table'];
if($kol_zakaz[$z]>=$_GET['opt_price'])
{$price_zakaz[$z]=$_GET['opt_price']* $kol_zakaz[$z];}else{$price_zakaz[$z]=$_GET['price']* $kol_zakaz[$z];};
$mas_zakaz[$z]=$kol_zakaz[$z]*$_GET['mas'];
echo'ведётся запись'.sizeof($kol_zakaz);
}
for ($j = 1; $j <= $z; $j++)
{
//echo '<Br>j='.$j.'<br>';
echo 'id='.$id_zakaz[$j].' name='.$nam_zakaz[$j].' table='.$table_zakaz[$j].' kol='.$kol_zakaz[$j].'<br>';
};
$_SESSION['kol_zakaz']=$kol_zakaz;
$_SESSION['id_zakaz']=$id_zakaz;
$_SESSION['nam_zakaz']=$nam_zakaz;
$_SESSION['table_zakaz']=$table_zakaz;
$_SESSION['price_zakaz']=$price_zakaz;
$_SESSION['mas_zakaz']=$mas_zakaz;
print_r($_SESSION);
echo '<br><a href="index2.php?id=96">вернутся назад</a><br><a href="index2.php?id='.$number.'">оформить закаказ</a>';
Спустя 7 минут, 20 секунд (17.05.2010 - 11:43) Basili4 написал(а):
<?
session_start(); - эта функция должна вызыватся до отправки заголовков браузеру желательно самой первой.
session_start(); - эта функция должна вызыватся до отправки заголовков браузеру желательно самой первой.
Спустя 9 минут, 19 секунд (17.05.2010 - 11:52) Loko написал(а):
вроде заработало .... большое спасибо
Спустя 3 минуты, 30 секунд (17.05.2010 - 11:56) Basili4 написал(а):
Не ленись. Книжки читай.
Спустя 2 часа, 33 минуты (17.05.2010 - 14:29) gagger написал(а):
Не обязательно книжки...можно и в инете, куча инфы. Правда далеко не все, многое только с опытом приходит.