Rumah pembangunan bahagian belakang tutorial php [分享] 《魔镜在线》一个在线随机聊天网站源码,该如何处理

[分享] 《魔镜在线》一个在线随机聊天网站源码,该如何处理

Jun 13, 2016 am 10:04 AM
gt session set update

[分享] 《魔镜在线》一个在线随机聊天网站源码
程序使用PHP+MySQL,jQuery实现Ajax,页面布局用的DIV+CSS,并有一个VB写的客户端程序。

原演示地址:http://ask.n9sky.com/MagicMirror/ (现在不能访问了)

现在贴出部分代码:

server.php 主要的操作处理都在这个文件

PHP code
 <br>  <?php <br /> $do = @$_GET['do']; <br> if ('' == $do) <br> { <br> 	exit('Missing Action'); <br> } <br> require 'config.php'; <br> require 'dll.php'; <br> session_start(); <br> // check session <br> if ('' == $_SESSION['sid']) exit('登录超时,请关闭重试!'); <br> switch ($do) <br> { <br> 	case 'init': <br> 		// check user && update <br> 		dll::import('mysql'); <br> 		$db = new mysql(); <br> 		$db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> 		$db->database($dbs['database']); <br> 		// update <br> 		$rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"'); <br> 		$rs->set('client_to', ''); <br> 		$rs->set('role', RoleOnline); <br> 		$rs->set('last_access_time', time()); <br> 		$rs->setfunc('login_count', 'login_count+1'); <br> 		$rs->set('last_login_time', time()); <br> 		$ip = $_SERVER['REMOTE_ADDR']; <br> 		$ipx = explode('.', $ip); <br> 		$iplong =  <br> 			$ipx[0] * 16777216 + <br> 			$ipx[1] * 65536 + <br> 			$ipx[2] * 256 + <br> 			$ipx[3]; <br> 		$rs->set('last_login_ip', $iplong); <br> 		if (!$rs->update()) <br> 		{ <br> 			// add new <br> 			$rs = $db->insert(DBPrefix.'user'); <br> 			$rs->set('sid', $_SESSION['sid']); <br> 			$rs->set('client_to', ''); <br> 			$rs->set('role', RoleOnline); <br> 			$rs->set('last_access_time', time()); <br> 			$rs->set('login_count', 1); <br> 			$rs->set('last_login_time', time()); <br> 			$rs->set('last_login_ip', $iplong); <br> 			$rs->insert(); <br> 		} <br> 		$db->close(); <br> 		// display init page <br> 		display('init.html'); <br> 	break; <br> 	case 'status': <br> 		dll::import('mysql'); <br> 		// access $dbs <br> 		global $dbs; <br> 		$db = new mysql(); <br> 		$db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> 		$db->database($dbs['database']); <br> 		// update access <br> 		update_access($db); <br> 		// import mysql.class <br> 		display('server.status.html'); <br> 		$db->close(); <br> 	break; <br> 	case 'work': <br> 		$mode = $_GET['mode']; <br> 		// update work mode <br> 		dll::import('mysql'); <br> 		$db = new mysql(); <br> 		$db->connect($dbs['server'], $dbs['user'], $dbs['password']); <br> 		$db->database($dbs['database']); <br> 		// update <br> 		$rs = $db->update(DBPrefix.'user', 'sid="'.$_SESSION['sid'].'"'); <br> 		switch ($mode) <br> 		{ <br> 			case 'answer': <br> 				$rs->set('role', RoleAnswer); <br> 			break; <br> 			case 'asker': <br> 				$rs->set('role', RoleAsker); <br> 			break; <br> 			case 'chater': <br> 				$rs->set('role', RoleChater); <br> 			break; <br> 			case 'offline': <br> 				$rs->set('role', RoleOffline); <br> 				$rs->set('client_to', ''); <br> 				// delete input status cache <br> 				@unlink(dirname('.').'/cache/'.$_SESSION['sid'].'.input.status'); <br> 				// clear session <br> 				unset($_SESSION); <br> 			break; <br> 		} <br> 		$rs->set('last_access_time', time()); <br> 		$rs->update(); <br> 		$db->close(); <br> 		// display mode page <br> 		if ($mode != 'offline') <br> 		{<div class="clear">
                 
              
              
        
            </div>
Salin selepas log masuk
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1654
14
Tutorial PHP
1252
29
Tutorial C#
1225
24
Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Penjelasan terperinci tentang fungsi Set tag dalam teg SQL dinamik MyBatis Feb 26, 2024 pm 07:48 PM

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Bagaimana untuk menyelesaikan kegagalan sesi Bagaimana untuk menyelesaikan kegagalan sesi Oct 18, 2023 pm 05:19 PM

Kegagalan sesi biasanya disebabkan oleh tamat tempoh seumur hidup sesi atau penutupan pelayan. Penyelesaian: 1. Memanjangkan hayat sesi; 2. Gunakan storan berterusan;

Penyelesaian kepada masalah merentas domain Sesi PHP Penyelesaian kepada masalah merentas domain Sesi PHP Oct 12, 2023 pm 03:00 PM

Penyelesaian kepada masalah silang domain PHPSession Dalam pembangunan pemisahan front-end dan back-end, permintaan merentas domain telah menjadi kebiasaan. Apabila menangani isu merentas domain, kami biasanya melibatkan penggunaan dan pengurusan sesi. Walau bagaimanapun, disebabkan oleh sekatan dasar asal penyemak imbas, sesi tidak boleh dikongsi secara lalai merentas domain. Untuk menyelesaikan masalah ini, kita perlu menggunakan beberapa teknik dan kaedah untuk mencapai perkongsian sesi merentas domain. 1. Penggunaan kuki yang paling biasa untuk berkongsi sesi merentas domain

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Bagaimana untuk melaksanakan log masuk SMS dalam aplikasi sesi kongsi Redis Bagaimana untuk melaksanakan log masuk SMS dalam aplikasi sesi kongsi Redis Jun 03, 2023 pm 03:11 PM

1. Melaksanakan log masuk SMS berdasarkan sesi 1.1 Carta alir log masuk SMS 1.2 Melaksanakan penghantaran kod pengesahan SMS Perihalan permintaan hujung hadapan: Penerangan kaedah permintaan POST laluan permintaan/pengguna/kod parameter permintaan telefon (nombor telefon) nilai pulangan Tiada antara muka belakang pelaksanaan: @Slf4j@ ServicepublicclassUserServiceImplextendsServiceImplimplementsIUserService{@OverridepublicResultsendCode(Stringphone,HttpSessionsession){/1

Apakah perbezaan antara kuki JavaScript dan PHP? Apakah perbezaan antara kuki JavaScript dan PHP? Sep 02, 2023 pm 12:29 PM

JavaScriptCookies Menggunakan kuki JavaScript ialah cara paling berkesan untuk mengingati dan menjejaki keutamaan, pembelian, komisen dan maklumat lain. Maklumat diperlukan untuk pengalaman pelawat yang lebih baik atau statistik tapak web. PHPCookieCookies ialah fail teks yang disimpan pada komputer pelanggan dan disimpan untuk tujuan penjejakan. PHP secara telus menyokong kuki HTTP. Bagaimanakah kuki JavaScript berfungsi? Pelayan anda menghantar beberapa data ke penyemak imbas pelawat anda dalam bentuk kuki. Pelayar boleh menerima kuki. Jika ada, ia akan disimpan pada pemacu keras pelawat sebagai rekod teks biasa. Sekarang, apabila pelawat mencapai halaman lain di tapak

KDE Plasma 6.1 membawa banyak peningkatan pada desktop Linux yang popular KDE Plasma 6.1 membawa banyak peningkatan pada desktop Linux yang popular Jun 23, 2024 am 07:54 AM

Selepas beberapa prakeluaran, pasukan pembangunan KDE Plasma melancarkan versi 6.0 persekitaran desktopnya untuk sistem Linux dan BSD pada 28 Februari, menggunakan rangka kerja Qt6 buat kali pertama. KDE Plasma 6.1 kini hadir dengan beberapa ciri baharu t

See all articles