ساخت چت روم احساس چت

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

عناصری که ما برای ساخت چت روم با php و jquery استفاده کردیم

PHP – قسمت سرور را مدیریت می کند

پیام های جدید را در یک فایل متنی ذخیره کنید

متن یک پیام جدید را از یک فایل متنی بخوانید

وضعیت فایل متنی را دریافت کنید

امنیت اساسی احساس چت

Jquery / Javascript – سمت مشتری را مدیریت می کند (سمت مشتری). در اینجا ما از آژاکس استفاده می کنیم. این بدان معنی است که تمام پیامهای کاربر بدون بارگیری مجدد صفحه در صفحه اتاق گفتگو نمایش داده می شود.

در یک زمان خاص ، این درخواست را به سرور ارسال می کند که پیام جدیدی وجود دارد

پیام های جدیدی را به صفحه اتاق گفتگو اضافه می کند

گپ را تا آخرین پیام ارسالی پیمایش کنید

یک نام کاربری درخواست می کند اگر نامی را وارد نکنید یک نام تصادفی اختصاص می دهد.

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

امنیت اساسی

فایل متنی TEXT – چت ها را ذخیره کنید

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

شناسه بسته بندی صفحه برای قرار دادن موارد اتاق چت استفاده می شود. دو برچسب div تو در تو برای بخش پیام های کاربر ارائه شده است.

قسمت مهم دیگر برچسب متن با شناسه sendie برای ارسال پیام کاربر است و مقادیر آن را از طریق JavaScript دریافت می کنیم

<div id = “page-wrap”>

    <h2> NetParadis </h2>

    <p id = “name-area”> </p>

    <div id = “chat-wrap”> <div id = “chat-area”> </div> </div>

    <form id = “send-message-area”>

        <p> پیام شما: </ p>

        <textarea id = “sendie” maxlength = ‘100’> </textarea>

    </form>

</div>

UpdateChat بدون در نظر گرفتن اینکه خط جدیدی به پرونده متنی ما اضافه شده است ، درخواستی را ارسال می کند. اگر اضافه شود ، مقدار داده json را برمی گرداند و عملکرد آن را به عنوان یک خط جدید به اتاق گفتگو اضافه می کند

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

getStateOfChat به سادگی از سرور می پرسد که چند خط در یک فایل متنی وجود دارد. بنابراین این یک نوع بررسی برای یک خط جدید است. این اطلاعات در قالب داده های jSON منتقل می شوند.

هر سه توابع فوق از تابع ajax در jquery برای ارسال درخواست به یک فایل php به نام process.php استفاده می کنند و نتیجه دلخواه را می گیرند.

بخش کد PHP

بخشی از داده های ارسالی توسط ajax مقداری است که تابع نامیده می شود. این پارامتر به فایل php اجازه می دهد نوع درخواست را تشخیص دهد. بنابراین اولین کاری که می کنیم این است که برای هر یک از احتمالاتی که تعریف می کنیم یک شرط سوئیچینگ تعیین کنیم. همچنین می توانیم یک متغیر آرایه ای برای ذخیره مقادیر ایجاد کنیم که باید در jSON کدگذاری شده و به برگه javascript برگردانده شود.

< پی اچ پی

    $ function = $ _POST [‘تابع’]؛

    $ log = array ()؛

    سوئیچ (عملکرد $) {

       مورد (‘getState’):

           if (file_exists (‘chat.txt’))) {

               $ lines = file (‘chat.txt’)؛

           }

           $ log [‘state’] = تعداد ($ ردیف)؛

           باقی مانده؛

       مورد (“بروزرسانی”):

          $ status = $ _POST [‘وضعیت’]؛

          if (file_exists (‘chat.txt’))) {

             $ lines = file (‘chat.txt’)؛

          }

          $ count = count ($ ردیف) ؛

          if ($ status == $ number) {

             $ log [‘state’] = $ state؛

             $ log [‘text’] = نادرست ؛

          } یک چیز دیگر {

             $ text = array ()؛

             $ log [‘state’] = $ state + count ($ ردیف) – $ state؛

             foreach ($ سطرهایی مانند $ line_num => $ line) {

                 if ($ line_num> = $ state) {

                       $ text [] = $ line = str_replace (“\ n”، “”، $ line)؛

                 }

             }

             $ log [‘text’] = $ متن؛

          }

          باقی مانده؛

       

       مورد:

       $ alias = htmlentities (strip_tags ($ _ POST [‘alias’])))؛

      $ reg_exUrl = “/ (http | https | ftp | ftps): / \ C *)؟ /”؛

      $ message = htmlentities (strip_tags ($ _ POST [‘پیام’])))؛

      اگر ($ پیام)! = “\ n”) {

        if (preg_match ($ reg_exUrl ، $ message ، $ url)) {

           $ message = preg_replace ($ reg_exUrl، ‘<a href = “‘. $ url [0].

        }

           fwrite (fopen (‘chat.txt’، ‘a’)، “<span>”. $ nickname. “</span>”. $ message = str_replace (“\ n”، “”، $ message). “\ n “) ؛

      }

         باقی مانده؛

    }

    echo json_encode (گزارش $)؛

؟>

وقتی از getState استفاده می کنیم ، تعداد خطوط موجود در پرونده برمی گردد. اگر از به روزرسانی استفاده کنیم ، کل پرونده متنی خوانده می شود و خطوط جدید بازگردانده می شوند. اگر از send استفاده کنیم ، متن پیام توسط تابع preg_match پردازش می شود و به عنوان یک خط جدید در فایل متنی ذخیره می شود.

توجه: فایلهای Php به طور معمول در localhost شما قابل بارگیری نیستند زیرا باید راه اندازی کنید.

Leave a reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>