انجمن


ارسال به دیتابیس  (۷ نوشته)

  • iruni

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۱۰ سال پیش
    ۸ آبان ۱۳۹۰ - ۱۸:۲۶

    عرض ادب و احترام خدمت اساتید
    دوستان من میخوام اطلاعاتی رو مثلاً از داخل چند تکست باکس به درون یکی از جداولم در پایگاه داده که خودم ساختم ارسال کنم

    اگه با یک افزونه بشه که خیلی عالی و بی دردسر میشه و اگر هم خودم باید کدنویسی کنم ممنون میشم راهنماییم کنید. با سپاس فراوان

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۰ سال پیش
    ۸ آبان ۱۳۹۰ - ۱۸:۴۴

    سلام
    این تکست باکس ها کجا هستن؟
    توی پوسته؟
    بیشتر توضیح بدید که چه کاری میخواید انجام بدید.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iruni - Mostafa
  • iruni

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۱۰ سال پیش
    ۹ آبان ۱۳۹۰ - ۰۰:۲۹

    سپاس

    فعلن هدف خاصی ندارم و میخوام درمواقع نیاز لنگش نمونم!
    فرض کنیم می خواهیم در یک برگه جدید و رفتن به حالت کدنویسیه پست، چند باکس قرار بدیم و مثلاً نام را جدا و یک عدد را از باکسی جدا از بازدیدکنندگان بگیریم (بازدیدکنندگان بنویسیند و دکمه ارسال بزنند) و درون یک جدول جدید (رکورد جدید) که خودمان ساختیم اتوماتیک ثبت کنیم

    فکر میکنم برای این کار باید با php بتونم کدنویسی کنم ولی من آشنایی زیادی ندارم و از اونجایی که اصول کار یکی هست اگر کسی به زبان ساده برای یک تکستباکس توضیح بده میشه اونو در جداول گوناگون و مصارف گوناگون استفاده کرد

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۰ سال پیش
    ۹ آبان ۱۳۹۰ - ۰۰:۵۶

    ببینید برای هر کاری میشه جداگانه متدی رو انجام داد.
    اگر هدف ارسال پست بوسیله کاربر هست راهش جداست.
    اگر هدف اضافه کردن مشخصات به کاربر هست راهش جدا و....

    اما در حالت کلی و اگر هدف جدای از موارد بالا باشه باید به دیتابیس سلکت بزنید.
    قبلش باید جدول مورد نظر رو توی دیتابیس ایجاد کنید.
    بعد هم با یک فرم محتوی تکست باکس مقدار (مقادیر) مورد نظرتون رو بگیرید و بریزید توی دیتابیس.

    شما علاوه بر php باید آشنایی نسبی با دستورات sql هم داشته باشی.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iruni
  • iruni

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۱۰ سال پیش
    ۹ آبان ۱۳۹۰ - ۰۱:۱۳

    مرس. دقیقا مورد اول مدنظر من هست یعنی: "هدف ارسال پست بوسیله کاربر"

    البته همین جمله رو که میخونم اولین چیزی که به ذهنم میرسه امکان هک شدن سایت با یک SQL Injection ساده است (حالا امنیتش هیچی)

    خب بزارید عملیتر جلو بریم فرض کنید در دیتابیس به نام DB جدولی به نام T1 با سه فیلد ID از نوع AutomaticIncrease فیلد Name از نوع String و فیلد Score از نوع Integer خودمان ساخته ایم.

    حالا میایم سراق پستی که میخواهیم در برگه جدید بنویسیم
    می خواهیم با کلیک کاربر بر روی Button1 رکورد جدیدی ایجاد و اطلاعات باکسهای Namtxt و Scoretxt در فیلدهای خود ذخیره و Post شود

    خب برای Button1 چه کدی باید نوشت؟

  • iruni

    آفلاین
    عضو
    تعداد نوشته‌ها: ۴
    # نوشته شده: ۱۰ سال پیش
    ۹ آبان ۱۳۹۰ - ۱۱:۰۲

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

    <input type="text" name="nametxt" value="کادر ورود متن" size="30" maxlength="50" />
    <input type="text" name="Scoretxt" value="کادر ورود امتیاز" size="30" maxlength="50" />
    <input type="submit" id="button1" value="ارسال" />

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

  • Morteza

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۳۴۰۲
    تشکر شده: ۳۱۲۸ بار
    # نوشته شده: ۱۰ سال پیش
    ۹ آبان ۱۳۹۰ - ۱۱:۳۶

    اگر ارسال پست مدنظرتون هست که اینجا رو مطالعه کنید :
    72.233.56.142/Function_Reference/wp_insert_post

    اما اگر این مدنظرتون نیست ، براساس روال معمولی ارسال فرم براتون مثال میزنم که ساده باشه.
    شما باید فیلدهاتون رو توی یک فرم قرار بدید:

    <form name="nform" method="post" action="send.php">
    <input type="text" name="nametxt" value="کادر ورود متن" size="30" maxlength="50" />
    <input type="text" name="Scoretxt" value="کادر ورود امتیاز" size="30" maxlength="50" />
    <input type="submit" id="button1" value="ارسال" />
    </form>

    در صفحه بعد (send.php) باید با متد get که توی فرم استفاده کردیم متغیرها رو بگیریم:

    $nametxt = $_POST['nametxt'];
    $Scoretxt= $_POST['Scoretxt'];

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

    $wpdb->query( $wpdb->prepare("INSERT INTO $wpdb->your_custom_table
        ( id, nametxt , Scoretxt ) VALUES ( %d, %s, %s )",1,
          $nametxt , $Scoretxt) );

    البته کد بالا تست شده نیست. فقط برای مثال هست و ممکنه کار نکنه.
    برای اطلاعات بیشتر در مورد اتصال به دیتابیس وردپرس:
    http://72.233.56.142/Class_Reference/wpdb#INSERT_rows

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iruni

درباره‌ی این موضوع