Quantcast
Channel: انجمنهای مجید آنلاین
Viewing all articles
Browse latest Browse all 23756

آیا این کشف یک ایراد در طراحی الگوی کنترل منطق شرطی در php است؟!!!!

$
0
0
سلام به همگی دوستان متخصص

لطفا به این مورد دقت فرمایید

من در حال طراحی یک سبد خرید ساده با دیتابیس بودم
مشاهده کردم که بعد از تعریف سشن کوکی در بدنه شرط اول، بدنه Else نیر در هر حال اجرا میشود
یعنی وجود کوکی را دوباره چک میکند
این نشان میدهد که در هنگام خواندن else شرط دوباره چک میشود که این درست نیست.
در برنامه های دیگر مانند سی شارپ شرط فقط یکبار در هر اجرا چک میشود
به کد زیر دقت کنید
منتظر نظرات هستم

PHP Code:
 
 
$params=(count($_POST))?$_POST:$_GET;
 
	if (! empty ($params['buy'])){
 
 
	$buy=($params['buy']);
	buying($buy);
	}
 
	function buying($buy){
	echo $_COOKIE["TestCookie"];
	if(! isset($_COOKIE["TestCookie"]) && empty($_COOKIE["TestCookie"])){
 
	session_start();
    $bCustomerId=(strtotime(date('Y-m-d H:i:s'))*strtotime(date('Y-m-d H:i:s')))/strtotime(date('Y-m-d H:i:s')).session_id();
    $codeM=$bCustomerId;
	setcookie("TestCookie", $bCustomerId);
	$bCustomerId=$bCustomerId;
    $bPCode=$buy;
 
	$connect=new DataLayer();
	$connect->Connect();
	$link=$connect->link_con;
 
	$query="insert into db (bCustomerId,bPCode,bQuantity) values ('$bCustomerId','$bPCode',1)";
		mysql_query($query,$link)or die ("Couldnt add data to basket table".mysql_error());
		mysql_close($link);
 
	}
	else 
	{
	$bCustomerId=$_COOKIE["TestCookie"];
    $bPCode=$buy;
 
	$connect=new DataLayer();
	$connect->Connect();
	$link2=$connect->link_con;
 
	    $query2="insert into db (bCustomerId,bPCode,bQuantity) values ('$bCustomerId','$bPCode','2')";
		mysql_query($query2,$link2)or die ("Couldnt add data to basket table".mysql_error());
		mysql_close($link2);
 
 
 
		}


Viewing all articles
Browse latest Browse all 23756

Trending Articles