<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Php LifeStyle :My Php and My LifeStyle &#187; variable</title>
	<atom:link href="http://www.phplifestyle.com/tag/variable/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phplifestyle.com</link>
	<description>PHP Security and Optimization</description>
	<lastBuildDate>Thu, 01 Dec 2011 17:18:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ตัวแปรแบบ dynamic (Dynamic Variables)</title>
		<link>http://www.phplifestyle.com/70/%e0%b8%95%e0%b8%b1%e0%b8%a7%e0%b9%81%e0%b8%9b%e0%b8%a3%e0%b9%81%e0%b8%9a%e0%b8%9a-dynamic-dynamic-variables/</link>
		<comments>http://www.phplifestyle.com/70/%e0%b8%95%e0%b8%b1%e0%b8%a7%e0%b9%81%e0%b8%9b%e0%b8%a3%e0%b9%81%e0%b8%9a%e0%b8%9a-dynamic-dynamic-variables/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 19:13:40 +0000</pubDate>
		<dc:creator>tumaji</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[off]]></category>
		<category><![CDATA[register_globals]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[variable]]></category>

		<guid isPermaLink="false">http://www.phplifestyle.com/?p=70</guid>
		<description><![CDATA[����������� เนื่องจากผมได้เจอคำถามจากเพื่อนสมาชิกใน board thaiseoboard.com ตั้งคำถามว่า

// read POST variables if present
foreach ($_POST as $name =&#62; $value) {�
������ $$name = $value;
}

Script บรรทัดนี้หมายความว่ายังไง ก็เลยเป็นเหตุได้เขียนบทความนี้
������������ ที่เป็นคำถามเพราะว่าเจอตัวแปรที่มี $$ นำหน้า ซึ่งปกติทั่วไปจะเป็น $ อันเดียว ลักษณะที่เป็น $$ �เป็นการสร้างตัวแปรแบบ dynamic �เช่น

$name = 'test' ;
$$name จะหมายถึง $test
การรับค่า $$name = 1 ;
ก็แสดงว่า $test มีค่าเท่ากับ 1

อันนี้น่าจะพอเข้าใจกันแล้ว ทีนี้มาดูจุดมุ่งหมายของ Script นี้

// read POST variables if present
foreach ($_POST as $name [...]]]></description>
			<content:encoded><![CDATA[<p>����������� เนื่องจากผมได้เจอคำถามจากเพื่อนสมาชิกใน board thaiseoboard.com ตั้งคำถามว่า</p>
<pre name='code' class='php'>
// read POST variables if present
foreach ($_POST as $name =&gt; $value) {�
������ $$name = $value;
}
</pre>
<p>Script บรรทัดนี้หมายความว่ายังไง ก็เลยเป็นเหตุได้เขียนบทความนี้</p>
<p>������������ ที่เป็นคำถามเพราะว่าเจอตัวแปรที่มี $$ นำหน้า ซึ่งปกติทั่วไปจะเป็น $ อันเดียว ลักษณะที่เป็น $$ �เป็นการสร้างตัวแปรแบบ dynamic �เช่น<br />
<code><br />
$name = 'test' ;<br />
$$name จะหมายถึง $test<br />
การรับค่า $$name = 1 ;<br />
ก็แสดงว่า $test มีค่าเท่ากับ 1<br />
</code></p>
<p>อันนี้น่าจะพอเข้าใจกันแล้ว ทีนี้มาดูจุดมุ่งหมายของ Script นี้</p>
<pre name='code' class='php'>
// read POST variables if present
foreach ($_POST as $name =&gt; $value) {� // name เป็น index ของ array
������ $$name = $value; // ส่งค่าให้กับตัวแปร
}
</pre>
<p>�<br />
จาก script เป็นการแก้ปัญหาการ config register_globals = Off ใน php.ini �ซึ่งค่าจาก form จะอยู่ในรูป $_POST['test'] ,$_GET['test'] ไม่สามารถ เอา $test มาใช้ได้เลยทันที แต่ถ้า register_globals = On จะสามารถใช้ $test ได้เลย<br />
ด้วยเหตุนี้ถ้าไม่สามารถแก้ php.ini ได้(กรณีเช่าโฮสอยู่) ก็มาแก้ที่โปรแกรมโดยการวนลูป� $_POST ซึ่งเป็น array แล้วส่งค่าให้กับตัวแปรตามค่า index ของมันซึ่งค่า index ของมันก็คือชื่อตัวแปรนั้นเอง</p>
<p>ตัวอย่างเช่นใน form มีการส่งค่า username=var1 และ password=var2 มา� ในการรับค่าจาก form จะได้เป็น $_POST[username'] และ $_POST[password'] �โดยในรูปแบบ array จะเป็น (username&#8217;=&gt;var1 ,&#8217;password&#8217;=&gt;var2)</p>
<p>ปล. register_globals = Off� แนะนำให้ใช้เพราะเหตุผลทางด้าน security ครับ อีกตัว magic_quotes_gpc = On ป้องกัน Sql injection ครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplifestyle.com/70/%e0%b8%95%e0%b8%b1%e0%b8%a7%e0%b9%81%e0%b8%9b%e0%b8%a3%e0%b9%81%e0%b8%9a%e0%b8%9a-dynamic-dynamic-variables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

