بایگانی برچسب: طراحی سایت به زبان php

مراحل طراحی وب سایت کدام است؟

مراحل طراحی سایت

مراحل طراحی وب سایت یکی از مهم ترین مسائلی می باشد که اغلب برنامه نویسان در ابتدای ورود به این حوزه باید از آن آگاه باشند. با اطلاع از این گام ها می توان مسیر مشخص و بهتری را پیش رو داشت و بسیاری از سردرگمی ها ناخودآگاه کمرنگ میشوند. گستردگی دنیای برنامه نویسی و طراحی سایت هایی با قابلیت های مختلف اصلی ترین دلیل برای این حرف می باشد که قبل از شروع کار ابتدا باید از مراحل طراحی سایت آگاه باشید. آکادمی برنامه نویسان مشهد در ادامه به این سوال پاسخ خواهد داد که طراحی سایت را از کجا شروع کنیم؟

 

برنامه نویس بک اند هستید با فرانت اند؟

قبل از وارد شدن به مرور هر یک از مراحل مهم در طراحی سایت لازم است بدانید که برنامه نویسان این حوزه را می توان به دو گروه کلی تقسیم نمود که عبارتند از بک اند  (Back End) و فرانت اند (Front End). بک اند به گروهی از برنامه نویسان گفته میشود که مسئول برقراری ارتباط سایت با سرور و پایگاه داده ها می باشد و در مقابل فرانت اند بیشتر با ارتباط سایت با کاربر و ظاهر سایت سر و کار دارد. فعالیت در هر یک از این حوزه ها کاملا با هم متفاوت می باشد. البته برخی از برنامه نویسان در هر دو حوزه فعالیت دارند که به Full Stack معروف می باشند و از توانایی و تخصص بالایی برخوردار هستند. برای معرفی گام های طراحی سایت فرض را بر این می گذاریم که قصد دارید یک Full Stack باشید.

 

HTML را جدی بگیرید

سایت هایی که در دنیای امروز وجود دارند در دو گروه ایستا (Static) و پویا یا داینامیک تقسیم میشوند که در گروه اول سایت شامل صفحاتی با المان های ساده می باشد و تعامل کاربر و سایت بسیار اندک است. در مقابل سایت های داینامیک کاربر با سایت تعامل زیادی داشته و امروزه به شدت مورد توجه قرار گرفته اند. در طراحی ظاهر سایت های ایستا برای تعیین المان ها و عناصر موجود در ظاهر سایت و در حالت کلی طراحی ظاهر صفحه از زبان  HTML (Hyper Text Markup Language) یا زبان نشانه گذاری ابرمتن استفاده میشود. یادگیری HTML اولین مرحله طراحی سایت می باشد که تمام طراحان حرفه ای وب به آن مسلط می باشند و یادگیری آن نیاز به پیش زمینه دانش برنامه نویسی و تخصص ندارد.

 

جذاب کردن سایت با CSS

با توجه به اهمیت بسیار زیاد ظاهر سایت و تجربه کاربری، به مرور برای رفع کاستی های موجود در HTML زبان دیگری به نام CSS معرفی شد. با یادگیری CSS می توان فونت، رنگ و سایر المان ها و عناصر سایت را زیباتر و جذاب تر کرد. Cascading Style Sheets زبان ساده و جذابی می باشد که تسلط به آن می تواند خروجی کار طراحی سایت را بهتر کند و به نوعی مکمل HTML به شمار میرود.

 

یادگیری جاوا اسکریپت

از دیگر مراحل طراحی سایت که مخصوصا در سایت های داینامیک اهمیت بالایی دارد، یادگیری جاوا اسکریپت می باشد. سایت های تعاملی که کاربر با سرور ارتباط برقرار می کند از عناصر و المان هایی برخوردار می باشد که طراحی آنها با زبان برنامه نویسی جاوا اسکریپت صورت می گیرد. در حالت کلی می توان گفت اگر قصد دارید سایت شما به نوعی با توجه به نیاز کاربر تغییر رفتار دهد، لازم است از جاوا اسکریپت استفاده کنید. به عنوان مثال شرایطی را در نظر بگیرید که قصد داشته باشید با انتقال ماوس روی یک دکمه، تغییر رنگ را در ظاهر آن مشاهده کنید، در این صورت لازم است از جاوا اسکریپت استفاده نمایید. قرار دادن قابلیت زوم روی تصاویر، پخش فایل های صوتی و تصویری و انیمیشن در صفحات وب از جمله نشانه های کاربرد جاوا اسکریپت در طراحی وب سایت می باشند.

 

انتخاب ابزارهای گرفیکی

طراحی گرفیک یکی از مهم ترین بخش ها در طراحی سایت می باشد که وظیفه آن طراحی ظاهر یک سایت در نرم افزارهای مختلف از قبیل فتوشاپ می باشد. یک فرانت اند باید بتواند طرح ارائه شده توسط طراح گرافیک را به کد تبدیل کند. برای اینکه بتوانید ظاهر سایت را راحت تر و در کمترین زمان انجام دهید، پیشنهاد می کنیم به یکی از نرم افزارهای گرافیکی طراحی وب از قبیل scketch مسلط شوید. این نرم افزار در طراحی اپلیکیشن های موبایل نیز کاربرد بسیار زیادی دارد.

 

برقراری ارتباط سایت با سرور با PHP

یکی از مهم ترین گام های شروع طراحی سایت، تسلط پیدا کردن بر زبان های برنامه نویسی می باشد که ارتباط بین سایت و سرور را برقرار می سازد. زبان های مختلفی در این حوزه وجود دارند که یکی از پرکاربردترین آنها PHP می باشد. با یادگیری PHP و مسلط شدن بر پایگاه های داده می توان گام های موثری در سایت های داینامیک برداشت. با مروری بر سایت های بسیار معروف و نام آشنا مانند فیسبوک، ویکی پدیا، یاهو، وردپرس، فلیکر و Tumblr که همگی تعاملی می باشند متوجه اهمیت بسیار زیاد یادگیری php برای شروع طراحی سایت خواهید شد.

 

انتخاب IDE و Text editor برای طراحی سایت

تمام برنامه نویسان بک اند و فرانت اند درست مانند یک مکانیک به جعبه ابزار نیاز دارند و مسلما هر چه ابزارها قوی تر و کاملتر باشد در نهایت عملکرد و بازدهی بهتری را شاهد خواهید بود. انتخاب IDE و Text Editor یکی دیگر از گام های شروع طراحی وب سایت می باشد که به شما ابزارهایی را برای کدنویسی بهتر با خوانایی بالاتر ارائه می دهد. ویرایشگرهای متن یا Text Editorهای متنوعی در حال حاضر در دسترس می باشند که می توان آنها را انتخاب کرد که از معروف ترین آنها Microsoft Visual Studio، PhpStorm، Microsoft Expression Web می باشند.

از بهترین IDE ها برای طراحی وب سایت می توان به موارد زیر اشاره کرد:

  • Sublime Text
  • Xcode
  • Vim
  • NetBeans برای PHP
  • Pycharm برای پایتون

 

آموزش مقدماتی و پیشرفته مراحل طراحی وب سایت

با توجه به گسترده بودن فرآیند یادگیری طراحی سایت و زمان زیادی که برای آموزش و آزمون و خطا باید به آن اختصاص دهید، حرفه ای ترین راه این است که از تجربیات دیگران در این زمینه استفاده کنید. در گروه آکادمی برنامه نویسان  آموزش طراحی سایت مشهد
را به صورت مقدماتی و پیشرفته توسط اساتید حرفه ای در این حوزه با برگزاری دوره های حضوری و غیر حضوری انجام می دهیم. برای اطلاع از شرایط حضور در این دوره ها و زمان برگزاری هر یک می توانید از راه های ارتباطی ذکر شده در پایین صفحه استفاده کنید.

نحوه به کارگیری تلگرام در PHP

با توجه به محبوبیت پیام رسان تلگرام احتمالا شما هم بخواهید از این برنامه  پیام رسان در برنامه های تحت وب خود استفاده کنید یکی از مزایای تلگرام اپن سورس بودن آن است و با استفاده از API های تلگرام در اختیار شما قرار می دهد می توانید به هدف خود برسید. همچنین برنامه هایی برای کار با این API ها نوشته شده است که در این آموزش استفاده می شود.

telegram-php

دانلود PDF

فراخوانی jQuery Ajax با استفاده از کد های PHP و برگشت دادن JSON

آموزش Ajax در PHP و  کار با Json در PHP :

در صورتیکه کدها را به صورت لوکال اجرا می کنید باید برروی سیستم وب سرور و PHP نصب شده باشند .

فراموش نکنید که jQuery  را در <head> صفحه اضافه کنید

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>

کار با json در php

یک فایل با نام js-ajax-php-json-usage.html ایجاد کرده و کدهای زیر را در آن کپی کنید :

<!--کد های زیر را در قسمت  <head> کپی کنید-->
<script type="text/javascript">
$("document").ready(function(){
$(".js-ajax-php-json").submit(function(){
var data = {
"action": "test"
};
data = $(this).serialize() + "&" + $.param(data);
$.ajax({
type: "POST",
dataType: "json",
url: "response.php", //Relative or absolute path to response.php file
data: data,
success: function(data) {
$(".the-return").html(
"Favorite beverage: " + data["favorite_beverage"] + "<br />Favorite restaurant: " + data["favorite_restaurant"] + "<br />Gender: " + data["gender"] + "<br />JSON: " + data["json"]
);
alert("Form submitted successfully.\nReturned json: " + data["json"]);
}
});
return false;
});
});
</script>
<!--کد های زیر را در  <body> کپی کنید -->
<form action="return.php" class="js-ajax-php-json" method="post" accept-charset="utf-8">
<input type="text" name="favorite_restaurant" value="" placeholder="Favorite restaurant" />
<input type="text" name="favorite_beverage" value="" placeholder="Favorite beverage" />
<select name="gender">
<option value="male">Male</option>
<option value="female">Female</option>
</select>
<input type="submit" name="submit" value="Submit form" />
</form>
<div class="the-return">
[HTML is replaced when successful.]
</div>

یک فایل با نام response.php ایجاد کرده و کدهای زیر را در آن وارد کنید :

  • می توان به کل JSON بازگشتی با استفاده از data[“json”] دسترسی پیدا کرد.
  • برای دسترسی به داده خاصی در JSON  می توان از data[“name”] استفاده کرد.
<?php
if (is_ajax()) {
if (isset($_POST["action"]) && !empty($_POST["action"])) { //بررسی اینکه مقداری در action وجود دراد یا نه
$action = $_POST["action"];
switch($action) { //این سویچ برای بررسی مقدار action است
case "test": test_function(); break;
}
}
}
//تابعی برای بررسی درخواست که آیا AJAX ی است یا نه
function is_ajax() {
return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
}
function test_function(){
$return = $_POST;
//برای استفاده از داده ها می توانید از کدهای زیر استفاده کنید .
//if ($return["favorite_beverage"] == ""){
// $return["favorite_beverage"] = "Coke";
//}
//$return["favorite_restaurant"] = "McDonald's";
$return["json"] = json_encode($return);
echo json_encode($return);
}
?>

آموزش ajax در php

دانلود پروژه

پیاده سازی CRUD در PHP (قسمت ۳)

php-crud-file-structure-3
پیاده سازی CRUD در PHP (قسمت ۳) – نمایش جدول دیتابیس در PHP

سایر پست های مربوط به این آموزش :

در این بخش از آموزش نمایش جدول دیتابیس در PHP قصد داریم صفحات Update و Delete  از گرید CRUD در PHP را آموزش دهیم . بعد از اتمام این قسمت عملیات CRUD کامل خواهد شد . فرآیند این آموزش مانند قسمت قبلی خواهد بود.

۱-افزودن دکمه Update و Delete

مشابه دکمه Read  در گرید ما نیا ز به دکمه های Update و Delete  به ازاء هر سطر جدول داریم . فایل index.php را باز کرده و کدهای های لایت شده زیر را به آن اضافه کنید.

در نهایت فایل index.php باید  شکل زیر باشد . شما می توانید کدهای های لایت شده و یا همه کدها را به فایل index.php کپی کنید.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    		<div class="row">
    			<h3>PHP CRUD Grid</h3>
    		</div>
			<div class="row">
				<p>
					<a href="create.php" class="btn btn-success">Create</a>
				</p>
				
				<table class="table table-striped table-bordered">
		              <thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                  <th>Action</th>
		                </tr>
		              </thead>
		              <tbody>
		              <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '<td width=250>';
							   	echo '<a class="btn" href="read.php?id='.$row['id'].'">Read</a>';
							   	echo '&nbsp;';
							   	echo '<a class="btn btn-success" href="update.php?id='.$row['id'].'">Update</a>';
							   	echo '&nbsp;';
							   	echo '<a class="btn btn-danger" href="delete.php?id='.$row['id'].'">Delete</a>';
							   	echo '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
				      </tbody>
	            </table>
    	</div>
    </div> <!-- /container -->
  </body>
</html>
 

حال اگر به صفحه index.php بروید باید دکمه های Update و Delete  را به ازاء هر سطر ببینید . در حال حاضر این دکمه ها کار نخواند کرد و در قسمت بعد صفحه Update را ایجاد خواهیم کرد.

نمایش جدول دیتابیس در php

۲-ایجاد صفحه Update

یک فایل PHP با نام update.php ایجاد کنید این فایل قسمتی از گرید CRUD خواهد بود و تقریبا مشابه قمست create  است .

این فایل را مانند قمست create در ۲ بخش بررسی خواهیم کرد

اولین بخش کد های آن یک فرم HTMl است این فرم دقیقا مشابه فرم صفحه Create است . کد های زیر را در فایل update.php کپی کنید.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    
    			<div class="span10 offset1">
    				<div class="row">
		    			<h3>Update a Customer</h3>
		    		</div>
    		
	    			<form class="form-horizontal" action="update.php?id=<?php echo $id?>" method="post">
					  <div class="control-group <?php echo !empty($nameError)?'error':'';?>">
					    <label class="control-label">Name</label>
					    <div class="controls">
					      	<input name="name" type="text"  placeholder="Name" value="<?php echo !empty($name)?$name:'';?>">
					      	<?php if (!empty($nameError)): ?>
					      		<span class="help-inline"><?php echo $nameError;?></span>
					      	<?php endif; ?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($emailError)?'error':'';?>">
					    <label class="control-label">Email Address</label>
					    <div class="controls">
					      	<input name="email" type="text" placeholder="Email Address" value="<?php echo !empty($email)?$email:'';?>">
					      	<?php if (!empty($emailError)): ?>
					      		<span class="help-inline"><?php echo $emailError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($mobileError)?'error':'';?>">
					    <label class="control-label">Mobile Number</label>
					    <div class="controls">
					      	<input name="mobile" type="text"  placeholder="Mobile Number" value="<?php echo !empty($mobile)?$mobile:'';?>">
					      	<?php if (!empty($mobileError)): ?>
					      		<span class="help-inline"><?php echo $mobileError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
					  <div class="form-actions">
						  <button type="submit" class="btn btn-success">Update</button>
						  <a class="btn" href="index.php">Back</a>
						</div>
					</form>
				</div>
				
    </div> <!-- /container -->
  </body>
</html>
بخش دوم کدها جایی است که فرآیند به روز رسانی اتفاق می افتد. کدهای زیر را به ابتدای فایل updae.php کپی کنید :
<?php 
	
	require 'database.php';

	$id = null;
	if ( !empty($_GET['id'])) {
		$id = $_REQUEST['id'];
	}
	
	if ( null==$id ) {
		header("Location: index.php");
	}
	
	if ( !empty($_POST)) {
		// keep track validation errors
		$nameError = null;
		$emailError = null;
		$mobileError = null;
		
		// keep track post values
		$name = $_POST['name'];
		$email = $_POST['email'];
		$mobile = $_POST['mobile'];
		
		// validate input
		$valid = true;
		if (empty($name)) {
			$nameError = 'Please enter Name';
			$valid = false;
		}
		
		if (empty($email)) {
			$emailError = 'Please enter Email Address';
			$valid = false;
		} else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
			$emailError = 'Please enter a valid Email Address';
			$valid = false;
		}
		
		if (empty($mobile)) {
			$mobileError = 'Please enter Mobile Number';
			$valid = false;
		}
		
		// update data
		if ($valid) {
			$pdo = Database::connect();
			$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			$sql = "UPDATE customers  set name = ?, email = ?, mobile =? WHERE id = ?";
			$q = $pdo->prepare($sql);
			$q->execute(array($name,$email,$mobile,$id));
			Database::disconnect();
			header("Location: index.php");
		}
	} else {
		$pdo = Database::connect();
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$sql = "SELECT * FROM customers where id = ?";
		$q = $pdo->prepare($sql);
		$q->execute(array($id));
		$data = $q->fetch(PDO::FETCH_ASSOC);
		$name = $data['name'];
		$email = $data['email'];
		$mobile = $data['mobile'];
		Database::disconnect();
	}
?>

همانطور که می بینید ابتدا به کمک متغیر $_POST  بررسی می کنیم که آیا فرم ارسال شده است یا خیر سپس  همه ورودی ها  را جهت مطابقت با قوانین اعتبار سنجی  بررسی خواهیم کرد.بعد از آن دیتابیس را با استفاده از داده های $_POST به روز رسانی خواهیم کرد.در نهایت کاربر را به صفحه index.php با استفاده از تابع header ارجاع خواهیم دادو در صورتیکه فرم به روش get فراخوانی شود دادهها از دیتابیس خوانده خواهد شد.

در صورتیکه کار ها را درست انجام داده باشید بعد از کلیک برروی دکمه Update در صفحه index.php صفحه مشابه زیر باید نمایش داده شود.

php-crud-update-form

۳-ایجاد صفحه Delete

در آخرین قسمت آموزش فایل phpبا عنوان delete.php ایجاد کنید و کدهای زیر را در آن کپی کنید تا بعد آن ها را بررسی کنیم.  
<?php 
	require 'database.php';
	$id = 0;
	
	if ( !empty($_GET['id'])) {
		$id = $_REQUEST['id'];
	}
	
	if ( !empty($_POST)) {
		// keep track post values
		$id = $_POST['id'];
		
		// delete data
		$pdo = Database::connect();
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$sql = "DELETE FROM customers  WHERE id = ?";
		$q = $pdo->prepare($sql);
		$q->execute(array($id));
		Database::disconnect();
		header("Location: index.php");
		
	} 
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    
    			<div class="span10 offset1">
    				<div class="row">
		    			<h3>Delete a Customer</h3>
		    		</div>
		    		
	    			<form class="form-horizontal" action="delete.php" method="post">
	    			  <input type="hidden" name="id" value="<?php echo $id;?>"/>
					  <p class="alert alert-error">Are you sure to delete ?</p>
					  <div class="form-actions">
						  <button type="submit" class="btn btn-danger">Yes</button>
						  <a class="btn" href="index.php">No</a>
						</div>
					</form>
				</div>
				
    </div> <!-- /container -->
  </body>
</html>

از ابتدای کدهای PHP بررسی را شروع می کنیم همانطور که می بینید $id از درخواست $_GET خوانده می شود. در شرایطی که درخواست به روش get باشد فرم  تائیدیه نمایش داده می شود و لی در صورتیکه درخواست به روش post باشد مشخص می شود که کاربر برروی دکمه تائید کلیک کرده است سپس فرآیند حذف رکورد صورت خواهد گرفت و سپس کابر به صفحه index.php ارجاع داده خواهد شد .

قمست بعد کد هم یک صفحه HTML است که $_GET[‘id’] در یک فیلد مخفی نگه داری می کند .

در صورتیکه کارتان را درست انجام داده باشید باید فرم delete.php به شکل زیر باشد با کلیک برروی دکمه yes  رکورد انتخاب شده در صفحه index حذف خواهد شد .

php-crud-delete-form

۴- پایان و کدهای پروژه نمایش جدول دیتابیس در PHP

در نهایت باید ساختار فایل های شما به شکل زیر باشد : php-crud-file-structure-3 شما می توانید کدهای پروژه را از لینک زیر دانلود کنید : دانلود پروژه

امیدوارم از این آموزش نمایش جدول دیتابیس در PHP لذت برده باشید در صورت هرگونه سئوال و خطایی می توانید آن را در پایین صفحه یا انجمن سایت مطرح کنید و لطفا این آموزش را از طریق دکمه های پایین در صفحات اجتماعی به اشتراک بگذارید .

پیاده سازی CRUD در PHP (قسمت ۲)

php-crud-create-form

پیاده سازی CRUD در PHP قسمت ۲ ( نمایش اطلاعات جدول در PHP ) :

سایر پست های مربوط به این آموزش :

در این قسمت آموزش نمایش اطلاعات جدول در php قصد داریم صفحات ایجاد (Create)  و خواندن (Read) مربوط به گرید CRUD  در PHP  را بسازیم.

۱٫افزودن دکمه Create و Read

در این بخش از آموزش نیاز به دکمه هایی داریم که هدایت کاربر را به صفحه های Create و Read انجام دهند دکمه Create باید تنها یکبار در صفحه ایجاد شود برای هدایت کاربر به صفحه ایجاد داده جدید ،  اما دکمه Read  باید به ازاء هر رکورد موجود در دیتابیس ایجاد گردد . فایل index.php  که در قسمت قبل آموزش ایجاد کردید را باز کرده و یک دکمه Create به بالای جدول و همچنین دکمه های Read به ازاء هر سطر جدول اضافه کنید .

حال کدهای فایل index.php باید به شکل زیر باشد :
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    		<div class="row">
    			<h3>PHP CRUD Grid</h3>
    		</div>
			<div class="row">
				<p>
					<a href="create.php" class="btn btn-success">Create</a>
				</p>
				
				<table class="table table-striped table-bordered">
		              <thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                  <th>Action</th>
		                </tr>
		              </thead>
		              <tbody>
		              <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '<td width=250>';
							   	echo '<a class="btn" href="read.php?id='.$row['id'].'">Read</a>';
							   	echo '&nbsp;';
							   	echo '<a class="btn btn-success" href="update.php?id='.$row['id'].'">Update</a>';
							   	echo '&nbsp;';
							   	echo '<a class="btn btn-danger" href="delete.php?id='.$row['id'].'">Delete</a>';
							   	echo '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
				      </tbody>
	            </table>
    	</div>
    </div> <!-- /container -->
  </body>
</html

حال اگر به صفحه index.php بروید باید دکمه Create  را ببینید. البته اگر برروی دکمه کلیک کنید با خطا مواجه خواهید شد چون هنوز صفحه مورد نظر ایجاد نشده است.

نمایش اطلاعات جدول در php

۲٫ ایجاد صفحه Create

یک فایل PHP با نام create.php ایجاد کنید این فایل شامل یک فرم HTML است که در واقع بخشی از گرید CRUD خواهد بود.

این فایل را در ۲ بخش بررسی می کنیم .

قسمت اول کد ها ساده است چون یک فرم HTML  ایجاد می کند . از آنجایی که ما نیاز به اعتبا ر سنجی فرم داریم از این رو متغیر های PHP  برای برای نگهداری خطاهای ایجاد شده برای هر فیلد تعریف شده اند . کدهای زیر را در فایل create.php کپی کنید :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    
    			<div class="span10 offset1">
    				<div class="row">
		    			<h3>Create a Customer</h3>
		    		</div>
    		
	    			<form class="form-horizontal" action="create.php" method="post">
					  <div class="control-group <?php echo !empty($nameError)?'error':'';?>">
					    <label class="control-label">Name</label>
					    <div class="controls">
					      	<input name="name" type="text"  placeholder="Name" value="<?php echo !empty($name)?$name:'';?>">
					      	<?php if (!empty($nameError)): ?>
					      		<span class="help-inline"><?php echo $nameError;?></span>
					      	<?php endif; ?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($emailError)?'error':'';?>">
					    <label class="control-label">Email Address</label>
					    <div class="controls">
					      	<input name="email" type="text" placeholder="Email Address" value="<?php echo !empty($email)?$email:'';?>">
					      	<?php if (!empty($emailError)): ?>
					      		<span class="help-inline"><?php echo $emailError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
					  <div class="control-group <?php echo !empty($mobileError)?'error':'';?>">
					    <label class="control-label">Mobile Number</label>
					    <div class="controls">
					      	<input name="mobile" type="text"  placeholder="Mobile Number" value="<?php echo !empty($mobile)?$mobile:'';?>">
					      	<?php if (!empty($mobileError)): ?>
					      		<span class="help-inline"><?php echo $mobileError;?></span>
					      	<?php endif;?>
					    </div>
					  </div>
					  <div class="form-actions">
						  <button type="submit" class="btn btn-success">Create</button>
						  <a class="btn" href="index.php">Back</a>
						</div>
					</form>
				</div>
				
    </div> <!-- /container -->
  </body>
</html>
قسمت دوم کدها جایی است که فرآیند ایجاد رکورد ها اتفاق می افتد . کد های زیر را در ابتدای صفحه create.php قبل از فرم HTML کپی کنید.
<?php 
	
	require 'database.php';

	if ( !empty($_POST)) {
		// keep track validation errors
		$nameError = null;
		$emailError = null;
		$mobileError = null;
		
		// keep track post values
		$name = $_POST['name'];
		$email = $_POST['email'];
		$mobile = $_POST['mobile'];
		
		// validate input
		$valid = true;
		if (empty($name)) {
			$nameError = 'Please enter Name';
			$valid = false;
		}
		
		if (empty($email)) {
			$emailError = 'Please enter Email Address';
			$valid = false;
		} else if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
			$emailError = 'Please enter a valid Email Address';
			$valid = false;
		}
		
		if (empty($mobile)) {
			$mobileError = 'Please enter Mobile Number';
			$valid = false;
		}
		
		// insert data
		if ($valid) {
			$pdo = Database::connect();
			$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			$sql = "INSERT INTO customers (name,email,mobile) values(?, ?, ?)";
			$q = $pdo->prepare($sql);
			$q->execute(array($name,$email,$mobile));
			Database::disconnect();
			header("Location: index.php");
		}
	}
?>

همانطور که می بینید ابتدا فرم به وسیله متغیر $_POST بررسی می شود تا ورودی ها تهی نباشند به علاوه   در ورودی ایمیل  از یک فیلتر PHP برای بررسی معتبر بودن آدرس ایمیل استفاده می کنیم . سپس اگر همه قوانین اعتبار سنجی تایید شد داده ها را در دیتابیس به وسیله کلاس databse ذخیره  می کنیم .وبعد کاربر را به صفحه  index.php با استفاده از تابع header()  بر می گردانیم . همچنین در صورتیکه خطایی در عملیات اعتبار سنجی رخ دهد این خطا در فرم نمایش داده خواهد شد.

در صورتیکه به درستی کارها را انجام داده باشید به صفحه create.php رفته و برروی دکمه Create کلیک کنید شما باید خطاهای اعتبار سنجی را مطابق شکل زیر ببینید.

نمایش اطلاعات به صورت جدول در php

چند تا رکورد ایجا د کنید و در نهایت شما در گرید CRUD شکلی شبیه زیر را باید داشته باشید.

خواندن اطلاعات از دیتابیس در php

توجه کنید که که با ازاء هر سطر یک دکمه Read وجود دارد که در مرحله اول این آموزش اضافه شد اگر برروی این دکمه کلیک کنید با خطا روبرو خواهید شد . ما در قسمت بعد این صفحه را خواهیم ساخت .

۳٫ایجاد صفحه Read ( نمایش اطلاعات جدول در php )

یک فایل PHP با نام read.php ایجاد کنید این فایل بخشی از گرید CRUD خواهد بود. در مقایسه با بخش قبل (عملیات Create) این مرحله ساده تر است . کدهای زیر را در فایل ایجاد شده کپی کنید تا بعد از آن به توضیح این کدها بپردازیم .
<?php 
	require 'database.php';
	$id = null;
	if ( !empty($_GET['id'])) {
		$id = $_REQUEST['id'];
	}
	
	if ( null==$id ) {
		header("Location: index.php");
	} else {
		$pdo = Database::connect();
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$sql = "SELECT * FROM customers where id = ?";
		$q = $pdo->prepare($sql);
		$q->execute(array($id));
		$data = $q->fetch(PDO::FETCH_ASSOC);
		Database::disconnect();
	}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    
    			<div class="span10 offset1">
    				<div class="row">
		    			<h3>Read a Customer</h3>
		    		</div>
		    		
	    			<div class="form-horizontal" >
					  <div class="control-group">
					    <label class="control-label">Name</label>
					    <div class="controls">
						    <label class="checkbox">
						     	<?php echo $data['name'];?>
						    </label>
					    </div>
					  </div>
					  <div class="control-group">
					    <label class="control-label">Email Address</label>
					    <div class="controls">
					      	<label class="checkbox">
						     	<?php echo $data['email'];?>
						    </label>
					    </div>
					  </div>
					  <div class="control-group">
					    <label class="control-label">Mobile Number</label>
					    <div class="controls">
					      	<label class="checkbox">
						     	<?php echo $data['mobile'];?>
						    </label>
					    </div>
					  </div>
					    <div class="form-actions">
						  <a class="btn" href="index.php">Back</a>
					   </div>
					
					 
					</div>
				</div>
				
    </div> <!-- /container -->
  </body>
</html>
اول کدهای ابتدای فایل PHP را بررسی می کنیم این کدها چه کاری انجام می دهند ؟ آنها با استفاده از  $_GET[‘id’] بررسی می کنند که آیا آیتمی برای نمایش وجود دارد یا خیر در صورتی که جواب منفی بود کاربر را به صفحه index.php هدایت خواند کرد در غیر اینصورت داده ها را با استفاده از id از دیتابیس خوانده  و آنها را در متغیر $data قرار می دهند. قسمت بعد هم یک صفحه HTML ساده است که داده های موجود در متغیر $data  را به نمایش می دهد. در صورتیکه کدها به درستی کار کنند باید صفحه ای مشابه شکل زیر داشته باشید. دریافت اطلاعات از دیتابیس در php

۴٫ادامه دارد

اگر همه مراحل را به درستی انجام داده باشید باید ساختار فایل های زیر را داشنه باشید. اطلاعات از دیتابیس در php

در قسمت  سوم آموزش نمایش اطلاعات جدول در php قصد داریم صفحه های Update و Delete از گرید CRUD  در PHP را بسازیم . این صفحه را بوک مارک کرده تا در چند روز آینده قسمت بعدی آموزش را دنبال کنید . همچنین در قسمت آخر کدهای کامل این دوره آموزشی قرار خواهند گرفت و در صورت رضایت از این آموزش لطفا ان را با استفاده از دکمه های زیر در شبکه های اجتماعی به اشتراک بگذارید .

hash کردن کلمه عبور در PHP

این pdf آموزشی نحوه hash کردن کلمه عبور در PHP با استفاده از یک کلاس آماده که از روش های جدید و با امنیت بالا استفاده می کند را توضیح  می هد .

php_security

دانلود PDF

 

 

کتاب آموزش PHP

php

PHP یک زبان برنامه نویسی اسکریپتی اپن سورس است که برای طراحی برنامه های تحت وب سرور به کار می رود. سمت سرور بودن به این معناست که صفحات PHP ابتدا توسط سرور (که می تواند از نوع Apache یا IIS) باشد ، پردازش شده و سپس خروجی به صورت کدهای HTML و جاوا اسکریپت برای مرورگر کاربر ارسال می شود. به عبارت دیگر وظیفه اجرای صفحات PHP به عهده سرور وب هاست سایت می باشد برخلاف HTML یا جاوااسکریپت می باشد . در این نوشتار از آکادمی برنامه نویسان مشهد آموزش php pdf را برای دانلود قرار داده ایم :

آموزش php pdf

PDF آموزش PHP

نویسنده: محسن رجبی
فرمت کتاب: PDF
تعداد صفحات:۱۳۵
حجم فایل: ۳٫۲۲ مگابایت

دانلود PDF

همچنین جهت شرکت در دوره آموزش طراحی سایت مشهد می توانید از طریق لینک پایین اقدام نمایید :

آموزش طراحی سایت مشهد

و برای دریافت خدمات طراحی سایت مشهد به لینک پایین مراجعه نمایید

طراحی سایت مشهد