• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نحوه قرار دادن id محصولات انتخاب شده در سشن
#1
سلام . وقت بخیر. سوالم در مورد سبد خرید هست . باور کنید جستجو کردم و دیدم که اکثرا گفته شده که باید مجموعه خریدها در مرحله ی اول ، در سشن قرار بگیره .
من یک لیست محصولات دارم ، کاربر وقتی گزینه ی انتخاب رو کلیک میکنه به این صفحه میاد تا id های محصولات در سشن ذخیره بشه.اما وقتی از سشن که بصورت آرایه تعریف شده خروجی میگیرم ، انگار آخرین محصول رو فقط ذخیره کرده . میشه اشکال کدم رو بگید.
این کد صفحه ای هست که کاربر با کلیک گزینه ی انتخاب به این صفحه میاد:
کد پی‌اچ‌پی:
<?php
$id_add
=$_GET['id_product'];
$_SESSION['basket'] = array();
$_SESSION['basket'][] = $id_add;
foreach(
$_SESSION['basket'] as $item) {
    echo 
'<p>'.$item.'</p>';
}

?>
خیلی ممنونم.
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#2
سلام
شما ارایه basket رو داری خالی می کنی بعد یه مقدار بهش میدی کدت رو اینطور بنویسی فکر می کنم حله
کد پی‌اچ‌پی:
<?php
$id_add
=$_GET['id_product'];
if( !isset(
$_SESSION['basket'])  ){ 
    
$_SESSION['basket'] = array();
}
$_SESSION['basket'][] = $id_add;
foreach(
$_SESSION['basket'] as $item) {
    echo 
'<p>'.$item.'</p>';
}
?>
  پاسخ
تشکر شده توسط : Reza oia pary_daryayi
#3
ممنونم . امتحان کردم ولی هیچی چاپ نمیکنه در صورتی که id_product ها دریافت میشن.
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#4
session_start رو قبلش میزنی ؟
  پاسخ
تشکر شده توسط :
#5
بله گذاشتم.
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#6
این قسمت از کد مشکلی نداره. (تست کردم)
مطمئنآ مشکل از یه قسمت دیگست.
  پاسخ
تشکر شده توسط : pary_daryayi
#7
از یک روش دیگه استفاده کردم ، تا حدودی به جواب رسیدم . لیست محصولات نمایش داده میشه و کاربر با انتخاب checkbox محصول رو انتخاب میکنه . اسم checkbox هم sabad[] هست .البته این کدها رو از بین کدهام cut کردم گذاشتم که شلوغ نشه . به خاطر همین بعضی syntax ها ظاهرا به نظر میرسه که رعایت نشده ....
کد پی‌اچ‌پی:
$_SESSION['ids']=array();
$_SESSION['ids']=$_POST['sabad'];
foreach(
$_SESSION['ids'] as $id)
{
//show details
$qry="select * from `product` where id_product=$id";
            
$res=mysql_query($qry);
            
$is=mysql_num_rows($res);
$i=1;
while (
$row mysql_fetch_array($res))
 {
<?
php echo $row['mark']; ?>
<?php  
echo $row['price'];$sum+=$row['price'];?>
<a href="select_product?del=1 & idpr=<?php echo $id;?>">delete</a>
$i++;
}

بخشی از کدم اینه که تا این جا مشخصات محصولات به درستی نمایش داده میشه . یک گزینه ی delete گذاشتم که کاربر اگر منصرف شد محصولی رو حذف کنه . اما چطوری باید بگم سشنی رو حذف کن که مقدارش برابر این آیدی هست .
این کد زیر میدونم کاملا غلطه و برای خودم کمی خنده آور . فقط برای اینکه منظورم رو برسونم ، به زبان برنامه نویسی نوشتم تا بدونید منظورم چیه و چی میخوام:
کد پی‌اچ‌پی:
if($_GET['del']==1)
{
$idpr=$_GET['idpr'];
if(
$_SESSION['ids']==$idpr)
unset(
$_SESSION['?'])


ممنون که وقت میزارید ... اونم تو این زمونه ی کم وقتی ....
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#8
نقل قول:باور کنید جستجو کردم و دیدم که اکثرا گفته شده که باید مجموعه خریدها در مرحله ی اول ، در سشن قرار بگیره .

من خودم با این روش مخالفم. محصولات پس از انتخاب در هر مرحله ای، چه ثبت شده یا نشده(توسط کاربر) بهتره داخل دیتابیس ذخیره شه و اطلاعات رو از اونجا بخونه.

نظر بچه ها چیه؟
هر چیزی که در جستن آنی آنی...
غایب
  پاسخ
تشکر شده توسط : pary_daryayi
#9
من این تاپیک رو تو همین انجمن خونده بودم که گفته شده بود از سشن استفاده بشه .
http://forum.iranphp.org/Thread-%D8%B3%D...B%8C%D8%AF
به خاطر امنیت میگید ؟ خیلی جاها که خوندم ، پیشنهادشون سشن بود . فکر میکردم بهترین راه رو انتخاب کردم Blush.

نقل قول:من خودم با این روش مخالفم. محصولات پس از انتخاب در هر مرحله ای، چه ثبت شده یا نشده(توسط کاربر) بهتره داخل دیتابیس ذخیره شه و اطلاعات رو از اونجا بخونه.
یه سوال ؟ ( البته سوال مربوط به حذف سشن محصول هنوز سر جاشه )
در روشی که میگید ( استفاده از پایگاه )تو مرحله ی اول که سبد خرید برای مشتری ایجاد میشه ، محصولات انتخابی رو تو چه جدولی ذخیره میکنید ؟ اگر تو جدول محصولات خریداری شده ذخیره میکنید ، پس باید حتما ابتدا مشتری login کرده باشه ، که معلوم بشه این خرید برای این مشتری ثبت میشه . درسته ؟ این کار رو انجام میدید ؟
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#10
سوالم رو بهتر مطرح کنم .
یک session دارم که بصورت آرایه مثلا 10 مقدار رو در خودش نگه میداره و اسم session هم ids هست . حالا میخوام یکی از مقادیر داخل session که مقدارش مثلا 12 هست رو حذف کنم . کد نویسی این رو نمیدونم . ممنون میشم راهنمایی کنید . تو همین موندم و اصلا کارم پیش نمیره .
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان