موصى به: عدة طرق لاستدعاء الإجراءات المخزنة مع المعلمات العديد من الطرق التي يقوم بها ASP استدعاء الإجراءات المخزنة مع المعلمات 1 ، هذه هي أيضًا أسهل طريقة ، معلمتان إدخالان ، لا توجد قيمة إرجاع: SET CONNECTION = server.createObject (adodb.connection) connection.Open somedsn connection.execute procname varvalue1 ، varvalue2 'مسح جميع الكائنات على أنه لا شيء ، لا شيء.
هناك طريقتان لتنفيذ هذه الوظيفة:
1. التطبيق
استخدم كائن التطبيق: إذا كنت تقوم بمجتمع كبير ، فقد تحتاج إلى إنشاء تطبيق لكل معرف تسجيل الدخول. على الرغم من أن تصميم البرنامج سيكون أكثر بساطة ، إلا أن مستخدم تسجيل الدخول أكثر من اللازم ويستهلك موارد الخادم. لا ينصح به أبدًا هنا ، لأن كائن التطبيق يسهل إنشاءه عند تسجيل الدخول إلى المستخدم ، ولكن لتحقيق إدراك أن المستخدم يخرج من النظام ولم ير طريقة أفضل بعد ~
ما يلي هو المحتوى المقتبس: <٪ ..... احصل على اسم المستخدم اسم المستخدم .... إذا كان التطبيق (اسم المستخدم) <> ثم استجابة. اكتب هذا المستخدم تم تسجيل الدخول بالفعل استجابة إنهاء إذا التطبيق (اسم المستخدم) = اسم المستخدم "" تخزين اسم المستخدم للمستخدم ٪> |
إضافة حدث واحد للجلسة إلى الملف العالمي ، التطبيق (isUserLogin) = خطأ عند عدم الاتصال بالإنترنت
بالإضافة إلى ذلك ، نحتاج إلى اكتشاف ما إذا كان يتم تعليق السلك. هناك طريقة خاصة ، وهي عنصر في كائن الخادم
(انظر: http://community.csdn.net/expert/faq/faq_index.asp؟id=815)
2. قاعدة البيانات ASP
قد يكون الأمر أكثر تعقيدًا ، ولكنه مناسب للأنظمة التي تحتوي على عدد كبير من المستخدمين المسجلين.
أولاً ، قم بإنشاء قاعدة بيانات للمستخدم - استخدم Access لإنشاء فقط فقط tol8.mdb
جدول البيانات 1: يقوم المستخدمون بتخزين معلومات تسجيل المستخدم
اضبط جدول البيانات أدناه: UID (ترقيم تلقائي) اسم المستخدم (نوع الحرف) المستخدم (نوع الحرف)
جدول البيانات 2: فقط legin يخزن المستخدم معلومات تسجيل الدخول المؤقتة للمستخدم
تم تعيين جدول البيانات التالي: OLNAME (نوع الحرف) OLTIME (نوع التاريخ) OLIP (نوع الحرف)
بعد إنشاء قاعدة البيانات ، أضف البيانات يدويًا إلى جدول اسم المستخدم جدول المستخدمين وإضافة TOL8 ، أضف 111 إلى جدول المستخدمين.
دعنا نقوم بواجهة تسجيل الدخول إلى المستخدم أدناه ونسخ الكود التالي لحفظه في ملف فقط login.asp.
ما يلي هو المحتوى المقتبس: <html> <head> <meta http-equiv = content-type content = text/html ؛ charset = gb2312> <title> لا سمح تسجيل الدخول في مناطق مختلفة من نفس الحساب في نفس الوقت </title> </head> <body> <name form = form1 method = post Action = logInPost.asp> اسم المستخدم: <اسم الإدخال = نوع المستخدم = معرف النص = اسم المستخدم = 15 MaxLength = 5> كلمة المرور: <اسم الإدخال = نوع المستخدم = معرف كلمة المرور = حجم المستخدم = 15 MaxLength = 15> <نوع الإدخال = إرسال اسم = إرسال قيمة = تسجيل الدخول> </form> </body> </html> |
بعد الانتهاء ، قم بإنشاء ملف LogInconn.asp جديد ونسخ الكود التالي للاتصال بقاعدة البيانات.
ما يلي هو المحتوى المقتبس: <٪ dim conn_tol8 dim conn_t Dim MMDD MMDD = فقط tol8.mdb تعيين conn_tol8 = server.createBject (adodb.connection) conn_t = provider = microsoft.jet.oledb.4.0 ؛ مصدر البيانات = & server.mappath (& mmdd &) عند استئناف الخطأ التالي conn_tol8.Open conn_t ٪> |
فيما يلي ملف logInPost.asp موجود أيضًا في هذا الدليل. هذا هو المفتاح. انظر إلى الرمز التالي بعناية:
ما يلي هو المحتوى المقتبس: <!-#تضمين ملف = loginconn.asp-> <٪ "حذف المستخدم النشط في وقت Maxtime ، تم تعريف Maxtime في ملف Loginconn.asp conn_tol8.execute (حذف من فقط legin حيث datediff ('s' '، oltime ، الآن ())> & maxtime &) '' ===================================================================================== DIM RS ، TS ، TXT ، SQL ، اسم المستخدم ، userpass إذا طلب .form (إرسال) = تسجيل الدخول ثم اسم المستخدم = request.form (اسم المستخدم) "احصل على اسم تسجيل الدخول إلى مستخدم النموذج userpass = request.form (userpass) '' احصل على كلمة مرور تسجيل الدخول إلى مستخدم النموذج "نظرًا لأننا لا نناقش مشكلات الأمان هنا ، فإن كلمة مرور المستخدم غير مشفرة تعيين rs = server.createBject (adodb.recordset) SQL = SELECT * من المستخدمين حيث اسم المستخدم = '' & username & '' و userpass = '' & userpass & '' Rs.Open SQL ، Conn_tol8،1،1 إذا لم يكن rs.eof ثم استدعاء ISOK (اسم المستخدم) "اسم المستخدم وكلمة المرور يسمى بشكل صحيح للعملية ، وسيتم تخصيص ISOK في البرنامج التالي. آخر Response.write (<a href = javaScript: History.go (-1)> اسم مستخدم غير معروف أو كلمة مرور </a>) استجابة. إنهاء إذا Rs.close تعيين روبية = لا شيء إنهاء إذا Sub ISOK (اسم المستخدم) Dim Olip '' IP المحفوظ بواسطة اسم مستخدم تسجيل الدخول الحالي في قاعدة البيانات يعد Dim oltime '' آخر مرة يتم فيها تحديث صفحة الويب المحفوظة بواسطة اسم مستخدم تسجيل الدخول الحالي في قاعدة البيانات بيانات مهمة لحساب ما إذا كان المستخدم متصلاً بالإنترنت. Dim Olip1 '' قم بتسجيل تسجيل الدخول الحالي للمستخدم إلى IP ، والذي يتم استخدامه لتمييز ما إذا كان هو تسمية المستخدم نفسه. olip1 = request.servervariables (Remote_addr) '' احصل على IP للمستخدم الذي قدم معلومات تسجيل الدخول SET TS = CONN_TOL8.EXECUTE (SELECT * FROM LESTERNAMIN حيث olName = '' & username & '') إذا لم يكن Ts.eof ثم استعل عن قاعدة البيانات سواء قام هذا المستخدم بتسجيل المعلومات oltime = ts (oltime) OLIP = TS (OLIP) إذا كان olip1 <> olip و datediff (s ، oltime ، الآن ()) <maxtime ثم تحدد الجملة السابقة أنه إذا لم يكن IP الذي تم تسجيل الدخول إليه هو آخر عنوان IP المستخدم المسجل في قاعدة البيانات و "وقت النشاط الأخير للمستخدم والفاصل الزمني الحالي لا يتجاوز العدد المحدد للثواني. تأكد من أن المستخدم متصل حاليًا. Response.write <a href = javaScript: History.go (-1)> هذا المستخدم حاليًا عبر الإنترنت ، لا يمكنك تسجيل الدخول إلى هذا الحساب من أماكن أخرى! </a> استجابة. آخر بخلاف ذلك ، سيتم تحديد أن تسجيل الدخول سيكون ناجحًا وسيتم دفع القيمة إلى الجلسة جلسة (lgname) = اسم المستخدم جلسة (lgpass) = userPass استجابة استجابة إنهاء إذا آخر إذا لم يكن لقاعدة البيانات سجل مستخدم تسجيل الدخول ، فقم بتنفيذ العبارة التالية قاتمة LS set ls = server.createBject (adodb.recordset) Ls.OpenSelect * من فقط login ، conn_tol8،2،2 ls.addnew LS (olName) = اسم المستخدم LS (OLIP) = OLIP1 ls (oltime) = الآن () ls.update Ls.close تعيين ls = لا شيء قرار أن تسجيل الدخول ناجح ودفع للجلسة جلسة (lgname) = اسم المستخدم جلسة (lgpass) = userPass استجابة استجابة إنهاء إذا نهاية sub ٪> |
بعد تسجيل الدخول بنجاح ، ستقفز الأوراق إلى loginok.asp
ما يلي هو المحتوى المقتبس: <نوع النمط = text/css> <!- body {background-color: #ff9900 ؛} -> </style> <٪ إذا الجلسة (lgname) <> ثم ٪> لقد قمت بتسجيل الدخول بنجاح! ! ! فيما يلي IFRAME الذي يتسلل إلى صفحة الويب لتحديث صفحة الويب في الوقت المحدد للإبلاغ عن الخادم سواء كنت عبر الإنترنت أم لا. من أجل تسهيل التمييز ، نستخدم اللون الأبيض مثل لون الخلفية لصفحة ويب الإطار <iframe border = 0 name = new_date marginWidth = 0 framespacing = 0 marginheight = 0 src = loginframe.asp FrameBorder = 0 Noresize Width = 100 Scrolling = No Hight = 30 Vspale = 0> </frame> <٪ آخر ٪> |
أنت لم تسجل الدخول
ما يلي هو المحتوى المقتبس: <٪ نهاية إذا ٪> |
ماذا تفعل بعد ذلك هو loginframe.asp
ما يلي هو المحتوى المقتبس: <!-#تضمين ملف = loginconn.asp-> <٪ conn_tol8.execute (تحديث فقط set oltime = '' & now () & '' where olName = '' & Session (lgname) & '') ٪> <html> <head> <meta http-equiv = refresh content = <٪ = (maxtime-5) ٪> ؛ url => </head> </html> |
حتى الآن تم الانتهاء من البرنامج ، والمفتاح لهذا البرنامج هو تحديد ما إذا كان المستخدم متصلاً بالإنترنت.
المشاركة: تنفيذ إدخال بيانات الدُفعات ASP يستخدم إدخال الدُفعات على نطاق واسع في قواعد البيانات ، وهناك العديد من الطرق لإدخال الدُفعات. بعد ذلك ، سأتحدث عن كيفية تحقيقه بناءً على طلبي الفعلي. الاستخدام الرئيسي هو مفهوم جمع النماذج ، والذي يأخذ جميع البيانات في المجموعة من خلال الحلقة. بالنظر إلى أنه من المريح للجميع رؤيته ، قمت بدمجها في صفحة واحدة. أدناه هو الرمز المحدد