PDA

View Full Version : مشکل بسیار کوچک با سشن ها؟؟



boysilent
جمعه 19 خرداد 1391, 13:09 عصر
من برای اد کردن از این روش استفاده می کنم؟




<?php
$action=$_GET['action'];
$id=$_GET['id'];
if(isset($_GET[id]))
{
echo $id;
switch($action)

{
case "add":
$_SESSION['cart'][$id]++;
break;

}


البته این سشن رو هیچ جای دیگه ای تعریف نکردم اشکالی که نداره؟ هم اینجا تعریف کردم هم استفاده ازش

ببینید من از این دستور برای نمایش سشن ها استفاده میکنم ؟؟البته نشون نمیده یجا بک کنم اشتباست؟



<?php if (isset($_SESSION['cart']))
{
foreach($_SESSION['cart'] as $id=>$name)
{
include("config.php");
$query=mysql_query("SELECT * FROM `foroshgah`.`insert` WHERE id=$id");
$resault=mysql_fetch_array($query);

echo $resault['name'];
echo "<br />";
}

}

?>

djsaeedkhan
جمعه 19 خرداد 1391, 14:02 عصر
سلام
باید خط اول صفحت session_start کنی. کردی این کارو؟
البته تو هر صفحه ای که با سشن کار می کنی باید استارتش کنی

boysilent
جمعه 19 خرداد 1391, 14:18 عصر
اره
مشکل از ائنجا نیست که :d

djsaeedkhan
جمعه 19 خرداد 1391, 14:25 عصر
خوب خطایی هم نمیده
فقط کار نمی کنه . باید بذاری تا کار کنه

boysilent
جمعه 19 خرداد 1391, 14:44 عصر
منم همینو میگم دیگهه //از قبل وجود داشت؟؟؟شما بجز اون مشکل دیگه ای نمیبینیئ؟؟
اینم فایل ها

lady64
جمعه 19 خرداد 1391, 14:57 عصر
تو صفحه ی kharid.php ، کجا session رو ست کردید ؟ فقط اینو دارید :

$_SESSION['cart'][$id]++;
این چه مقداری رو تو session میزاره ؟

boysilent
جمعه 19 خرداد 1391, 15:02 عصر
ست که نمیدونم؟ولی
مقدار ایدی اون فیلد رو نگه میدارهههه
؟من تمامی قسمت های پروژمو درست کردم فقط همین مونده اگه کمک کنید ممنون میشم //

lady64
جمعه 19 خرداد 1391, 15:12 عصر
این طور تغییر بدید


$_SESSION['cart']=$id;

بعد تو صفحه ی index از Session یک echo بگیرید ببینید درست شد یا نه ؟

boysilent
جمعه 19 خرداد 1391, 15:19 عصر
اقا الان همش رو نشون میده //یه سیخکاریش کردم نشون داد//از کوئری بود؟؟؟

حالا برای حذف مشکل دارم که میخوام ببینمچطوری میشه این فایل رو فرستاد؟؟

echo "<a href="kharid.pho?action=remove&id=$resault['id']">حذف</a>";
و دوم اینکه بعد از اینکه نشون داده شد چطوری باید اونارو در دیتابیس ذخیره کنم؟؟؟

lady64
جمعه 19 خرداد 1391, 15:35 عصر
نمیدونم چرا همه تو این تالار به من میگن آقا :لبخند:
اگه تغییری که گفتم رو اعمال کردید و همه رو نشون داد که از کوئری نبود ، از درست ست نشدن سشن بود .
این کدی که گذاشتید فایلی رو نمیفرسته . آیدی اون سطر مورد نظر رو میگیره که شما باید یک کوئری به این شکل برای حذف بنویسید :


$query="delete from `tb` where ID='$id'";



و این ذخیره کردن هم نمیخواد

boysilent
جمعه 19 خرداد 1391, 15:45 عصر
ممنون//منظور من بچه ها اینه که الان دیگه هیچ مشکلی نیست فقط میخوام تمامی اطلاعات رو از سشن به پایگاه بفرسم کسی میتونه یک مشاوره بده

MMSHFE
جمعه 19 خرداد 1391, 17:26 عصر
خوب کار سختی نیست. کافیه یک حلقه foreach بگذارین و توی حلقه به ازای تمامی مقادیر آرایه cart که توی سشن ساختین، کوئری INSERT INTO رو اجرا کنید.

boysilent
جمعه 19 خرداد 1391, 17:40 عصر
خوب کار سختی نیست. کافیه یک حلقه foreach بگذارین و توی حلقه به ازای تمامی مقادیر آرایه cart که توی سشن ساختین، کوئری INSERT INTO رو اجرا کنید.

lمن هم تا به این قسمت رسیدم ولی بقیش رو نمیدونم چکا کنم؟؟؟
$count=count($_SESSION['cart']);
if(isset($_POST[btnsabt]) && $_SESSION['cart']!="")
{
foreach($_SESSION['cart'] as $id=>$name)
while($count)
$resault=mysql_query("INSERT INTO `foroshgah`.`kharidha` (`name`,`gheimat`,`tedad`,`tozih`)"."values()");

}

MMSHFE
جمعه 19 خرداد 1391, 18:04 عصر
ببینید، اگه ناراحت نمیشین باید بگم این شکل تعریف سبد خرید شما اصلاً اصولی نیست. اول از همه بگین فیلدهای تعداد و توضیح و... قراره چطوری پر بشن؟ توضیح منظورتون توضیحات محصوله یا نه؟ من اینطور فرض کردم که آرایه cart شما حاوی محصولات سبد خرید هست که اندیس هر خونه از این آرایه، id اون محصول توی جدول products هست و مقدارش هم تعداد سفارش داده شده از اون محصوله و بقیه اطلاعات (نام و قیمت و توضیح) توی جدول products هست. با این فرضیات باید کد زیر رو بنویسید:


if(isset($_POST['btnsabt'], $_SESSION['cart']) && is_array($_SESSION['cart']) {
foreach($_SESSION['cart'] as $id => $tedad) {
$info = mysql_query("SELECT `name` FROM `products` WHERE (`id`='{$id}')");
if($info && mysql_num_rows($info) > 0) {
$info = mysql_fetch_assoc($info);
$name = $info['name'];
$gheimat = $info['gheimat'];
$tozih = $info['tozih'];
$resault = mysql_query("INSERT INTO `foroshgah`.`kharidha` (`name`,`gheimat`,`tedad`,`tozih`) VALUES ('{$name}','{$gheimat}','{$tedad}','{$tozih}')");
}
}
}