رفتن به مطلب

تخته امتیازات

  1. Masih

    Masih

    مدیر انجمن


    • امتیاز

      26

    • تعداد ارسال ها

      3,818


مطالب محبوب

در حال نمایش مطالب دارای بیشترین امتیاز از زمان 00/09/02 در همه بخش ها

  1. درود؛ طبق پاسخ قبلی که دادم، فایل های مربوط به پلیر این اسکریپت از سرور خارجی لود میشه. شما می تونید این سه فایل رو توی هاست خودتون قرار بدید و لینک فایل ها رو تغییر بدید تا از هاست خودتون لود کنه. برای کاربران خارجی مشکلی نداره لودش ولی برای کاربر ایرانی چون از طرف سایت unpkg.com پهنای باند کمی برای کشور ایران در نظر گرفتن یه مقدار لودش طول می کشه. و اگه بخواهید پلیر رو کلا حذف کنید باید این سه فایل که توی دو پاسخ قبل گفتم از اسکریپت حذف کنید. کد پلیر ویدئو این اسکریپت همون تگ video هست ولی این اسکریپت و استایل که لود میشه، به نوعی ظاهر رو بازنویسی می کنه. این سه فایل رو حذف کنید از پلیر پیش فرض مرورگر استفاده میشه
    1 امتیاز
  2. درود؛ این اسکریپت یه بخش Directory داره که توی اونجا مطالب رو بر اساس نوع دسته بندی اونها یعنی وبلاگ، انجمن و ... بصورت لیست نمایش میده. می تونید کلا محتویات فایل دایرکتوری قالب رو با فایل ایندکس جایگزین کنید. در حالت عادی کاربرا برای مشاهده صفحات داخلی نیاز به عضویت ندارند البته توی تنظیمات میشه برای دیدن صفحات عضویت رو اجباری کرد، ولی بصورت پیش فرض نیاز به عضویت نیست و مهمان ها می تونند صفحات رو ببینند. مثلا می تونید مثل کاری که من کردم یه سری پست ها رو توی ایندکس نمایش بدید و یک سایت مپ هم برای این اسکریپت بنویسید که مطالب رو بتونه توی سایت مپ قرار بده تا گوگل هم بتونه به راحتی ایندکس کنه.
    1 امتیاز
  3. اطلاعی ندارم نسخه های جدیدشو چک نکردم. باید خودتون امتحان کنید.
    1 امتیاز
  4. کدهای پلیر این اسکریپت توی سراسر اسکریپت نوشته شده. تغییر پلیر از یک کتابخانه به کتابخانه دیگه نیازمند تغییر کدهای سراسر اسکریپت هست. که نه در این انجمن زمان و فرصتش هست و نه بطور رایگان میشه انجامش داد.
    1 امتیاز
  5. درود؛ کدهای زیادی باید تغییر داده بشه. یکی از سرویس های پیامک این اسکریپت Twilio هست در مسیر includes\libs درگاه پرداخت هم فعلا پی پال، استریپ و coinpayment رو داره.
    1 امتیاز
  6. درود؛ اگه منظورتون اینه که همه نتایج از گوگل پاک شده که باید چک کنید. اگه منظورتون اینه که دامنه از نظر گوگل پاک شده (بنا به دلایلی مثل اسپم یا پنالتی)، باید دامنه رو مجددا توی گوگل کنسول اضافه کنید تا اطلاعات دامنه بیاد بالا. اون موقع بهتون میگه دامنه مشکل داره هنوز یا خیر
    1 امتیاز
  7. درود؛ کدهای پلیر این اسکریپت از سرور خارجی لود میشه. فایل _js_files.tpl در پوشه content\themes\default\templates رو باز کنید، سه خط زیر مربوط به پلیر هست. شما برای تغییرات باید فایل ها رو دانلود و داخل سرور خودتون آپلود کنید بعد تغییرات رو داخلشون بدید. کدهای لود فایل هاشم اینا هستش: <script src="https://unpkg.com/video.js@7.8.4/dist/video.min.js" {if !$user->_logged_in}defer{/if}></script> <script src="https://unpkg.com/videojs-contrib-hls@5.15.0/dist/videojs-contrib-hls.min.js" {if !$user->_logged_in}defer{/if}></script> <link href="https://unpkg.com/video.js@7.8.4/dist/video-js.min.css" rel="stylesheet">
    1 امتیاز
  8. درود؛ برای مخفی کردن پیشخوان وردپرس افزونه https://wordpress.org/plugins/wps-hide-login رو پیشنهاد می کنم. اگه قالبتون متاهای مخصوص وردپرس رو داخل قالب خروجی میگیره باید کدهای مخصوص بهشون رو استفاده کنید. عموما متاهای پیش فرض وردپرس و خوراک سایت رو می تونید با کد زیر توی فایل functions قالب مخفی کنید: // Disable global RSS, RDF & Atom feeds. add_action( 'do_feed', 'disable_feeds', -1 ); add_action( 'do_feed_rdf', 'disable_feeds', -1 ); add_action( 'do_feed_rss', 'disable_feeds', -1 ); add_action( 'do_feed_rss2', 'disable_feeds', -1 ); add_action( 'do_feed_atom', 'disable_feeds', -1 ); // Disable comment feeds. add_action( 'do_feed_rss2_comments', 'disable_feeds', -1 ); add_action( 'do_feed_atom_comments', 'disable_feeds', -1 ); // Prevent feed links from being inserted in the <head> of the page. add_action( 'feed_links_show_posts_feed', '__return_false', -1 ); add_action( 'feed_links_show_comments_feed', '__return_false', -1 ); remove_action( 'wp_head', 'feed_links', 2 ); remove_action( 'wp_head', 'feed_links_extra', 3 ); remove_action('wp_head', 'print_emoji_detection_script', 7); remove_action('wp_print_styles', 'print_emoji_styles'); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_action('wp_head', 'rel_canonical'); remove_action('wp_head', 'wlwmanifest_link'); add_filter('xmlrpc_enabled', '__return_false'); remove_action('wp_head', 'wp_generator'); برای دیتابیس هم این حجم غیرعادیه! باید چک کنید اصلا کدوم جدول حجم رو مصرف می کنه؟ گاهی اوقات تعویض چند قالب باعث میشه در جدول postmeta اطلاعات اضافه باقی بمونه. برای حل مشکل می تونید با افزونه های بک آپ گیری، اطلاعات دیتابیس که درحال استفاده هستن رو بکاپ بگیرید، کل دیتابیس رو حذف کنید. وردپرس رو مجددا نصب کنید و اون بکاپ رو ایمپورت کنید. البته این کار هم ریسک داره و بطور عادی انجام نمیشه اما در مواقع ضروری مثل بالارفتن غیرعادی حجم دیتابیس اینکار انجام میشه. برای سایت های خبرخوان که با افزونه خبرخوان مطالب رو ایمپورت می کنند این حجم می تونه عادی باشه اما برای باقی سایت ها خیر. تعداد اطلاعات بلااستفاده ای که افزونه بتونه حذف کنه خیلی کمه ولی به هر حال می تونید افزونه https://wordpress.org/plugins/wp-optimize رو امتحان کنید
    1 امتیاز
  9. Gravity Forms نام یک افزونه حرفه ای می باشد که با استفاده از آن قادر هستید انوع فرم های مختلف را در وب سایت وردپرسی خود را بدون نیاز به دانش خاص و یا صرف وقت زیاد طراحی و ایجاد کنید! این افزونه شما را قادر می سازد انواع فرم ها با فیلد های مختلف ، قابلیت انتخاب ظاهر دلخواه و ایجاد فرم های چند مرحله ای ، قابلیت ایجاد محدودیت برای فرم ها ، ساخت فیلد های پیشرفته و شرطی ، قابلیت ساخت فرم و نمایش آن در زمان بندی های مختلف ، قابلیت ایجاد انواع فیلد های محاسبه گر (وزنی ، و…) ، قابلیت اتصال به درگاه پرداخت پس از ثبت فرم برای پرداخت وجهی دلخواه می باشد. لیست افزودنی های موجود در این پست: Gravity Forms 2Checkout Add-On v2.0 Gravity Forms Addons – ReCaptcha v1.1 Gravity Forms Addons – Akismet v1.0 Gravity Forms Active Campaign Add-On v1.9.0 Gravity Forms Advanced Post Creation Add-On v1.1 Gravity Forms Agile CRM Add-On v1.4 Gravity Forms Authorize.Net Add-On v2.11 Gravity Forms AWeber Add-On v2.10.1 Gravity Forms Batchbook Add-On v1.3 Gravity Forms Breeze Add-On v1.5 Gravity Forms Campaign Monitor Add-On v3.9.0 Gravity Forms Campfire Add-On v1.2.2 Gravity Forms Capsule CRM Add-On v1.6 Gravity Forms Chained Selects Add-On v1.5 Gravity Forms Clever Reach Add-On v1.7 Gravity Forms Coupons Add-On v3.0 Gravity Forms Debug Add-On v1.0.beta11 Gravity Forms Dropbox Add-On v3.0 Gravity Forms FreshBooks Add-On v2.8 Gravity Forms GetResponse Add-On v1.6 Gravity Forms Gutenberg Add-On v1.0-rc-1.2 Gravity Forms Help Scout Add-On v1.15.1 Gravity Forms Highrise Add-On v1.3 Gravity Forms HipChat Add-On v1.2 Gravity Forms iContact Add-On v1.5 Gravity Forms Mad Mimi Add-On v1.4 Gravity Forms MailChimp Add-On v5.0 Gravity Forms Mailgun Add-On v1.3 Gravity Forms Partial Entries Add-On v1.6.1 Gravity Forms PayPal Payments Standard Add-On v3.5 Gravity Forms PayPal Payments Pro Add-On v2.7 Gravity Forms PayPal Commerce Platform Add-On v2.2 Gravity Forms Pipe Add-On v1.1.1 Gravity Forms Polls Add-On v3.9 Gravity Forms Postmark Add-On v1.3 Gravity Forms Quiz Add-On v3.8 Gravity Forms SendGrid Add-On v1.5 Gravity Forms Signature Add-On v4.1 Gravity Forms Slack Add-On v1.12 Gravity Forms Stripe Add-On v4.1.1 Gravity Forms Survey Add-On v3.7 Gravity Forms Trello Add-On v2.0 Gravity Forms Twilio SMS Add-On v2.8 Gravity Forms User Registration Add-On v4.9 Gravity Forms Webhooks Add-On v1.5 Gravity Forms Zapier Add-on v4.1.1 Gravity Forms Zoho CRM Add-On v1.13.1 Easy Passthrough for Gravity Forms v1.4.1 Entry Automation for Gravity Forms v1.4.4 Entry Automation Dropbox Extension v1.0.1 Entry Automation FTP Extension v1.0 Entry Automation Amazon S3 Extension v1.0.1 Live Population for Gravity Forms v1.4.5 Gravity Forms Styles Pro Add-on v3.0 Gravity Forms Range Slider v1.1 Gravity Forms – List & Edit v2.3.0 Gravity Forms SMS Pro v1.2.0 Gravity Forms Invitation Codes v3.0 Double Opt in for Gravity Forms (GDPR & DSGVO compliant) – E-Mail Address Verification v1.8.1 Rcwd Upload for Gravity Forms v1.1.7.0 Gravity Forms – WPDB / MySQL Connect v3.6.7 Lastform v2.1.1.6 – Affordable Typeform alternative for WordPress Form Generating PDF v3.5.8 – Contact Form 7 Gravity Forms Bulk Actions Add-On v1.3.1 Gravity Forms Bulk Add Fields Add-On v1.1.2 Gravity Forms Collapsible Sections Add-On v1.1.27 Gravity Forms Image Choices Add-On v1.3.42 Gravity Forms Color Picker Add-On v1.1.20 Gravity Forms Mollie Add-On v1.2 GFChart – Business reports from Gravity Forms v2.2.0 RC1 WPSyncSheets For Gravity Forms – Gravity Forms Google Spreadsheet Addon v4.3 Gravity Forms Emma Add-On v1.5 Gravity Forms Geolocation Add-on v3.0.1 WooCommerce – Gravity Forms Product Add-Ons v3.3.24 Gravity Forms Encrypted Fields v5.9.2 Gravitizer – Gravity Forms Material UI Styler v1.0.8 Gravity Forms Google Spreadsheet Addon v4.2 Slim Image Cropper for Gravity Forms, Photo Uploading and Cropping Plugin v1.10.1 Gravity Forms integration for wpDataTables v1.5.2 Gravity Forms HubSpot Add-On v1.6.1 Gravity Forms Timed Entries v2.7.2 Gravity Forms Import Entries v1.3.1 Gravity Forms Square v1.5 Gravity Forms Constant Contact Add-On v1.4 Gravity Forms Tooltips Add-On v1.1.17 WordPress Gravity Forms PDF, Excel & CSV v1.7.1 Gravity Forms Date Dropper Field Add-On v1.3.1 Gravity Forms Realex Payment Integration Addon v1.0.2 Pin Payments Gateway for Gravity Forms v1.0.2 gAppointments – Appointment booking addon for Gravity Forms v1.9.6 دانلود نسخه 2.5.15 gravityforms.zip دانلود پکیج افزودنی ها: Archive-bf19.zip
    1 امتیاز
  10. درود؛ از افزونه https://wordpress.org/plugins/advanced-export می تونید استفاده کنید ولی برای کامنت ها تضمینی نیست که افزونه ها بتونند بطور کامل انجامش بدن. چون کامنت ها با یک آی دی به پست متصل میشن و زمانی که اکسپورت و ایمپورت میشن، آی دی پست ها هم تغییر می کنه که در این حالت کامنت با پست نمی تونه متصل بشه. مگر اینکه افزونه بتونه آی دی کامنت ها رو هم ویرایش کنه موقع ایمپورت کردن. راه دیگه اینه بطور دستی از دیتابیس مربوط به پست ها ، محصولات و کامنت ها در phpmyadmin اکسپورت بگیرید!
    1 امتیاز
  11. درود؛ صفحه ای که مدنظرتون هست در گوگل ایندکس شده
    1 امتیاز
  12. درود؛ لطفا سوالتون رو واضح و دقیق تر بپرسید! در چه حالتی؟ وردپرس شبکه یا وردپرس معمولی؟ شناسایی کلمات و حذف مطلب یا مخفی کردن مطلب از طریق تبدیل اون به پیش نویس؟ یکم بیشتر توضیح بدید موقع سوال پرسیدن که بتونیم راهنمایی کنیم. دقیقا میخواهید چکار کنید؟
    1 امتیاز
  13. درود؛ 8 گیگ رم و سی پی یو 4 هسته ای می تونه به خوبی وردپرس و ووکامرس و یک قالب سنگین با توابع زیاد رو براتون به راحتی اجرا کنه. کانفیگ و ماژول های PHP اون هم مهمه که باید بطور کامل تمامی پیش نیازهای وردپرس رو نصب کرده باشید روش.
    1 امتیاز
  14. درود؛ برای درگاه پرداخت که اکثرا ایمن هستند (البته درگاه های پرداخت مطرح که توسعه دهنده های زیادی تا الان روی درگاه های پرداخت اون کار کرده باشند). تفاوتی هم نداره کدوم درگاه رو انتخاب کنید، مثلا زرین پال، آی دی پی و ... اکثر این درگاه های واسط، در قسمت آزمایشگاه کدهاشون نمونه کدهایی برای PHP دارند که می تونید ازشون استفاده کنید. مهم ترین بخش امنیت قسمت پرداخت سایتتون برمیگرده به نحوه کدنویسی خودتون و دریافت و پردازش اطلاعات پس از پرداخت موفق یا ناموفق. پس سعی کنید کدهاتون رو اصولی و استاندارد بنویسید که امکان دور زدنش وجود نداشته باشه.
    1 امتیاز
  15. سلام؛ توی تاپیکی که قبلا زدید هم راه های زیادی رو پیشنهاد کردم اگه هیچکدوم تا الان جواب نداده تنها کاری که باقی مونده اینه که از فایل های درایو C (درایوی که ویندوز روش نصبه) بک آپ بگیرید و به صورت کامل ویندوز رو از صفر نصب کنید. بعد درایورها رو نصب کنید. من شخصا چنین مشکلی با ویندوز 10 قبلا پیش اومده بود و با آپدیت درایور کارت شبکه Realtek حل شد. توی اون تاپیک هم بهتون گفتم ظاهرا کارساز نبوده. تنها راهی که براتون مونده اینه که ویندوز رو دوباره نصب کنید. احتمالا ویروسی یا نرم افزاری ریختید که بخشی از رجیستری های ویندوز رو حذف کرده.
    1 امتیاز
  16. درود؛ آخرین نسخه این اسکریپت در این تاریخ 1.1 هست: https://codecanyon.net/item/adsrock-ads-network-digital-marketing-platform/31621699 این اسکریپت نسخه نال شده اش دارای مشکلاتی هست که چون هنوز توسط تیم بیست اسکریپت آزمایش و اسکن نشده، لینک دانلودی ازش نمی تونم در اینجا بهتون ارائه کنم اما اگه عبارت AdsRock Nulled رو جستجو کنید توی گوگل، سایت هایی هستند که نسخه نال شده رو قرار دادن می تونید با مسئولیت خودتون استفاده کنید.
    1 امتیاز
  17. درود؛ فایل https://www.20script.ir/cherry-android-online-music-player-with-admin-panel یک سورس اپلیکیشن اندروید هست به همراه یک پنل مدیریت. سورس اپلیکیشن اندرویدش که باید با نرم افزار Android Studio ویرایش بشه. یه سری تنظیمات داره باید انجام بشه. پنل مدیریتش به صورت یک اسکریپت جدا هست و باید روی هاست و دامین یا سابدامین نصب کنید. آموزش های کامل تر داخل خود پکیج دانلودی هست. شما اول باید پنل مدیریت رو روی هاستتون نصب کنید بعد سورس اپلیکیشن رو با نرم افزار اندروید استودیو ویرایش کنید مثل تغییر نام و آیکن و پکیج و ...
    1 امتیاز
  18. درود؛ هیچ یک از افزونه های اتصال وردپرس به هاست دانلود خیلی وقته دیگه آپدیت نشدن و عملا دیگه کار نمی کنند. تنها راهی که فعلا میشه استفاده کرد، اتصال به هاست دانلود از طریق نرم افزارهایی مثل FileZilla در کامپیوتر هست. فایل هاتون رو داخلش آپلود کنید و لینک مستقیم رو برای تصاویر و دانلود فایل ها داخل سایت اصلی قرار بدید. افزونه https://wordpress.org/plugins/featured-image-from-url رو هم نصب کنید تا بتونید تصویر شاخص رو با لینک مستقیم برای هر پست اضافه کنید و نیاز به آپلود تصویر شاخص نباشه.
    1 امتیاز
  19. قبلا از لاگین نمیتونید احراز هویت کنید. چون تمامی اقدامات امنیتی و شناسایی ورودها در wp-login.php انجام میشه. اگه جای دیگه ای قراره احراز هویت بشن، باید یه فرم ورود و عضویت اختصاصی طراحی کنید و تمامی فیلدهای احراز هویت رو اونجا استفاده کنید. در حال فعلی کاربر اول لاگین میشه بعد می تونید به یه فرم دیگه منتقلش کنید. کد ریداریکت بعد از لاگین: add_action('wp_head','masih_redirect_admin'); function masih_redirect_admin(){ if(is_admin()){ wp_redirect(WP_HOME.'/new-login.php'); die; } }
    1 امتیاز
  20. خب پس دیگه کار خاصی نداره که بخواهید انجام بدید، صفحه ی ورود و عضویت حتما HTTPS باشه و دستورات مربوط به عضویت هم sanitize یا همون Real Escape باشه. مثال: https://www.php.net/manual/en/mysqli.real-escape-string.php برای امنیت فرم ورود و عضویت غیر از این دو راه، چیز دیگه ای مربوط به توسعه دهنده نمیشه. مابقیش بحث امنیت SSL و فایروال هست که Force Attack رو خنثی کنه. توی کدهای مثالی که دادم توی قسمت action فرم ورود و عضویت، آدرس صفحه ها با فیلتر کردن اطلاعات ورودی سنجش میشه، اون رو هم مد نظرتون باشه. یعنی این: echo htmlspecialchars($_SERVER["PHP_SELF"])
    1 امتیاز
  21. پس کاری که باید بکنید اینه که اول یه فایل php بسازید و اطلاعات دیتابیس رو داخلش وارد کنید تا کد بتونه به دیتابیس وصل بشه. مثلا config.php و اینو داخلش قرار بدید و اطلاعات دیتابیس رو وارد کنید <?php define('DB_SERVER', 'localhost'); define('DB_USERNAME', 'root'); define('DB_PASSWORD', 'xxxx'); define('DB_NAME', 'demo'); $link = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME); if($link === false){ die("ناتوانی در اتصال به دیتابیس" . mysqli_connect_error()); } ?> بعد باید یه فایل برای ورود یا عضویت بسازید و ترکیبی از PHP و HTML استفاده کنید تا فرم عضویت داشته باشید: <?php require_once "config.php"; $username = $password = $confirm_password = ""; $username_err = $password_err = $confirm_password_err = ""; if($_SERVER["REQUEST_METHOD"] == "POST"){ // Validate username if(empty(trim($_POST["username"]))){ $username_err = "Please enter a username."; } elseif(!preg_match('/^[a-zA-Z0-9_]+$/', trim($_POST["username"]))){ $username_err = "Username can only contain letters, numbers, and underscores."; } else{ // Prepare a select statement $sql = "SELECT id FROM users WHERE username = ?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_username); // Set parameters $param_username = trim($_POST["username"]); // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ /* store result */ mysqli_stmt_store_result($stmt); if(mysqli_stmt_num_rows($stmt) == 1){ $username_err = "This username is already taken."; } else{ $username = trim($_POST["username"]); } } else{ echo "Oops! Something went wrong. Please try again later."; } // Close statement mysqli_stmt_close($stmt); } } // Validate password if(empty(trim($_POST["password"]))){ $password_err = "Please enter a password."; } elseif(strlen(trim($_POST["password"])) < 6){ $password_err = "Password must have atleast 6 characters."; } else{ $password = trim($_POST["password"]); } // Validate confirm password if(empty(trim($_POST["confirm_password"]))){ $confirm_password_err = "Please confirm password."; } else{ $confirm_password = trim($_POST["confirm_password"]); if(empty($password_err) && ($password != $confirm_password)){ $confirm_password_err = "Password did not match."; } } // Check input errors before inserting in database if(empty($username_err) && empty($password_err) && empty($confirm_password_err)){ // Prepare an insert statement $sql = "INSERT INTO users (username, password) VALUES (?, ?)"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "ss", $param_username, $param_password); // Set parameters $param_username = $username; $param_password = password_hash($password, PASSWORD_DEFAULT); // Creates a password hash // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ // Redirect to login page header("location: login.php"); } else{ echo "Oops! Something went wrong. Please try again later."; } // Close statement mysqli_stmt_close($stmt); } } // Close connection mysqli_close($link); } ?> <!DOCTYPE html> <html lang="fa-IR"> <head> <meta charset="UTF-8"> <title>عضویت</title> </head> <body> <div class="wrapper"> <h2>Sign Up</h2> <p>Please fill this form to create an account.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group"> <label>Username</label> <input type="text" name="username" class="form-control <?php echo (!empty($username_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $username; ?>"> <span class="invalid-feedback"><?php echo $username_err; ?></span> </div> <div class="form-group"> <label>Password</label> <input type="password" name="password" class="form-control <?php echo (!empty($password_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $password; ?>"> <span class="invalid-feedback"><?php echo $password_err; ?></span> </div> <div class="form-group"> <label>Confirm Password</label> <input type="password" name="confirm_password" class="form-control <?php echo (!empty($confirm_password_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $confirm_password; ?>"> <span class="invalid-feedback"><?php echo $confirm_password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Submit"> <input type="reset" class="btn btn-secondary ml-2" value="Reset"> </div> <p>Already have an account? <a href="login.php">Login here</a>.</p> </form> </div> </body> </html> این کد هم برای فرم ورود: <?php session_start(); if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){ header("location: welcome.php"); exit; } require_once "config.php"; // Define variables and initialize with empty values $username = $password = ""; $username_err = $password_err = $login_err = ""; // Processing form data when form is submitted if($_SERVER["REQUEST_METHOD"] == "POST"){ // Check if username is empty if(empty(trim($_POST["username"]))){ $username_err = "Please enter username."; } else{ $username = trim($_POST["username"]); } // Check if password is empty if(empty(trim($_POST["password"]))){ $password_err = "Please enter your password."; } else{ $password = trim($_POST["password"]); } // Validate credentials if(empty($username_err) && empty($password_err)){ // Prepare a select statement $sql = "SELECT id, username, password FROM users WHERE username = ?"; if($stmt = mysqli_prepare($link, $sql)){ // Bind variables to the prepared statement as parameters mysqli_stmt_bind_param($stmt, "s", $param_username); // Set parameters $param_username = $username; // Attempt to execute the prepared statement if(mysqli_stmt_execute($stmt)){ // Store result mysqli_stmt_store_result($stmt); // Check if username exists, if yes then verify password if(mysqli_stmt_num_rows($stmt) == 1){ // Bind result variables mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password); if(mysqli_stmt_fetch($stmt)){ if(password_verify($password, $hashed_password)){ // Password is correct, so start a new session session_start(); // Store data in session variables $_SESSION["loggedin"] = true; $_SESSION["id"] = $id; $_SESSION["username"] = $username; // Redirect user to welcome page header("location: welcome.php"); } else{ // Password is not valid, display a generic error message $login_err = "Invalid username or password."; } } } else{ // Username doesn't exist, display a generic error message $login_err = "Invalid username or password."; } } else{ echo "Oops! Something went wrong. Please try again later."; } // Close statement mysqli_stmt_close($stmt); } } // Close connection mysqli_close($link); } ?> <!DOCTYPE html> <html lang="fa-IR"> <head> <meta charset="UTF-8"> <title>ورود</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <style> body{ font: 14px sans-serif; } .wrapper{ width: 360px; padding: 20px; } </style> </head> <body> <div class="wrapper"> <h2>Login</h2> <p>Please fill in your credentials to login.</p> <?php if(!empty($login_err)){ echo '<div class="alert alert-danger">' . $login_err . '</div>'; } ?> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group"> <label>Username</label> <input type="text" name="username" class="form-control <?php echo (!empty($username_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $username; ?>"> <span class="invalid-feedback"><?php echo $username_err; ?></span> </div> <div class="form-group"> <label>Password</label> <input type="password" name="password" class="form-control <?php echo (!empty($password_err)) ? 'is-invalid' : ''; ?>"> <span class="invalid-feedback"><?php echo $password_err; ?></span> </div> <div class="form-group"> <input type="submit" class="btn btn-primary" value="Login"> </div> <p>Don't have an account? <a href="register.php">Sign up now</a>.</p> </form> </div> </body> </html>
    1 امتیاز
  22. خیر متاسفانه این لینکی که دادید کلا با یه زبان دیگه یعنی ASP نوشته شده. برای PHP دستورات Select MySQLi هست که می تونید با اون و استفاده از فرم ها، اطلاعات رو از کاربر بگیرید و داخل دیتابیس ذخیره کنید و یه فرم عضویت بسازید. ولی برای سیستم ورود، نیاز به کدنویسی زیادی هست. اگه بخواهید برای یه سیستم جداگانه بنویسید که کلا باید کدها بر اساس همون سیستم نوشته بشه و نمیشه یه فایل از یه اسکریپت دیگه رو بردارید و ادغام کنید. تمامی شناسه ها و کدهای دیتابیس و PHP باید همخوانی داشته باشه. باید بطور اختصاصی نوشته بشه
    1 امتیاز
  23. درود؛ متاسفانه تعداد فروش و تقاضای این اسکریپت اونقدری بالا نبوده که نسخه نال شده درست و حسابی ازش منتشر بشه. اگر چیزی پیدا کردید پیوست کنید از نظر باگ و مشکلات امنیتی اسکن کنیم براتون
    1 امتیاز
  24. شاید سرورهاشون تفاوت داره شما با وی پی ان امتحان کنید یکبار
    1 امتیاز
  25. درود؛ یبار با پروکسی تست کنید شاید سروری که استریم می کنه فیلتر باشه
    1 امتیاز
این صفحه از تخته امتیازات بر اساس منطقه زمانی تهران/GMT+۰۳:۳۰ می باشد
×
×
  • اضافه کردن...