<?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>وب نویس &#187; آموزش php</title>
	<atom:link href="http://webnevis.net/tag/learning-php/feed/" rel="self" type="application/rss+xml" />
	<link>http://webnevis.net</link>
	<description>وب نوشته های يك دانشجوی كامپیوتر</description>
	<lastBuildDate>Mon, 29 Aug 2016 18:56:58 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>تغییر قوانین اعتبارسنجی به صورت پویا در کیک پی اچ پی</title>
		<link>http://webnevis.net/1392/03/27/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%82%d9%88%d8%a7%d9%86%db%8c%d9%86-%d8%a7%d8%b9%d8%aa%d8%a8%d8%a7%d8%b1%d8%b3%d9%86%d8%ac%db%8c-%d8%af%d8%b1-%da%a9%db%8c%da%a9-%d9%be%db%8c-%d8%a7%da%86-%d9%be%db%8c/</link>
		<comments>http://webnevis.net/1392/03/27/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%82%d9%88%d8%a7%d9%86%db%8c%d9%86-%d8%a7%d8%b9%d8%aa%d8%a8%d8%a7%d8%b1%d8%b3%d9%86%d8%ac%db%8c-%d8%af%d8%b1-%da%a9%db%8c%da%a9-%d9%be%db%8c-%d8%a7%da%86-%d9%be%db%8c/#comments</comments>
		<pubDate>Mon, 17 Jun 2013 16:59:29 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[کیک پی اچ پی - CakePHP]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[آموزش کیک پی اچ پی]]></category>
		<category><![CDATA[پی اچ پی]]></category>
		<category><![CDATA[کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=300</guid>
		<description><![CDATA[یکی از امکانات جدید اضافه شده در نسخه ۲٫۲ از کیک پی اچ پی امکان تغییر قوانین تعریف شده در Model به صورت داینامیک از طریق متد validator که در Model پیاده سازی شده است می باشد. در این پست به بررسی این ویژگی جدید می پردازیم . در ابتدای کار فرض می کنیم در [...]]]></description>
				<content:encoded><![CDATA[<p>یکی از امکانات جدید اضافه شده در نسخه ۲٫۲ از کیک پی اچ پی امکان تغییر قوانین تعریف شده در Model به صورت داینامیک از طریق متد validator که در Model پیاده سازی شده است می باشد. در این پست به بررسی این ویژگی جدید می پردازیم .</p>
<p>در ابتدای کار فرض می کنیم در model قوانین زیر رو تعریف کردیم :</p>
<pre class="brush:php">class User extends AppModel{

	public $validate = array(
		'username'=&gt;array(
			'rule-1'=&gt;array(
				'rule'=&gt;'notEmpty',
				'required'=&gt;TRUE,
				'message'=&gt;'لطفا نام کاربری خود را وارد کنید'
			),
			'rule-2'=&gt;array(
				'rule'=&gt;'isUnique',
				'message'=&gt;'نام کاربری وارد شده تکراری است',
				'on'=&gt;'create'
			),
		),
		'password'=&gt;array(
			'rule'=&gt;'notEmpty',
			'required'=&gt;TRUE,
			'message'=&gt;'لطفا رمزعبور خود را وارد کنید'
		),
	);

}</pre>
<p><span id="more-300"></span></p>
<p><strong>اضافه کردن قانون جدید :</strong><br />
برای اضافه کردن قانون جدید از متد add استفاده می کنیم</p>
<pre class="brush:php">$this-&gt;validator()-&gt;add('password','rule-2',array(
		'rule'=&gt;'alphaNumeric',
		'message'=&gt;'رمزعبور تنها باید شامل حروف و اعداد باشد'	
));</pre>
<p>همچنین می توانیم از روش method chaining استفاده کنیم و متد add رو چندین بار فراخوانی کنیم .</p>
<pre class="brush:php">$this-&gt;validator()
	-&gt;add('password','rule-2',array(
		'rule'=&gt;'alphaNumeric',
		'message'=&gt;'رمزعبور تنها باید شامل حروف و اعداد باشد'
	))
	-&gt;add('password','rule-3',array(
		'rule'=&gt;array('minLength',6)
		'message'=&gt;'رمزعبور حداقل باید شامل ۶ کاراکتر باشد'
	));</pre>
<p>به جای روش بالا می توانیم به صورت زیر هم عمل کنیم و قوانین جدید رو به صورت آرایه به عنوان پارامتر دوم به متد پاس بدیم</p>
<pre class="brush:php">$this-&gt;validator()
	-&gt;add('password',array(
		'rule-2'=&gt;array(
		'rule'=&gt;'alphaNumeric',
		'message'=&gt;'رمزعبور تنها باید شامل حروف و اعداد باشد'
		),
		'rule-3'=&gt;array(
			'rule'=&gt;array('minLength',6)
			'message'=&gt;'رمزعبور حداقل باید شامل ۶ کاراکتر باشد'
		)
	));</pre>
<p><strong>ویرایش قوانین موجود :</strong></p>
<p>برای مثال قانون rule-2 از فیلد password  رو می خواهیم ویرایش کنیم</p>
<pre class="brush:php">$this-&gt;validator()-&gt;getField('password')-&gt;setRule('rule-2',array(
		'rule'=&gt;'numeric',
		'message'=&gt;'رمزعبور باید تنها شامل اعداد باشد'
	)
);</pre>
<p>و برای تغییر تمامی قوانین تعریف شده برای یک فیلد با استفاده از متد setRules داریم :</p>
<pre class="brush:php">$this-&gt;validator()-&gt;getField('password')-&gt;setRules(array(
		'required'=&gt;array(
			'rule'=&gt;'notEmpty',
			'required'=&gt;TRUE,
			'message'=&gt;'رمزعبور خود را وارد کنید'
		),
		'length'=&gt;array(
			'rule'=&gt;array('between',6,12),
			'message'=&gt;'رمزعبور باید شامل حداقل ۶ و حداکثر ۱۲ کاراکتر باشد'
		)
	)
);</pre>
<p>همچنین اگر فقط بخوایم یک بخش از قانون تعریف شده رو تغییر بدیم :</p>
<pre class="brush:php">$this-&gt;validator()-&gt;getField('password')-&gt;getRule('length')-&gt;message='رمزعبور وارد شده معتبر نیست';</pre>
<p><strong>حذف قوانین :</strong></p>
<p>قطعه کد زیر قوانین تعریف شده برای فیلد password رو به طور کلی پاک میکنه .</p>
<pre class="brush:php">$this-&gt;validator()-&gt;remove('password');</pre>
<p>و کد زیر قانون length رو از بین قوانین تعریف شده برای فیلد password حذف میکنه</p>
<pre class="brush:php">$this-&gt;validator()-&gt;remove('password','length');</pre>
<p>اگر از کنترلر بخواهیم به این متد دسترسی داشته باشیم،برای مثال در کدهایی که توی این پست تعریف کردیم،به شکل زیر عمل می کنیم</p>
<pre class="brush:php">$this-&gt;User-&gt;validator()-&gt;remove('password','length');

//other sample
$this-&gt;User-&gt;validator()-&gt;getField('password')-&gt;setRules(array(
		'required'=&gt;array(
			'rule'=&gt;'notEmpty',
			'required'=&gt;TRUE,
			'message'=&gt;'رمزعبور خود را وارد کنید'
		)
	)
);</pre>
<p>امیدوارم این پست مفید بوده باشه ، موفق باشید .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1392/03/27/%d8%aa%d8%ba%db%8c%db%8c%d8%b1-%d9%82%d9%88%d8%a7%d9%86%db%8c%d9%86-%d8%a7%d8%b9%d8%aa%d8%a8%d8%a7%d8%b1%d8%b3%d9%86%d8%ac%db%8c-%d8%af%d8%b1-%da%a9%db%8c%da%a9-%d9%be%db%8c-%d8%a7%da%86-%d9%be%db%8c/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>نمایش آمار بازدید روزانه با PHP</title>
		<link>http://webnevis.net/1389/06/14/statistics-show-daily-with-php/</link>
		<comments>http://webnevis.net/1389/06/14/statistics-show-daily-with-php/#comments</comments>
		<pubDate>Sun, 05 Sep 2010 17:34:30 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[پایگاه داده mysql]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=223</guid>
		<description><![CDATA[اسکریپتی که توی این پست قصد آموزشش رو دارم ، اسکریپت نمایش آمار بازدید امروز ، دیروز و کل بازدید ها هست که توی اکثر سایت ها به اون نیاز هست و مطمئنا به دردتون می خوره. برای شروع کار یک جدول با نام counter با فیلدهای today,yesterday,total,last_visit بسازید. CREATE TABLE IF NOT EXISTS `counter` [...]]]></description>
				<content:encoded><![CDATA[<p>اسکریپتی که توی این پست قصد آموزشش رو دارم ، اسکریپت نمایش آمار بازدید امروز ، دیروز و کل بازدید ها هست که توی اکثر سایت ها به اون نیاز هست و مطمئنا به دردتون می خوره.<br />
برای شروع کار یک جدول با نام counter با فیلدهای today,yesterday,total,last_visit بسازید.</p>
<pre class="brush:php">CREATE TABLE IF NOT EXISTS `counter` (
  `today` INT(11) NOT NULL,
  `yesterday` INT(11) NOT NULL,
  `total` varchar(11) NOT NULL,
  `last_visit` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
</pre>
<p>و یک سطر جدید درج کنید .</p>
<pre class="brush:php">INSERT INTO `counter` (`today`, `yesterday`, `total`, `last_visit`) VALUES
('0', '0', '0', '');
</pre>
<p>نحوه کار به این شکل هست که ابتدا مقدار فیلد last_visit رو که مربوط به تاریخ آخرین بازدید انجام شده از سایت هست رو از دیتابیس می خونیم ، بعد با استفاده از تابع ()date تاریخ فعلی رو بدست میاریم  و با مقدار موجود در last_visit مقایسه می کنیم ، در صورتی که این دو تاریخ باهم برابر باشند مقدار فیلد today رو یکی افزایش میدیم در غیر این صورت متوجه میشیم که آخرین بازدید در روز دیگه ای انجام شده که ما اونو روز قبل در نظر می گیریم و مقدار فیلد yseterday رو برابر با today قرار میدیم و مقدار فیلد today رو مساوی با یک می زاریم و تاریخ آخرین بازید رو هم به روز می کنیم .<br />
توجه داشته باشید که در هر دو حالتی که پیش میاد مقدار فیلد total رو هم یکی افزایش میدیم .<br />
در مرحله آخر هم مقادیر موجود در دیتابیس رو select و چاپ می کنیم .</p>
<p>۱ &#8211; خواندن اطلاعات از دیتابیس</p>
<pre class="brush:php">$con=mysql_connect('localhost','root','');
if(!$con)
	die('error in connect to db');
$select_db=mysql_select_db('test');
if(!$select_db)
	die('error in select db');
$query=mysql_query('select last_visit from counter');
$field=mysql_fetch_array($query);
</pre>
<p>برای آشنایی بیشتر با توابع دیتابیس و کار با اون می تونید <a href="http://webnevis.net/1387/11/18/connect-to-mysql-by-php/" target="_blank">این</a> و <a href="http://webnevis.net/1387/12/28/reading-data-from-mysql-by-php/" target="_blank">این</a> پست رو بخونید .</p>
<p><span id="more-223"></span></p>
<p>۲ &#8211; مقایسه تاریخ آخرین بازدید با تاریخ جاری</p>
<pre class="brush:php">$now=date('Y-m-d');
if($field['last_visit']==$now)
	$query='update counter set today=today+1,total=total+1';
else
	$query="update counter set yesterday=today,today=1,last_visit='$now',total=total+1";
mysql_query($query);
</pre>
<p>3 &#8211; نمایش آمار<br />
برای نمایش مقادیر ذخیره شده هم دوباره از دیتابیس یه select انجام میدیم و مقادیر رو چاپ می کنیم .</p>
<pre class="brush:php">$query=mysql_query('select * from counter');
$field=mysql_fetch_array($query);
echo "

	بازدیدهای امروز : $field[today] 

	بازدیدهای دیروز : $field[yesterday] 

	کل بازدیدها : $field[total]

";
</pre>
<p>کد کامل اسکریپت :</p>
<pre class="brush:php">//read last_visit from db
$con=mysql_connect('localhost','root','');
if(!$con)
	die('error in connect to db');
$select_db=mysql_select_db('test');
if(!$select_db)
	die('error in select db');
$query=mysql_query('select last_visit from counter');
$field=mysql_fetch_array($query);
//Compare dates
$now=date('Y-m-d');
if($field['last_visit']==$now)
	$query='update counter set today=today+1,total=total+1';
else
	$query="update counter set yesterday=today,today=1,last_visit='$now',total=total+1";
mysql_query($query);
//display counter
$query=mysql_query('select * from counter');
$field=mysql_fetch_array($query);
echo "

	بازدیدهای امروز : $field[today] 

	بازدیدهای دیروز : $field[yesterday] 

	کل بازدیدها : $field[total]

";
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1389/06/14/statistics-show-daily-with-php/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>اعتبارسنجی اطلاعات در کیک پی اچ پی</title>
		<link>http://webnevis.net/1389/01/29/cakephp-validation/</link>
		<comments>http://webnevis.net/1389/01/29/cakephp-validation/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 11:29:03 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[آموزش کیک پی اچ پی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=209</guid>
		<description><![CDATA[یکی از مهم ترین بخش های هر برنامه بررسی و اعتبارسنجی اطلاعات دریافتی از کاربر هست در واقع با این کار برنامه نویس مطمئن خواهد شد که کاربر داده ای را که مد نظر اوست وارد کرده و با خیال راحت این اطلاعات را مورد استفاده قرار می دهد . برای چک کردن مقادیر در [...]]]></description>
				<content:encoded><![CDATA[<p>یکی از مهم ترین بخش های هر برنامه بررسی و اعتبارسنجی اطلاعات دریافتی از کاربر هست در واقع با این کار برنامه نویس مطمئن خواهد شد که کاربر داده ای را که مد نظر اوست وارد کرده و با خیال راحت این اطلاعات را مورد استفاده قرار می دهد .<br />
برای چک کردن مقادیر در کیک پی اچ پی باید تسلط و آشنایی خوبی با آرایه ها داشته باشید تا هنگام اعتبارسنجی های پیچیده مغزتون هنگ نکنه و به راحتی بتونید کارتون رو جلو ببرید . کدهای مربوط به اعتبارسنجی اطلاعات را باید در کلاس مربوط به  model بنوسید و با تعریف یک خصوصیت به نام validate و اختصاص دادن یک آرایه چند بعدی به آن ، نوع داده های مورد نظرتان را مشخص  نمایید  .</p>
<p>در ساده ترین حالت می تونید برای فیلدهای موردنظرتون که توی جدول تعریف کردید و مقدارش براتون مهم هست یک نوع رو مشخص نمایید</p>
<pre class="brush:php">class User extends AppModel{

	var $name='User';

	var $validate=array(
	'username'=&gt;'alphaNumeric',
	'password'=&gt;'alphaNumeric',
	'email'=&gt;'email'
	);
}</pre>
<p>در این حالت هنگام ذخیره و یا بروز رسانی اطلاعات مقادیر تعیین شده چک می شوند و در صورت مغایرت پیغام مناسب نمایش داده می شود .</p>
<p><span id="more-209"></span></p>
<p>همچنین شما می تونید پیغام هایی که برای هر قسمت نمایش داده می شوند رو تعیین کنید ، برای این کار به شکل زیر عمل کنید</p>
<pre class="brush:php">class User extends AppModel{

	var $name='User';

	var $validate=array(
	'username'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست'),
	'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست'),
	'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>کیک پی اچ پی به صورت پیش فرض یکسری pattern برای چک کردن ایمیل ، ip، تاریخ ،زمان ، کد پستی ، آدرس اینترنتی و سایر مقادیر داره که برای مشاهده کامل این pattern ها می تونید <a href="http://book.cakephp.org/view/134/Core-Validation-Rules" target="_blank">اینجا </a>رو ببینید.</p>
<p>در کیک پی اچ پی این امکان هم وجود داره که شما خودتون یک pattern خاص بنویسید تا مقدار فیلد بر اساس اون چک بشه برای این کار کافیه که فقط pattern دلخواه تون رو به فیلد مورد نظر نسبت بدید</p>
<pre class="brush:php">class User extends AppModel
{
	var $name='User';
	var $useTable='users';
	var $validate=array(
	'username'=&gt;array('rule'=&gt;'/[a-z0-9\-]{3,15}/i','message'=&gt;'نام کاربری معتبر نیست'),
	'password'=&gt;array('rule'=&gt;'/[a-z0-9\-]{6,20}/i','message'=&gt;'رمز عبور معتبر نیست'),
	'email'=&gt;array('rule'=&gt;'/[a-z0-9._\-+]+@[a-zA-Z0-9.\-]+.[a-zA-Z.]+/i','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>برای اینکه یک فیلد رو از چند نظر مورد بررسی قرار بدید کافیه که یک آرایه چند بعدی برای اون فیلد تعریف کنید</p>
<pre class="brush:php">class User extends AppModel
{
	var $name='User';
	var $validate=array(
		'username'=&gt;array(
			'alphaNumeric'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست'),
			'maxLength'=&gt;array('rule'=&gt;array('maxLength',5),'message'=&gt;'حداکثر طول نام کاربری باید ۵ کاراکتر باشد')
		),
		'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست'),
		'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}</pre>
<p>برای اطلاعات بیشتر در این مورد <a href="http://book.cakephp.org/view/133/Multiple-Rules-per-Field" target="_blank">این </a>صفحه رو بخونید.</p>
<p>همچنین برای تعیین اینکه یک الگو یا pattern در زمان افزودن رکورد چک بشه یا بروزرسانی رکورد می تونید به شکل زیر عمل کنید</p>
<pre class="brush:php">
class User extends AppModel
{
	var $name='User';
	var $validate=array(
		'username'=&gt;array(
			'alphaNumeric'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'نام کاربری معتبر نیست','on'=&gt;'create'),
			'maxLength'=&gt;array('rule'=&gt;array('maxLength',5),'message'=&gt;'حداکثر طول نام کاربری باید ۵ کاراکتر باشد','on'=&gt;'update')
		),
		'password'=&gt;array('rule'=&gt;'alphaNumeric','message'=&gt;'رمز عبور معتبر نیست','on'=&gt;'update'),
		'email'=&gt;array('rule'=&gt;'email','message'=&gt;'پست الکترونیکی معتبر نیست')
	);
}
</pre>
<p>این ها فقط چند مثال برای آشنایی شما با نحوه اعتبار سنجی اطلاعات در کیک پی اچ پی بود و بیشتر سعی کردم مهم ترین موارد رو بگم ، برای اینکه تسلط کاملی بر این موضوع پیدا کنید توصیه می کنم که حتما <a href="http://book.cakephp.org/view/125/Data-Validation" target="_blank">مستندات </a>خود کیک که کامل و گویا هست رو بخونید و <a href="http://lemoncake.wordpress.com/2007/07/03/all-about-validation-in-cakephp-12/" target="_blank">اینجا </a>رو هم یه نگاه بندازید .</p>
<p>موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1389/01/29/cakephp-validation/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>ساخت صفحات وب به کمک تابع include در PHP</title>
		<link>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/</link>
		<comments>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 15:31:44 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[برنامه نویسی]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=199</guid>
		<description><![CDATA[توی این پست قصد دارم نحوه ساخت راحت تر صفحات وب رو برای وب سایت هایی که با استفاده از PHP ایجاد می کنیم آموزش بدم . توی اکثر صفحاتی که برای یک وب سایت ایجاد می کنیم معمولا فقط بخش وسط صفحه تغییر میکنه و header و footer و sidebar به صورت ثابت توی [...]]]></description>
				<content:encoded><![CDATA[<p>توی این پست قصد دارم نحوه ساخت راحت تر صفحات وب رو برای وب سایت هایی که با استفاده از PHP ایجاد می کنیم آموزش بدم .<br />
توی اکثر صفحاتی که برای یک وب سایت ایجاد می کنیم معمولا فقط بخش وسط صفحه تغییر میکنه و header و footer و sidebar به صورت ثابت توی بقیه صفحه ها تکرار میشن به همین خاطر می تونیم این سه قسمت رو توی سه تا فایل جداگانه قرار بدیم و توی هر صفحه ای که ایجاد می کنیم این فایل ها رو include کنیم و سرعت انجام کار رو بالا ببریم و وقتی هم که می خوایم تم سایت رو تغییر بدیم کارمون راحت تر میشه .</p>
<p><span id="more-199"></span></p>
<p>بر فرض اگه کد تمپلیت ما به صورت زیر باشه</p>
<pre class="brush:php">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
    &lt;link type="text/css" rel="stylesheet" href="style.css" media="screen"  /&gt;
    &lt;title&gt;Site Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="main" &gt;
    	&lt;!-- header --&gt;
    	&lt;div id="header" &gt;&lt;/div&gt;
        &lt;div id="menu" &gt;
     		&lt;a href="home.php" &gt;Home&lt;/a&gt;|
            &lt;a href="About.php" &gt;About&lt;/a&gt;|
            &lt;a href="Contact.php" &gt;Contact&lt;/a&gt;
        &lt;/div&gt;
        &lt;!-- /header --&gt;

        &lt;div id="content" &gt;&lt;/div&gt;

        &lt;!-- sidebar --&gt;
        &lt;div id="sidebar" &gt;&lt;/div&gt;
        &lt;!-- /sidebar --&gt;

        &lt;div class="clear" &gt;&lt;/div&gt;

        &lt;!-- footer --&gt;
    	&lt;div id="footer" &gt;&lt;/div&gt;
        &lt;!-- /footer --&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>کد های زیر رو از تمپلیت اصلی سایت جدا کرده و با نام header.php ذخیره می کنیم .</p>
<pre class="brush:php">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
    &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
    &lt;link type="text/css" rel="stylesheet" href="style.css" media="screen"  /&gt;
    &lt;title&gt;Site Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div id="main" &gt;
    	&lt;!-- header --&gt;
    	&lt;div id="header" &gt;&lt;/div&gt;
        &lt;div id="menu" &gt;
     		&lt;a href="home.php" &gt;Home&lt;/a&gt;|
            &lt;a href="About.php" &gt;About&lt;/a&gt;|
            &lt;a href="Contact.php" &gt;Contact&lt;/a&gt;
        &lt;/div&gt;
        &lt;!-- /header --&gt;</pre>
<p>کدهای زیر رو هم با نام sidebar.php ذخیره می کنیم</p>
<pre class="brush:php">        &lt;!-- sidebar --&gt;
        &lt;div id="sidebar" &gt;&lt;/div&gt;
        &lt;!-- /sidebar --&gt;</pre>
<p>و کدهای زیر رو با نام footer.php ذخیره می کنیم</p>
<pre class="brush:php">        &lt;div class="clear" &gt;&lt;/div&gt;

        &lt;!-- footer --&gt;
    	&lt;div id="footer" &gt;&lt;/div&gt;
        &lt;!-- /footer --&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>حالا وقتی میخوایم یک صفحه جدید ایجاد کنیم فقط کافیه که این سه تا فایل رو include کنیم و اطلاعات مربوط به صفحه جدید رو وارد کنیم .</p>
<pre class="brush:php">&lt;?php include_once('header.php'); ?&gt;
&lt;div id="content" &gt; Content  &lt;/div&gt;
&lt;?php include_once('sidebar.php'); ?&gt;
&lt;?php include_once('footer.php'); ?&gt;</pre>
<p>برای اینکه بتونیم عنوان هر صفحه رو هم  مشخص کنیم تگ مربوط به عنوان صفحه رو توی فایل header.php به صورت زیر تغییر میدیم</p>
<pre class="brush:php">&lt;title&gt; &lt;?php echo $pagetitle; ?&gt; &lt;/title&gt;</pre>
<p>و توی هر صفحه ای که ایجاد می کنیم قبل از include کردن فایل header.php این متغیر رو مقداردهی می کنیم تا به عنوان title صفحه قرار بگیرد .</p>
<pre class="brush:php">&lt;?php
$pagetitle='Contact';
include_once('header.php');
?&gt;
&lt;div id="content" &gt; Contact Form  &lt;/div&gt;
&lt;?php include_once('sidebar.php'); ?&gt;
&lt;?php include_once('footer.php'); ?&gt;</pre>
<p>موفق باشید</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/09/14/build-web-pages-with-include-in-php/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>چند نکته در برنامه نویسی به زبان php &#8211; قسمت دوم</title>
		<link>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/</link>
		<comments>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 02:23:18 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>

		<guid isPermaLink="false">http://webnevis.net/1388/04/27/%da%86%d9%86%d8%af-%d9%86%d9%83%d8%aa%d9%87-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%d9%8a%d8%b3%d9%8a-%d8%a8%d9%87-%d8%b2%d8%a8%d8%a7%d9%86-php-%d9%82%d8%b3%d9%85%d8%aa-%d8%af/</guid>
		<description><![CDATA[- سرعت پردازش تابع echo در مقایسه با تابع print بیشتر هست و خودم هم همیشه از این تابع استفاده می کنم در ضمن بهتره که به جای استفاده از تابع echo به شکل زیر echo 'my'.'name'.'is'.$name; از این تابع به صورت زیر استفاده کنید echo 'my','name','is',$name; همچنین در مورادی به شکل زیر echo 'string [...]]]></description>
				<content:encoded><![CDATA[<p>- سرعت پردازش تابع echo در مقایسه با تابع print بیشتر هست و خودم  هم همیشه از این تابع استفاده می کنم در ضمن  بهتره که به جای استفاده از تابع echo به شکل زیر</p>
<pre class="brush: php" >
echo 'my'.'name'.'is'.$name;
</pre>
<p>از این تابع به صورت زیر استفاده کنید</p>
<pre class="brush: php">echo 'my','name','is',$name;</pre>
<p>همچنین در مورادی  به شکل زیر</p>
<pre class="brush: php">echo 'string 1';
echo 'string 2';
echo 'string 3';
</pre>
<p>برای بالا بردن سرعت اجرای برنامه بهتره که این رشته ها یا خروجی ها را در یک متغیر بریزید و تنها همون متغیر رو چاپ کنید</p>
<pre class="brush: php">$output='string 1';
$output.='string 2';
$output.='string 3';
echo $output;
</pre>
<p><span id="more-149"></span></p>
<p>- در مواردی مثل  زیر</p>
<pre class="brush: php">$a=array('a','b','c','d','e','f','g','h','i');
for($i=0;$i&lt;count($a);$i++)
echo $a[$i];
</pre>
<p>برای جلوگیری از اجرا شدن مکرر تابع count بهتره که این تابع رو یکبار صدا بزنیم و مقدار اون رو داخل یک متغیر برزیم</p>
<pre class="brush: php">$a=array('a','b','c','d','e','f','g','h','i');
$len=count($a);
for($i=0;$i&lt;$len;$i++)
echo $a [$i];
</pre>
<p>- برای بالا بردن قابلیت حمل برنامه تون بهتره که از  php?&gt; به جای  ?&gt; استفاده کنید چون ممکنه که در برخی سرورها این امکان غیر فعال باشه .</p>
<p>- استفاده از @ برای جلوگیری از نمایش خطا باعث کاهش سرعت اجرای برنامه می شه .</p>
<p>- پس از استفاده از آرایه های بزرگ و متغیرهای سراسری برای آزاد سازی حافظه بهتره که اونها رو unset کنید ، با این کار سرعت پردازش بالا میره .</p>
<p>نکاتی که توی این پست و <a href="http://webnevis.net/1388/04/21/few-tips-in-php-programing/" target="_blank">پست قبلی</a> نوشتم بیشتر برای بالا بردن سرعت اجرای برنامه و بهینه کردن کدها بود امیدوارم که مفید باشه .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/04/27/few-tips-in-php-programing-part-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>چند نکته در برنامه نویسی به زبان php</title>
		<link>http://webnevis.net/1388/04/21/few-tips-in-php-programing/</link>
		<comments>http://webnevis.net/1388/04/21/few-tips-in-php-programing/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 19:33:28 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>

		<guid isPermaLink="false">http://webnevis.net/1388/04/21/%da%86%d9%86%d8%af-%d9%86%da%a9%d8%aa%d9%87-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a8%d9%87-%d8%b2%d8%a8%d8%a7%d9%86-php/</guid>
		<description><![CDATA[- عبارات و مقدار هایی که بین دابل کوتیشن قرار می گیرند به هنگام اجرای برنامه بر روی آنها پردازش انجام می شود ، بنابراین بهتر است مقدار هایی که فقط شامل متن هستند رو بین سینگل کوتیشن قرار دهیم مخصوصا در مواردی که رشته مورد نظرمون طولانی هست. پس به جای استفاده از حالت [...]]]></description>
				<content:encoded><![CDATA[<p>- عبارات و مقدار هایی که بین دابل کوتیشن قرار می گیرند به هنگام اجرای برنامه بر روی آنها پردازش انجام می شود ، بنابراین بهتر است  مقدار هایی که فقط شامل  متن هستند رو بین سینگل کوتیشن قرار دهیم مخصوصا در مواردی که رشته مورد نظرمون طولانی هست.<br />
پس به جای استفاده از حالت زیر</p>
<pre class="brush: php">$msg="please enter all fields";</pre>
<p>بهتره که به شکل زیر عمل کنید</p>
<pre class="brush: php">$msg='please enter all fileds';</pre>
<p>- اگر بخواهیم مقادیر موجود در یک آرایه رو داخل دیتابیس وارد کنیم به جای استفاده از روش زیر</p>
<pre class="brush: php">$arr=array('ali','mohammad','pouya');
foreach($arr as $val)
mysql_query("insert into my_tbl values('$val')");</pre>
<p><span id="more-141"></span><br />
بهتره که از دستورهای زیر استفاده کنید</p>
<pre class="brush: php">$arr=array('ali','mohammad','pouya');
$values=array();
foraech($arr as $val)
$values[]='("'.$val.'")';
$query='insert into my_tbl values'.implode(',' ,$values);
mysql_query($query);</pre>
<p>اگر از حالت اول استفاده کنید با هر بار چرخش حلقه یک کوئری اجرا میشه و مقدار مورد نظر از آرایه به جدولمون وارد میشه اما در روش دوم دستور اس کیو ال مون رو به صورت پویا می نویسم و تنها با اجرای یک کوئری مقادیر مورد نظرمون رو وارد جدول می کنیم که باعث میشه تا سرعت برنامه بالا بره .</p>
<p>- مقادیری که از کاربر دریافت می کنید رو بی دلیل در متغیر اضافی قرار ندید یا آن را در داخل چند متغیر کپی نکنید تا حافظه کمتری مورد استفاده قرار بگیرد و برنامه با سرعت بیش تری اجرا شود .<br />
بنابراین به جای استفاده از روش زیر</p>
<pre class="brush: php">$a=htmlspecialchars($_GET['name']);
echo 'your name is'.$a;</pre>
<p>بهتره که از دستور زیر استفاده کنیم</p>
<pre class="brush: php">echo 'your name is'.htmlspecialchars($_GET['name']);</pre>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1388/04/21/few-tips-in-php-programing/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>خواندن اطلاعات از پایگاه داده mysql با php</title>
		<link>http://webnevis.net/1387/12/28/reading-data-from-mysql-by-php/</link>
		<comments>http://webnevis.net/1387/12/28/reading-data-from-mysql-by-php/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 13:38:37 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[پایگاه داده mysql]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=102</guid>
		<description><![CDATA[توی پست &#8221; آموزش ارتباط با پایگاه داده mysql در php &#8221; نحوه برقراری ارتباط با پایگاه داده mysql و اجرای دستورات sql رو توضیح دادم ، توصیه می کنم که ابتدا به این پست یک نگاه بندازید. در این آموزش فرض رو بر این بگیرید که یک پایگاه داده با نام test داریم که [...]]]></description>
				<content:encoded><![CDATA[<p>توی پست &#8221; آموزش ارتباط با پایگاه داده mysql  در php &#8221;  نحوه برقراری ارتباط با پایگاه داده mysql و اجرای دستورات sql  رو توضیح دادم ، توصیه می کنم که ابتدا به این پست یک نگاه بندازید.</p>
<p>در این آموزش فرض رو بر این بگیرید که یک پایگاه داده با نام test داریم که دارای یک جدول با نام mytable هست و این جدول ۳ فیلد با نام های   name ، id  و email  دارد.<br />
برای خواندن اطلاعات از پایگاه داده ابتدا شما باید یک دستور sql بنویسید ، در زبان sql برای خواندن اطلاعات از پایگاه داده از دستور select استفاده می شود.</p>
<p style="text-align: left;">;   شرط WHERE   نام جدول  FROM  نام فیلدهای مورد نظر  SELECT</p>
<p style="text-align: right;">بعد از دستور select باید نام فیلدهایی که می خواهید انتخاب کنید رو بنویسید و اگر قصد انتخاب همه فیلدها رو دارید می تونید از کاراکتر * استفاده کنید .<br />
همچنین برای انتخاب اطلاعات یک قسمت از جدول  باید از دستور where استفاده کنید و بعد از آن شرط مورد نظرتون رو بنویسید .</p>
<pre class="brush: php">SELECT * FROM mytable WHERE id &gt;10;
SELECT name,email FROM mytable;</pre>
<p style="text-align: right;"><span id="more-102"></span></p>
<p style="text-align: right;">ابتدا با پایگاه داده  ارتباط برقرار می کنیم و سپسس دیتابیس خودمون رو انتخاب می کنیم .</p>
<pre class="brush: php">$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);
</pre>
<p>سپس در داخل متغیر query کوئری خود رو مینویسیم و با استفاده از mysql_query آن را اجرا می کنیم.</p>
<pre class="brush: php">$query="SELECT * FROM mytable";
$select=mysql_query($query);
</pre>
<p style="text-align: right; ">حالا باید از حلقه ها برای خواندن اطلاعات به همراه یکی از دستورات زیر استفاده کنیم.</p>
<p style="text-align: right; ">mysql_fetch_row : این تابع اطلاعات انتخاب شده  رو به صورت یک آرایه عددی بر می گرداند.<br />
mysql_fetch_assoc : این تابع اطلاعات انتخاب شده  رو به صورت یک آرایه انجمنی بر می گرداند.<br />
mysql_fetch_array :  آرایه ای را بر می گرداند که هم به صورت انجمنی است و هم عددی  .<br />
mysql_fetch_object : این تابع هم اطلاعات انتخاب شده رو به صورت یک شی بر می گرداند .</p>
<p style="text-align: right; ">هر چهار تابع بالا نتیجه کوئری اجرا شده( متغیر select ) رو به عنوان پارامتر دریافت می کنند.</p>
<pre class="brush: php">while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'&lt;br&gt;';
}
</pre>
<p style="text-align: right;">در این جا از یک حلقه while استفاده کردیم و این حلقه تا زمانی که متغیر row دارای مقدار باشد اجرا می شود.<br />
اگر از تابع mysql_fetch_object استفاده کنید برای دسترسی به اطلاعات باید به شکل زیر عمل  نمایید</p>
<pre class="brush: php">while($row=mysql_fetch_object($select)){
echo $row-&gt;id.' - '.$row-&gt;name.' - '.$row-&gt;email.'&lt;br&gt;';
}
</pre>
<p style="text-align: right;">در آخر هم ارتباط ایجاد شده با پایگاه داده را قطع می کنیم.</p>
<pre class="brush: php">mysql_close($con);</pre>
<p style="text-align: right;">کد کامل :</p>
<pre class="brush: php">$con=mysql_connect('localhost','root',' ');
mysql_select_db('test',$con);
$query="SELECT * FROM mytable";
$select=mysql_query($query);
while($row=mysql_fetch_array($select)){
echo $row['id'].' - '.$row['name'].' - '.$row['email'].'&lt;br&gt;';
}
mysql_close($con);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1387/12/28/reading-data-from-mysql-by-php/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>نمایش آمار بازدیدکنندگان با php</title>
		<link>http://webnevis.net/1387/12/13/php-counter/</link>
		<comments>http://webnevis.net/1387/12/13/php-counter/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 18:05:06 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=98</guid>
		<description><![CDATA[توی این پست قصد دارم نحوه نمایش تعداد بازدیدکنندگان از یک صفحه وب را به صورت گرافیکی و به کمک یک فایل با php آموزش بدم. برای این کار نیاز به عکس هایی از اعداد ۰ تا ۹ هست . من توی این مثال از تصاویری با فرمت gif استفاده کردم. یک فایل با نام [...]]]></description>
				<content:encoded><![CDATA[<p>توی این پست قصد دارم  نحوه نمایش تعداد بازدیدکنندگان از یک صفحه وب را به صورت گرافیکی و به کمک یک فایل با php آموزش بدم. برای این کار نیاز به عکس  هایی از اعداد ۰ تا ۹ هست . من توی این مثال از تصاویری با فرمت gif استفاده کردم.<br />
یک فایل با نام counter.txt بسازید و تصاویر اعداد ۰ تا ۹ رو هم در یک پوشه به نام img قرار بدید.<br />
در ابتدا یک  متغیر با نام file ایجاد می کنیم و آدرس فایل counter.txt رو توی اون قرار میدیم .</p>
<pre class="brush: php">$file="counter.txt";</pre>
<p>با استفاده از تابع file_get_content محتوای فایل counter.txt رو می خونیم و بعد برای اطمینان از اینکه محتوای فایل عدد باشد از روش type casting برای تبدیل داده ها به integer استفاده می کنیم و عدد خوانده شده رو در متغیر counter قرار میدیم.</p>
<pre class="brush: php">$counter=(int) file_get_contents($file);</pre>
<p>مقدار متغیر counter رو یک واحد افزایش میدیم .</p>
<pre class="brush: php">$counter++;</pre>
<p>بعد عدد رو به صورت گرافیکی نمایش میدیم ، در اینجا برای این کار از یک حلقه for استفاده شده که این حلقه به اندازه تعداد اعداد موجود در متغیر counter  می چرخد و در هر بار چرخش با استفاده از تابع substr یک عدد از متغیر counter را به عنوان آدرس تصویر قرار میدهد و سپس تصویر را چاپ میکند.</p>
<pre class="brush: php">for($i=0;$i&lt;strlen($counter);$i++) {
$image_src="img/".substr($counter,$i,1).".gif";
$image_tag="&lt;img src=\"$image_src\" border=\"0\" &gt;";
echo $image_tag;
}
</pre>
<p>در آخر هم فایل counter.txt رو با استفاده از تابع fopen و مد w  که برای نوشتن هست ، باز می کنیم  و مقدار متغیر counter  رو در فایل می نویسیم و بعد فایل رو با استفاده از تابع fclose میبندیم .</p>
<pre class="brush: php">$fp=fopen($file,"w");
fwrite($fp, $counter);
fclose($fp);
</pre>
<p style="text-align: right; direction:rtl;">برای دریافت این مثال به طور کامل روی <a href="http://payamsp.persiangig.com/php/counter.zip" target="_self">اینجا</a> کلیک کنید .</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1387/12/13/php-counter/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>آموزش ارتباط با بانک اطلاعاتی mysql در php</title>
		<link>http://webnevis.net/1387/11/18/connect-to-mysql-by-php/</link>
		<comments>http://webnevis.net/1387/11/18/connect-to-mysql-by-php/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 04:22:15 +0000</pubDate>
		<dc:creator>پیام</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[پی اچ پی - php]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[پایگاه داده mysql]]></category>

		<guid isPermaLink="false">http://webnevis.net/?p=46</guid>
		<description><![CDATA[برقراری ارتباط با پایگاه داده و ثبت و خواندن اطلاعات از آن ، یکی از مباحث مهم و کاربردی در یادگیری php است به همین دلیل تصمیم گرفتم که این پست رو بنویسم و کوتاه و مختصر در این مورد توضیح بدم. برای برقراری ارتباط با پایگاه داده در php از تابع زیر استفاده می [...]]]></description>
				<content:encoded><![CDATA[<p>برقراری ارتباط با پایگاه داده و ثبت و خواندن اطلاعات از آن ، یکی از مباحث مهم و کاربردی در یادگیری php  است به همین دلیل تصمیم گرفتم که این پست رو بنویسم و کوتاه  و مختصر در این مورد توضیح بدم.</p>
<p>برای برقراری ارتباط با پایگاه داده در php  از تابع زیر استفاده می کنیم</p>
<pre class="brush: php">$con=mysql_connect("hostname","username","password");</pre>
<p>در آرگومنت اول این تابع باید نام هاست خود را وارد کنید که معمولا  localhost  وارد می شود  در آرگومنت دوم هم  باید نام کاربری خود را که با استفاده از آن به دیتابیس خود وارد می شوید را قرار بدهید و در آخرین آرگومنت هم  رمز تان را وارد کنید.<br />
اگر بر روی کامپیوترشخصی خودتان کار می کنید به جای username مقدار root را وارد کنید و جای رمز عبور را خالی بگذارید.</p>
<p>حالا باید دیتابیسی که قصد استفاده از آن را دارید را انتخاب کنید برای این کار از تابع زیر استفاده می کنیم</p>
<pre class="brush: php">mysql_select_db("dbname",$con);</pre>
<p style="text-align: right; ;">که به جای dbname باید نام دیتابیس خودتان را وارد کنید،آرگومنت دوم این تابع هم نام متغیری است که تابع mysql_connect را به آن نسبت داده اید.</p>
<p style="text-align: right; ;">برای اجرای کوئری ها  از تابع mysql_query استفاده می کنیم این تابع در آرگومنت اول خود دستور مربوط به کوئری ما رو دربافت می کند و در آرگومنت دوم که اختیاری است نام متغیری را می گیرد که تابع mysql_connect به آن نسبت داده شده است .</p>
<pre class="brush: php">mysql_query("SELECT * FROM tbl_name",$con);</pre>
<p style="text-align: right; ;">برای اینکه بتوانیم در پایگاه داده خود به صورت صحیح  فارسی بنویسیم پس از برقراری ارتباط با پایگاه داده باید کوئری زیر را اجرا کنیم</p>
<pre class="brush: php">mysql_query("SET CHARACTER SET utf8",$con);</pre>
<p style="text-align: right;">اگر کوئری بالا را پس از برقراری ارتباط با پایگاه داده اجرا نکنیم عبارت های فارسی که در پایگاه داده ذخیره می کنیم به صورت کاراکترهای نامفهوم ذخیره می شوند.</p>
<p style="text-align: right;">پس از پایان کار با دیتابیس باید ارتباط خود با دیتابیس رو قطع کنیم که برای این کار از تابع mysql_close استفاده می کنیم ، این تابع نام متغیری که تابع mysql_connect رو به اون نسبت داده ایم رو به عنوان آرگومنت دریافت می کند.</p>
<pre class="brush: php">mysql_close($con);</pre>
<p style="text-align: right;">برای برقراری ارتباط با پایگاه داده از تابع mysql_pconncet هم می توان استفاده کرد تفاوت این تابع با mysql_connect این است که این تابع یک ارتباط پایدار و دائمی را با پایگاه داده برقرار می کند .</p>
<p style="text-align: right;">تابع دیگری که از نسخه   ۴٫۱ و بالاتر  mysql  می توان برای برقراری ارتباط با پایگاه داده استفاده کرد، تابع mysqli_connect هست که نسبت به تابع mysql_connect دارای سرعت بالاتری هست و الگوی این  تابع به صورت زیر هست</p>
<pre class="brush: php">$con=mysqli_connect("hostname","username","password","dbname");</pre>
<p style="text-align: right;">امیدوارم  که این پست براتون مفید واقع شده باشه.</p>
]]></content:encoded>
			<wfw:commentRss>http://webnevis.net/1387/11/18/connect-to-mysql-by-php/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>
