نمایش نتایج 1 تا 18 از 18

نام تاپیک: مشكل در حذف اطلاعات ديتابيس

  1. #1

    مشكل در حذف اطلاعات ديتابيس

    سلام
    راستش من دارم يك لينك باكس درست ميكنم
    تا جاهايي رو به كمك دوستان درست كردم
    ولي الان ميخواهم هر كار بتونه از پنل مديريتيش لينك خودشو حذف كنه
    بعضي جاها خودنوم اين روش رو گفته بودن

    کد HTML:
    <a href="delete.php?linkid=21">حذف اين لينك</a>
    ولي مشكل اينه كه من نميتونم اينو پياده كنم

    يك كوئري هم براي حذف لينك نوشتم ولي در بخش ارسال دستور از طريق لينك به اين كوئري در قسمت html مشكل دارم
    كد رو ميذارم دوستان راهنمايي كنيد يا روي كد پياده كنيد


    <?php
    session_start();
    include('config/config.php');
    include('config/Template.php');
    if(isset($_SESSION['username']))
    {
    $username=$_SESSION['username'];
    }
    $MyTpl = new Template();
    $MyTpl -> load_file( 'temp/user.htm' );
    // get link from user
    $res = mysql_query("select * from `sendlink` where username='$username'");
    while($link = mysql_fetch_array($res)){
    $MyTpl->add_block('Links',array(
    'link_title'=>$link['link_title'],
    'link_url'=>$link['link_url'],
    'username'=>$link['username'],
    ));
    }

    $del="DELETE FROM `sendlink` where $link[0] AND username='$username' LIMIT 1 ";
    $MyTpl -> print_template();



    ?>


  2. #2
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    $MyTpl->add_block('Links',array(
    'link_title'=>$link['link_title'],
    'link_url'=>$link['link_url'],
    'username'=>$link['username'],
    ));
    ببینید.
    شما دارید از یک سیستم template استفاده می‌کنید که طبق تعریفی خاص، می‌آد و لینک می‌سازه.
    باید ببینید نحوه‌ی عمل این سیستم چگونه است.
    یعنی $MyTpl->add_block را بررسی کنید و ببیند که چگونه کار می‌کند و شما چگونه می‌توانید لینک مورد نظر خودتون رو بهش بفهمونید.

  3. #3

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    كار با اين سيستم رو بلد هستم
    يعني با آموزشي كه داده شده بود ياد گرفتم
    ولي اصلآ نميتونم در بخش ارسال آيدي لينك به فايل php براي حذف چگونه بايد عمل كرد
    در اينجا نمونه كلاس تمپلت آمده است http://forum.rightclick.ir/topic-847.html

  4. #4
    کاربر دائمی آواتار Hell Lord
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    Hell
    پست
    230

    نقل قول: مشكل در حذف اطلاعات ديتابيس



    یعنی نمیتونید بعد از حذف اون لینک ، صفحه را نمایش دهید؟
    --------------------
    شما که نوشتیدش که :
    delete.php?linkid=21
    توسط یک تابع $_GET میتونید ای دی را بگیرید :
    $del="DELETE FROM `sendlink` where link_id=\"$_GET['linkid']\" ";
    آخرین ویرایش به وسیله Hell Lord : چهارشنبه 17 شهریور 1389 در 23:50 عصر دلیل: این پست به دلیل تکراری بودن به طور خودکار ادغام شده است.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    البته توجه داشته باشید که این منطق کاره.
    حتما موارد امنیتی را هم در نظر بگیرید. هرگز یک متغیر را مستقیم وارد query نکنید.

  6. #6

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    راستش درست متوجه نشدم
    ميشه كمي عملي تر بگين
    اينجا شما گفتين حذف كن از جدول sendlink در جايي كه آيدي لينك برابر لينك ارسال شده از طريق دستور get باشد
    اينو متوجه شدم
    ولي نتونستم پيادش كنم
    اون كلاسي هم كه لينكش رو دادم ممنون ميشم اگر كسي بررسي كند

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    خوب شما چه کار کرده‌اید که نشده؟
    اصولا شما اگر این کدها رو متوجه می‌شید که دیگه نباید مشکلی وجود داشته باشه.

  8. #8

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    خوب من از اون كلاس تمپلت استفاده كرده
    به اين روش

    کد HTML:
    <!-- BEGIN BLOCK Links -->
    <a target="_blank" href="{link_url}">{link_title}</a></font> 
    <!-- END BLOCK Links -->
    بعدش اومدم توي اون بخش افزودن بلوك در فايل php از $link استفاده كردم كه قبلش در يك حلقه قرار گرفته است با اين ترتيب در بخش صفحه كاربر لينكها قرار ميگيره
    حالا بايد از چه طريق دكمه حذف لينك را قرار بدم
    اميدوارم متوجه منظورم شده باشين

  9. #9
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    ببین
    شما با این کار، داری یه لینک می‌سازی که کاربر را به یک صفحه هدایت می‌کنه و داخل اون صفحه، فایل شما باید پاک بشه.
    دکمه‌ی چی؟ این لینک خودش یه جور دکمه است دیگه.

  10. #10

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    راستش متوجه نميشم
    اگر ميتونستم مينوشتمش
    اگر امكانش هست مستقيم بگين چون من الان دو روزه كل نت رو گشتم ولي نتونستم بفهمم
    البته شايد اشكال كار استفاده از كلاس تمپلت هم باشه كه كار منو پيچيده ميكنه ولي اگر راه و روشش رو براي حذف يك لينك ياد بگيرم ديگه هيچ كجا مشكلي نخواهم داشت

  11. #11
    کاربر دائمی آواتار Hell Lord
    تاریخ عضویت
    فروردین 1389
    محل زندگی
    Hell
    پست
    230

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    فکر میکنم بدون مطالعه میخواهید یک تکه کد را بنویسید.
    اول با $_GET و $_POST اشنا شوید ، بعد با query در php . تمام مشکل در همین 2 مبحث خلاصه میشود که باید بدانید!

  12. #12

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    فكر كنم من نتونستم منظور رو برسونم
    اينايي رو كه گفتين بلدم
    من نميدونم چطوري بايد لينك حذف رو با اون لينك تطابق بدم
    الان شما يك لينك داري و ميخواي اونو حذف كني چي در مقابلش ميذاري
    خوب يك كلمه مينويسي به نام حذف بعدش چطوري بايد با اون لينك در ارتباط باشه
    بذارمشون داخل يك فرم ؟
    چون شما گفتي بايد از طريق GET يا POST ارسالشون كنم
    ميشه مثال بزنين يا روي كدهاي خودم پيادش مني

  13. #13
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    اگر امكانش هست مستقيم بگين چون من الان دو روزه كل نت رو گشتم ولي نتونستم بفهمم
    به نظر شما اگر من را ببرند در دل نیروگاه هسته‌ای بوشهر، همه چیز را هم به من نشان بدهند، می‌توانم خودم یک نیروگاه اتمی جدید بسازم؟
    مسلما نه.
    چرا؟
    زیرا دانش، با داشتن اطلاعات متفاوته.
    شما برای یک بچه‌ی اول دبستانی، اگر بیای تمام کتابهای انتگرال رو در اختیارش بذاری هم نمی‌تونه یک انتگرال ساده بگیره. چون درسته که همه‌ی اطلاعات در اختیارش هست؛ ولی مقدمات را بلد نیست.

    مثال‌ها کمی اغراق‌آمیز بودند که مساله به‌تر روشن بشه.

    شما اگر مسائل پایه‌ای php را ندانید، به‌ترین کد دنیا را هم جلوی شما بگذارند، چیزی بیش از یک سری نوشته و کد بی معنی برای شما چیزی دیگری نخواهد داشت.

    شما الآن مشکل الگوریتم دارید. یعنی نمی‌دانید باید این مساله چگونه حل شود.
    شما دارید برنامه نویسی می‌کنید. برنامه‌نویسی یعنی شما باید به کامپوتر بگید که چگونه فلان کار را انجام بدهد.

    همان‌طور Hell Lord اشاره کرد، مسائل فنی گفته شده. شما هم به جای این سوالات، کمی دایره‌ی اطلاعات خود از مباحث اولیه‌ی php و به طوری کلی طراحی وب گسترش دهید.

    امیدوارم سمءتفاهمی پیش‌نیاد. به هر حال باید بدانید مشکل‌تان کجا است. اگر هم با خودتان رو راست نباشید، فقط وقت تلف خواهید کرد.

  14. #14

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    نمي دونم شايد اين چنين كه شما ميگن باشه
    منظور شما رو از مسائل پايه متوجه نشدم
    مشكل من اين هستش كه نتونستم سوالم رو درست بپرسم و شما هم متوجه منظور من نشدين
    از همگيتون ممنونم
    با تشكر

  15. #15
    کاربر دائمی
    تاریخ عضویت
    تیر 1386
    محل زندگی
    تهران، رشت
    پست
    711

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    دوست عزیز؛
    راه حل همانی است که خودتان در پست اول به آن اشاره کردید:
    <a href="delete.php?linkid=21">حذف اين لينك</a>


    من یه سوال دارم.
    آیا شما مفهوم این خط کد را متوجه می‌شوید؟

  16. #16
    کاربر دائمی
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    ایران، شیراز، ... ، خونمون، روبروی مانیتور
    پست
    539

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    آقا مساله رو بزارین به عهده من
    من با این کلاس تمپلیت آشنا هستم
    پس...
    شروع میکنیم:

    ببینید، شما برای این که بتونید یک رکورد رو حذف کنید نیاز به یک کوئری دارید که اجرا بشه که همونه که نوشتید
    اما باید بدونید کی اجراش کنید مثلا فرض کنید میخوایم در این کلاس تمپلیت لیست کاربران را نمایش دهیم و هر کدام رو که خواستیم حذف کنیم
    برای این کار 3 فایل نیاز داریم:
    1- فایل قالب:
    کد HTML:
    <html>
    <body>
    <table>
    <tr>
    <td> نام </td>
    <td> نام خانوادگی </td>
    </tr>
    <!-- BEGIN BLOCK list -->
    <tr>
    <td> {name} </td>
    <td> {lname} </td>
    <td> <a href="delete.php?id={id}">حذف</a> </td>
    </tr>
    <!-- END BLOCK list -->
    </table>
    </body>
    </html>
    خب تا این جا شما یک قالب دارین که به ازای هر نفر، یک لینک حذف میاد جلوشون و 3 تا متغیر name، lname و id
    درسته؟

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

    <?php
    session_start();
    include('config/config.php');
    include('config/Template.php');
    if(isset($_SESSION['username']))
    {
    $username=$_SESSION['username'];
    }
    $MyTpl = new Template();
    $MyTpl -> load_file( 'temp/user.htm' );
    // get link from user
    $res = mysql_query("select * from `sendlink` where username='$username'");
    while($link = mysql_fetch_array($res)){
    $MyTpl->add_block('list',array(
    'id'=>$link['id'],
    'name'=>$link['name'],
    'lname'=>$link['lname'],
    ));
    }


    $MyTpl -> print_template();



    ?>
    و فایل آخری هم برای حذف رکورد:

    <?php
    session_start();
    include('config/config.php');
    include('config/Template.php');
    if(isset($_SESSION['username']))
    {
    $username=$_SESSION['username'];
    }
    $id = @$_GET['id'];
    @mysql_query("DELETE FROM `sendlink` where id='$id' LIMIT 0,1 ");
    ?>
    امیدوارم مطلب مفید واقع شده باشه

    ----------------------------------------------
    اگه مشکل حل شده تشکر فراموش نشه.........

  17. #17

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    آقاي AmirBeginner واقعآ ممنون
    نميدونم چطوري از شما تشكر كنم
    از ديگر دوستان هم كه منو همراهي كردن كمال تشكر رو دارم
    فقط يك مشكل بود اونم در كوئري limit 0,1 چون اين به منظور اين بودش كه فقط يك لينك ميتونه حذف بشه
    هر كار ميكردم جواب نميداد ولي صفر رو حذف كردم درست شد
    فقط ديگه مونده UPDATE رو ياد بگيرم
    چون INSERT , SELECT , DELETE رو ياد گرفتم اون بخش رو هم ياد بگيرم فكر كنم بخش كوئري ها تموم شه
    چون اصلش همين 4 حالت هستش

    فقط ميشه بگين كه @ قبل $_GET و كوئري چه كاري انجام ميده ؟

  18. #18
    کاربر دائمی
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    ایران، شیراز، ... ، خونمون، روبروی مانیتور
    پست
    539

    نقل قول: مشكل در حذف اطلاعات ديتابيس

    نقل قول نوشته شده توسط mirzajavad مشاهده تاپیک
    آقاي AmirBeginner واقعآ ممنون
    نميدونم چطوري از شما تشكر كنم
    از ديگر دوستان هم كه منو همراهي كردن كمال تشكر رو دارم
    فقط يك مشكل بود اونم در كوئري limit 0,1 چون اين به منظور اين بودش كه فقط يك لينك ميتونه حذف بشه
    هر كار ميكردم جواب نميداد ولي صفر رو حذف كردم درست شد
    فقط ديگه مونده UPDATE رو ياد بگيرم
    چون INSERT , SELECT , DELETE رو ياد گرفتم اون بخش رو هم ياد بگيرم فكر كنم بخش كوئري ها تموم شه
    چون اصلش همين 4 حالت هستش

    فقط ميشه بگين كه @ قبل $_GET و كوئري چه كاري انجام ميده ؟
    خواهش میکنم دوست عزیز
    انجمن همینش خوبه دیگه
    یه روزم من یه سوال میکنم شما جواب میدین
    راجع به update هم سرچ کنید قبلا یک مقاله در مورد دستورات اس کیو ال رو همین سایت گذاشته بودم
    البته فکر کنم تو بخش اس کیو ال سرور یا دلفی بود
    البته اون موقع اسمم AbiriAmir بود
    در هر صورت سرچ کنید حتما پیدا میکنید
    حالا یا مقاله منو یا صحبت های اساتید انجمن رو

    و راجع به علامت @ باید بگم که این علامت جلوی نوشتن ارور رو میگیره یعنی اگر برنامه با ارور مواجه شد ارور رو نشون نمیده که البته بهتره تو پروژه نهایی از این استفاده کنید و در طول کار نباشه تا ارورهاشو متوجه بشین
    آخه ارورها واسه هکرها خیلی کاربرد دارن!!!

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •