سلام به دوستان عزیز، در این قسمت، سراغ گزینه ی "حذف اکانت من" از سمت سایدبار سمت راست، در پروفایل کاربر خواهیم رفت و کدهای لازم برای راه اندازی آن را با هم دیگر خواهیم نوشت.به تصویر زیر نگاه کنید.
برای اینکار مجددا مانند مراحل قبل باید از متغییر سراسری $_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 را با هم ایجاد نماییم.
به همین خاطر باید به آدرس C:\wamp\www\ecommerce\customer بروید و آن را بسازید. به تصویر زیر نگاه کنید.
در این فایل، در حقیقت کار خیلی سختی در پیش نداریم، فقط کافی است که یک فرم ایجاد کنیم، که شامل 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>"; } ?>
همانطور که در کدهای بالا مشاهده می نمایید، ابتدا، توسط کدهای 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 خواهد بود.
تاکنون با نحوه ی ذخیره، انتخاب و ویرایش رکوردها آشنا شدید. برای حذف رکورد از بانک اطلاعاتی از دستور زیر استفاده می شود:
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"> </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>"; } ?>
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.