حذف پروفایل کاربری در PHP

php-remove-profile

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

حذف اکانت من

برای اینکار مجددا مانند مراحل قبل باید از متغییر سراسری $_GET کمک بگیریم. به همین خاطر به آدرس C:\wamp\www\ecommerce\customer بروید و فایل my_account.php را با استفاده از Notepad++ باز و کدهای زیر را در آن پیدا کنید.

			//when press change password from right sidebar
			if(isset($_GET['change_pass']))
			{
				include('change_pass.php');
			}

آنها را حذف نمایید و کدهای زیر را به جای آنها قرار دهید.

			//when press change password from right sidebar
			if(isset($_GET['change_pass']))
			{
				include('change_pass.php');
			}
			
			//when press delete account from right sidebar
			if(isset($_GET['delete_account']))
			{
				include('delete_account.php');
			}

پس از جایگزینی کدهای بالا باید در ابتدا باید فایل delete_account.php را با هم ایجاد نماییم.

فایل delete_account.php (حذف اکانت) در PHP

به همین خاطر باید به آدرس C:\wamp\www\ecommerce\customer بروید و آن را بسازید. به تصویر زیر نگاه کنید.

ایجاد فایل delete_account

در این فایل، در حقیقت کار خیلی سختی در پیش نداریم، فقط کافی است که یک فرم ایجاد کنیم، که شامل 2 دکمه می باشد، یک دکمه که حذف را نهایی کند و دکمه دیگر که انصراف از حذف را، در اختیار کاربر قرار می دهد. حالا فایل delete_account.php را با استفاده از Notepad++ باز کنید و کدهای زیر را در آن قرار دهید.

<form action="my_account.php?delete_account" method="post" enctype="multipart/form-data" > 

	<table align="center">
		
		<tr >
			<td colspan="6" >
				<h2>حذف اکانت </h2>
			</td>
		</tr>
								
		<tr>
			<td colspan="3" >
				<input size="200" type="submit" name="yes" value="من دیگه نیازی به این اکانت ندارم.">
			</td>
			<td colspan="3" >
				<input size="200" type="submit" name="no" value="نگران نباش ، شوخی کردم.">
			</td>
		</tr>
	</table>
</form>

                  
<?php
	
	if(isset($_POST['yes']))
	{
		$user = $_SESSION['customer_email'];		
		$sel_pass = "delete from customers where customer_email='$user' ";
		$run_uplod = mysqli_query($con,"SET NAMES SET utf8");
		$run_uplod = mysqli_query($con,"SET CHARACTER SET utf8");		
		$run_pass = mysqli_query($con,$sel_pass);
		echo "<script>alert('خیلی متاسفم ، انشاالله در آینده نزدیک باز هم عضوی از ما بشین. موفق باشید')</script>";
		echo "<script>window.open('../logout.php','_self')</script>";
	}
	
	if(isset($_POST['no']))
	{
		echo "<script>alert('قلبم گرفت ، لطفا دیگه با من از این شوخی ها نکن !!!!')</script>";
		echo "<script>window.open('my_account.php','_self')</script>";
	}

?>

توضیح خط به خط کدهای فایل delete_account.php

همانطور که در کدهای بالا مشاهده می نمایید، ابتدا، توسط کدهای html، یک فرم ایجاد می کنیم و در ادامه اگر کاربر بر روی هر کدام از دکمه های " من دیگه نیازی به این اکانت ندارم" و " نگران نباش ، شوخی کردم" کلیک کرد، دستور خاصی را به اجرا در می آوریم. حالت اول این است که کاربر، بر روی دکمه " من دیگه نیازی به این اکانت ندارم" فشار دهد؛ در این صورت کدهای زیر به اجرا در می آیند:

	if(isset($_POST['yes']))
	{
		$user = $_SESSION['customer_email'];		
		$sel_pass = "delete from customers where customer_email='$user' ";
		$run_uplod = mysqli_query($con,"SET NAMES SET utf8");
		$run_uplod = mysqli_query($con,"SET CHARACTER SET utf8");		
		$run_pass = mysqli_query($con,$sel_pass);
		echo "<script>alert('خیلی متاسفم ، انشاالله در آینده نزدیک باز هم عضوی از ما بشین. موفق باشید')</script>";
		echo "<script>window.open('../logout.php','_self')</script>";
	}

همانطور که مشاهده می کنید، ابتدا ایمیل کاربر را با استفاده از متغییر سراسری $_SESSION['customer_email'] به دست می آوریم و در ادامه با استفاده از این ایمیل ، یک دستور SQL خواهیم نوشت. این دستورSQL از نوع delete خواهد بود.

حذف رکورد از پایگاه داده SQL

تاکنون با نحوه ی ذخیره، انتخاب و ویرایش رکوردها آشنا شدید. برای حذف رکورد از بانک اطلاعاتی از دستور زیر استفاده می شود:

DELETE FROM <Table Name> WHERE <Condition>;

در کد بالا Table Name نام جدول و Condition هم شرط حذف رکورد می باشد.

حالا با توجه به توضیحات بالا، ما دستور delete را به صورت زیر نوشته ایم.

delete from customers where customer_email='$user'

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

نکته ی مهم که وجود دارد این است حتما باید متغییر سراسری $_SESSION['customer_email']  را از بین ببریم و کاربر را به صفحه اول سایت، هدایت کنیم و او را از محیط پروفایل کاربر، بیرون کنیم.

به خطوط زیر نگاه کنید.

echo "<script>window.open('../logout.php','_self')</script>";

در اینجا، ما کاربر را به فایل logout.php می بریم تا در آنجا متغییر سراسری $_SESSION['customer_email']  را از بین ببریم و ضمنا او را به صفحه ی ابتدایی سایت (index.php) هدایت کنیم.

خب همانطور که مشاهده نمودید، وقتی کاربر بر روی  دکمه "من دیگه نیازی به این اکانت ندارم." کلیک کرد، کلیه اقداماتی را که باید انجام دهیم را مو به مو شرح دادم.

وقتی کاربر بر روی دکمه "نگران نباش، شوخی کردم" کلیک می کند، کدهای قسمت زیر به اجرا درمی آیند.

if(isset($_POST['no']))
	{
		echo "<script>alert('قلبم گرفت ، لطفا دیگه با من از این شوخی ها نکن !!!!')</script>";
		echo "<script>window.open('my_account.php','_self')</script>";
	}

خب، خیلی کدهای نوشته شده آسان هستند، یک پیام با عنوان "'قلبم گرفت ، لطفا دیگه با من از این شوخی ها نکن !!!!" به مشتری می دهیم و او را مجددا به پروفایل خودش بازمی گردانیم.

تست عملی کدهای نوشته شده

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

تصویر پروفایل کاربری

سپس از سایدبار سمت راست، بر روی گزینه ی "حذف اکانت من" کلیک کنید، مانند تصویر زیر

حذف اکانت من

بعد از کلیک کردن بر روی "حذف اکانت من" ، تصویر زیر در سایدبار سمت چپ برای شما نمایان می شود.

نمایش فرم مخصوص به حذف اکانت من

حالا اگر بر روی دکمه "نگران نباش ، شوخی کردم." کلیک کردیم تصویر زیر برای ما نمایان می شود.

با منصرف شدن از حذف پروفایل کاربری

و اگر بر روی ok کلیک کنیم، ما را به تصویر زیر، که همان پروفایل کاربر است، ارجاع می دهد.

برگشت دادن کاربر به پروفایل کاربری

این حالت اول بود، اما اگر ما قصد حذف پروفایل کاربری را داشته باشیم باید مانند تصویر زیر بر روی دکمه "من دیگه نیازی به این اکانت ندارم." کلیک کنیم.

حذف اکانت با کلیک بر روی کمه مربوطه

بعد از زدن بر روی دکمه "من دیگه نیازی به این اکانت ندارم." ، تصویر زیر نمایش داده می شود.

پیام حذف کاربر

بعد از کلیک بر روی ok ، هم کاربر را از پایگاه داده حذف کرده ایم و هم اینکه به صفحه اول سایت باز خواهیم گشت.

تصویر بازگشت به صفحه آغازین

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

فایل های نهایی

فایل نهایی my_account.php

<!-- start of Header -->
<?php	include('includes/Header.php');	?>
<!-- end of Header -->

<!-- start of content -->   
<div id="templatemo_content">
	
	<!-- start of left ocntent -->
	<div id="templatemo_content_left">
		<?php										
			//when nothing press keys right sidebar 				
			if(!isset($_GET['my_order'])){
				if(!isset($_GET['edit_account'])){
					if(!isset($_GET['change_pass'])){
						if(!isset($_GET['delete_account'])){			
							
							$name_customet = $_SESSION['customer_name'];
							$lastname_customer = $_SESSION['customer_lastname'];
							echo "<h1><span  style='font-family: b nazanin;font-size:30px;'> سلام $name_customet $lastname_customer به پروفایل خودت خوش آمدی. </span></h1><br/><br/><br/>";
							echo "<b><span style='font-size:20px;font-family: b nazanin;'>دوست عزیز اگر قصد سفارشی سازی پروفایل خودتان را دارید بر روی <a href='my_account.php?my_order'> اینجا</a> کلیک نمایید.</span></b><br/><br/><br/>";
						}
					}
				}
			}
			
			//when press edit account from right sidebar
			if(isset($_GET['edit_account']))
			{
				include('edit_account.php');
			}
			
			//when press change password from right sidebar
			if(isset($_GET['change_pass']))
			{
				include('change_pass.php');
			}
			
			//when press delete account from right sidebar
			if(isset($_GET['delete_account']))
			{
				include('delete_account.php');
			}
		?>				
	</div>
	<!-- end of left content  -->
	
	<!-- start of right content -->
	<?php	include('includes/Right_Sidebar.php');	?>
	<!-- end of right content -->
	<div class="cleaner">&nbsp;</div>
</div>
<!-- end of content -->

<!-- start of footer -->
<?php include('includes/Footer.php');	?>
<!-- end of footer -->

فایل نهایی  delete_account.php

<form action="my_account.php?delete_account" method="post" enctype="multipart/form-data" > 

	<table align="center">
		
		<tr >
			<td colspan="6" >
				<h2>حذف اکانت </h2>
			</td>
		</tr>
								
		<tr>
			<td colspan="3" >
				<input size="200" type="submit" name="yes" value="من دیگه نیازی به این اکانت ندارم.">
			</td>
			<td colspan="3" >
				<input size="200" type="submit" name="no" value="نگران نباش ، شوخی کردم.">
			</td>
		</tr>
	</table>
</form>

                  
<?php
	
	if(isset($_POST['yes']))
	{
		$user = $_SESSION['customer_email'];		
		$sel_pass = "delete from customers where customer_email='$user' ";
		$run_uplod = mysqli_query($con,"SET NAMES SET utf8");
		$run_uplod = mysqli_query($con,"SET CHARACTER SET utf8");		
		$run_pass = mysqli_query($con,$sel_pass);
		echo "<script>alert('خیلی متاسفم ، انشاالله در آینده نزدیک باز هم عضوی از ما بشین. موفق باشید')</script>";
		echo "<script>window.open('../logout.php','_self')</script>";
	}
	
	if(isset($_POST['no']))
	{
		echo "<script>alert('قلبم گرفت ، لطفا دیگه با من از این شوخی ها نکن !!!!')</script>";
		echo "<script>window.open('my_account.php','_self')</script>";
	}

?>
تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری فروشگاه اینترنتی با PHP توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.