Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ตัวแปร SESSION ใช้ไปสักพักเหมือนมันไม่เก็บค่าอ่ะครับ



 

ตัวแปร SESSION ใช้ไปสักพักเหมือนมันไม่เก็บค่าอ่ะครับ

 



Topic : 125502



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์




Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document
<meta http-equiv=Content-Type content="text/html; charset=tis-620"></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>    
<script type="text/javascript">  
$(function(){        
	  
    $(".css_data_item").click(function(){  // เมื่อคลิก checkbox  ใดๆ  
        if($(this).prop("checked")==true){ // ตรวจสอบ property  การ ของ   
            var indexObj=$(this).index(".css_data_item"); //   
            $(".css_data_item").not(":eq("+indexObj+")").prop( "checked", false ); // ยกเลิกการคลิก รายการอื่น  
        }  
    });  

    $("#form_checkbox1").submit(function(){ // เมื่อมีการส่งข้อมูลฟอร์ม  
        if($(".css_data_item:checked").length==0){ // ถ้าไม่มีการเลือก checkbox ใดๆ เลย  
            alert("NO");  
            return false;     
        }  
    });  	
		  
});  
</script>
</head>

<body>

<form action="programmer2p1.php" method="post">
  <center><font size = "6"> เพิ่มใบเสนอราคา</font></center><br>
<p>วันที่</p>
<p>

  <select name='sD1' id='sD1'>
    <?
for($i=1;$i<=31;$i++){
	$i2=sprintf("%02d",$i); // ฟอร์แมตรูปแบบให้เป็น 00
	echo '<option value="'.$i2.'">'.$i2.'</option>';
 }?>
  </select>
  <select name='sM1' id='sM1'>
    <?

for($i=1;$i<=12;$i++){
	$i2=sprintf("%02d",$i);
	echo '<option value="'.$i2.'">'.$i2.'</option>';
 }?>
  </select>
  <select name='sY1' id='sY1'>
    <?
$xYear=date('Y'); // เก็บค่าปีปัจจุบันไว้ในตัวแปร
        echo '<option value="'.$xYear.'">'.$xYear.'</option>'; // ปีปัจจุบัน
	for($i=1;$i<=10;$i++){
		echo '<option value="'.($xYear-$i).'">'.($xYear-$i).'</option>';
 	}
?>
  </select>
</p>

<p>
เลขที่ใบเสนอราคา <input name="numinvoice" size=10 type="text" />
<br> 
<label for="CUSTOMER">ลูกค้า</label>
    <select name="CUSTOMER" id="CUSTOMER">
    <option value="">เลือกรายชื่อลูกค้า</option>
    <?
	include("wwwconnect.php");
	$sql="select* from CUSTOMER";
	$result=mysql_query($sql);
	$nrow=mysql_num_rows($result);
	$i=0;
	while($i<$nrow)
	{
		$row=mysql_fetch_array($result);
		$id=$row[C_ID];
		$name=$row[C_NAME];
		echo'<option value="'.$id.'">'.$name.'</option>';
         $i++;
	}
    ?>
    
  </select>
  <br>
   <label for="EMPLOYEE">พนักงาน</label>
    <select name="EMPLOYEE" id="EMPLOYEE" >
    <option value="">เลือกรายชื่อพนักงาน</option>
    <?
	include("wwwconnect.php");
	$sqlem="select* from EMPLOYEE";
	$resultem=mysql_query($sqlem);
	$nrowem=mysql_num_rows($resultem);
	$iem=0;
	while($iem<$nrowem)
	{
		$rowem=mysql_fetch_array($resultem);
		$idem=$rowem[E_ID];
		$nameem=$rowem[E_NAME];
		echo'<option value="'.$idem.'">'.$nameem.'</option>';
         $iem++;
	}
    ?>
    
  </select>
  </p>
<p>

<?
$sql2="SELECT * FROM `PRODUCT` GROUP BY P_CODE;";
$qsql2 = mysql_query($sql2)
?>
<table border="2" >
<tr>
<td width="17">ID   </td>
<td width="38">ชื่อสินค้า</td>
<td width="77">รายละเอียดสินค้า</td>
<td width="48">สี</td>
<td width="121">จำนวนสีที่ต้องการสกรีนเพิ่ม</td>
<td width="82">จำนวนที่ต้องการ</td>

</tr>
<?
while($result2=mysql_fetch_array($qsql2))
{
?>
<tr>
<form action="programmer2p1.php" method="post">
<td><? echo $result2[P_CODE]; ?></td>
<td><? echo $result2[P_NAME]; ?></td>
<td><? echo $result2[P_DETAIL]; ?></td>
<td style="width: 5px; word-break: break-all;"><input name="color" type="text" size="8"/></td>
<td style="width: 5px; word-break: break-all;"><input name="numcolor" type="text" size="8"/> </td>
<td style="td width="82" word-break: break-all;"><input name="txtProductID" type="hidden" value="<? echo $result2["P_CODE"];?>" />
<input name="txtQty" size="10" type="text" /><input name="add" type="submit" value="add"/></td>
</form>
</tr>
<? } 
?>
</table>
<p>&nbsp;</p>

<? $start=$_POST["add"];
if($start=="add")
{
ob_start();
session_start();
if(!isset($_SESSION["intLine"]))
{
	
	if($_POST["txtQty"]>=50&&isset($_POST["color"])&&isset($_POST["numcolor"]))
			 { $_SESSION["intLine"] = 0;	    
			   $_SESSION["strProductID"][0] = $_POST["txtProductID"];
		       $_SESSION["strQty"][0] = $_POST["txtQty"];
			   $_SESSION["strnumc"][0] = $_POST["numcolor"];
			   $_SESSION["strcolor"][0] = $_POST["color"];
			   $_SESSION["strprice"][0]=0;
			   $_SESSION["allp"] = 0;
			   $_SESSION["vatis"] = 0;
			 }
    else
	{  echo"กรุณากรอกข้อมูลให้ถูกต้อง";}
}
else
{
	if($_POST["txtQty"]>=50&&isset($_POST["color"])&&isset($_POST["numcolor"]))
	{
	$key = array_search($_POST["txtProductID"], $_SESSION["strProductID"]);
	if((string)$key != ""&&  $_SESSION["strnumc"][$key]==$_POST["numcolor"]&& $_SESSION["strcolor"][$key]==$_POST["color"])
	{
		 $_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + $_POST["txtQty"];		
	}
	else
	{
		 $_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		 $intNewLine = $_SESSION["intLine"];
		 $_SESSION["strProductID"][$intNewLine] = $_POST["txtProductID"];
		 $_SESSION["strQty"][$intNewLine] = $_POST["txtQty"];
		  $_SESSION["strnumc"][$intNewLine] = $_POST["numcolor"];
		$_SESSION["strcolor"][$intNewLine] = $_POST["color"];
		$_SESSION["strprice"][$intNewLine] = 0;
	}
	}
}
}
if(isset($_SESSION["intLine"]))
{
	echo "รายการสินค้าที่สั่ง";
	
	?>
    <br>
    <table  border='2'>
<tr>
<td>ID   </td>
<td>สี</td>
<td>จำนวนสีที่ต้องการสกรีนเพิ่ม</td>
<td>จำนวนที่ต้องการ</td>
<td>ราคา</td>
</tr>
<?	$i=0;
$allp=0;
	$row= $_SESSION["intLine"];
	while($i<=$row)
	{
		?>
		<tr>
        <td><? echo  $_SESSION["strProductID"][$i] ;?></td>
        <td><? echo  $_SESSION["strcolor"][$i] ;?></td>
        <td><? echo  $_SESSION["strnumc"][$i] ;?></td>
		<td><? echo  $_SESSION["strQty"][$i] ;?></td>
        <td><?
		$idpro=$_SESSION["strProductID"][$i];
		 $sqlp = "select* from PROMOTION where PRODUCT_P_CODE='$idpro'";
   $qsqlp = mysql_query($sqlp);
   $skin=$_SESSION["strnumc"][$i];
    $beqty;
	$beskin;
	$benoskin;
	$price=0;
	$num=$_SESSION["strQty"][$i];
	   while($resultp=mysql_fetch_array($qsqlp))
{
	//echo "$resultp[PR_QTY] <br>";
	if($resultp[PR_QTY]>(int)$num)
	{
	//	echo"beqty is $beqty <br>";
		if($skin!=0)
		{
		//	echo "tt is $result2[PR_PRI] <br>";
			$price=(($beqty+(($skin)*$beskin))*$num);
			break;
      
		} 
		if($skin==0)
		{
			$price=(($beqty+$benoskin)*$num);	
			break;
		}  	
		}
		$beqty=$resultp[PR_PRI];
		 $beskin=$resultp[PR_SKIN];
		 $benoskin=$resultp[PR_NOSKIN];
}
     $allp+=$price;
   $_SESSION["strprice"][$i]=$price;
  echo  $_SESSION["strprice"][$i];
        ?></td>
     
		</tr>
		
	<? 
  $i++;
    }
?>
</table>
<?
$vat=($allp*0.07);
$_SESSION["allp"] = $allp;
$_SESSION["vatis"]=$vat;
$VaP=$allp+$vat;
echo  "ราคารวม $allp <br>" ;
echo  "ราคารวม vat $VaP <br> " ;
echo  $_SESSION["intLine"];
}

?>

เลือกประเภทการชำระเงิน.<br>
<input type="checkbox" name="cradit" value="Red" class="css_data_item">เครดิต 30 วัน <br>
<input type="checkbox" name="down" value="Blue" class="css_data_item">มัดจำ <input name="downv" size="5" type="text" /> %<br>

<input name="btnSubmit" type="submit" value="Submit">

<input name="ERER"  type="submit"  value="clear"/>
</form>
<?
$cc=$_POST["ERER"];
$suball=$_POST["btnSubmit"];
if($cc=="clear")
{ 
session_start();
session_destroy();
 echo $cc;
}
if($suball=="Submit")
{
	echo"<br> vat is $vat <br>";
	$invoidid=$_POST["numinvoice"];
	$inem=$_POST["EMPLOYEE"];
	$incus= $_POST["CUSTOMER"];
	$cra=$_POST["cradit"];
	$dow=$_POST["down"];
if($invoidid!="")
{
	if($cra=="Red")
	{
		$vcra=30;
		$vdown=0;
	}
	if($dow=="Blue")
	{
		$vcra=0;
		$vdown=$_POST["downv"];
	}
	ob_start();
     session_start();
	$sqlsuball="insert into INVOICE (IN_ID,CUSTOMER_C_ID,EMPLOYEE_E_ID,IN_PAYMENT,IN_DOWN,IN_CREDIT,IN_TOTALPRICE)values('$invoidid','$incus','$inem','".$_SESSION["vatis"]."','$vcra','$vdown','".$_SESSION["allp"]."')";
	mysql_query($sqlsuball);
	
	$jj=0;
	$k=$_SESSION["intLine"];
	echo "k is $k";
	while($jj<=(int)$_SESSION["intLine"])
	{
		$sqlline="insert into LINE (L_P_CODE,L_INVOICE,L_AMOUNT,L_NCOLOR,L_COL)values('".$_SESSION["strProductID"][$jj]."','$invoidid','".$_SESSION["strprice"][$jj]."','".$_SESSION["strnumc"][$jj]."','".$_SESSION["strcolor"][$jj]."')";
		mysql_query($sqlline);
		$jj++;
		
	}
	echo "ดำเนินการเสร็จสิ้น";
	session_destroy();
}
else
echo "กรุณากรอกข้อมูลให้ครบถ้วน";
}



?>

</p>



</body>
</html>


ตามโค้ดอ่ะครับมีปัญหาตรงตัวแปร session ที่เป็น array บางครั้งมันเหมือน seesison array ไม่เก็บค่า บางครั้งก็ปกติดี
คือผมจะหัดทำเว็บประมาณนี้อ่ะครับ https://www.thaicreate.com/free-web-script/php-shopping-cart-session-array.html
ขอบคุณครับ



Tag : PHP, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-11-25 04:07:11 By : tosukoi View : 1630 Reply : 2
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


อย่าลืมคำสั่ง session_start();
ต้องสั่งใช้งานก่อน การส่งข้อมูลทุกอย่างไปยัง client






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-25 06:35:34 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ถ้าไม่ไปสั่งยกเลิก หรือทำลายมัน แล้วทำถูกวิธี กำหนดค่า ใส่ค่าลงไปให้มัน ไม่น่าจะหายครับ
ลืมอะไรตรงขั้นตอนไหนหรือเปล่า

แล้วเขียน <?php เต็มๆไปเลยครับสั้นๆ อย่าไปใช้ <?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-25 08:58:51 By : apisitp
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ตัวแปร SESSION ใช้ไปสักพักเหมือนมันไม่เก็บค่าอ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่