الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكنني من عمل request ولكن بلغة asp.net

مغلق
بدأه فار الانترنت في 20 أكتوبر 2002 · 11 رد · 1,263 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

حمدا لله على سلامة المنتدى والعودة بعد هذا الانقطاع

على كل

وقعت في ورطة كبيرة جدا ولم استطع حلها الى الان وهي

كيفية عمل صفحة بها اسم مستخدم وزر ارسل عندئذ يتم الانتقال الى صفحة اخرى وفي الصفحة التي يتم الانتقال اليها اريد ان يقوم بطباعة هذا الاسم الذي تم ادخاله في الصفحة السابقة فقط

جربت نفس الطريقة المستخدمة في asp ولكن لم يظهر لي اي اسم مع انه لم يعطي اي خطا في الكود

فما هو الحل ادام الله فضلكم

والسلالالالالالام

#2

أتوقع أنه يطبع الإسم بإستخدام نفس الشي مع asp

name=Request.form("name")   

 response.write(name)

وياليت تحط الكود حق الصفحة الثانية هنا إذا مانفع معك هذا حتى أقدر أشوف وين المشكلة بالضبط.

#3

السلام عليكم

اخي almomaiaz جربت كل الاحتمالات اللي بتخطر على بالك ولكن بدون فائدة والمشكلة انني لا املك اي من الصفحات حاليا ، الرجاء وضع صفحتين بلغة asp.net احدها login.aspx تحتوي على حقل واحد لكتابة الاسم وزر واحد للاسال ، فعند الارسال ينتقل الى صفحة access.aspx ويطبع الاسم الذي تم كتابته

رجاء خاص عدم تجاهل الموضوع لاهميته

والسلالالالالالالالالالام

#4





#5

مشكور اخي almomaiaz على هذا الجهد الرائع

مشت والحمدلله وهي نفس اللي كنت تقريبا كاتبها لكن هناك فرق وحيد الا وهو ان الصفحة التي يتم فيها ادخال الاسم كانت aspx وليست html وهذا هو سبب الخطا الذي كان عندي ولم اعرف لماذا

فهل يوجد عندك تفسير للمشكلة ؟؟؟

والشيء الاخر كيف اتعامل مع ما يسمى Session والهدف منه ان يتحفظ باسم المستخدم وان اطلب هذا الاسم في اي صفحة متى شئت الا في حالة خروجه من الموقع ؟؟؟

اعرف انني غلبتك لكن الله المستعان

والسلالالالالالالام

#6

سواء حطيت الصفحة الأولى html أو aspx فلا فرق وأنا هنا حاطها aspx وشغال عادي ...

بالنسبة ل Session فهو سهل وماعليك الإ إنك تضيف للصفحة الثانية السطر التالي في أي مكان:

Session("user")=Request.Form("user")

وبعدين في أي صفحة أخرى تقدر تستدعية بنفس إسم المتغير ... يعني تكتب :

Session("user")

فمثلا لو حبيت تكتبه على أي صفحة مجرد أنك تكتب السطر التالي :

<% Response.write(Session("user"))%>

#7

السلام عليكم ، اخي العزيز غلبتك كتييييييييييييير معي

لكن المشكلة اني عملت صفحة lgoin وهي مرفقة في هذا الملف

لكن ما عرف اتعامل مع session وملف web.config

اذا ما فيها غلبة يوجد ملف مرفق به صفحتين احدهما هي صفحة الدخول login.aspx والاخرى هي صفحة access.aspx والمطلوب هو وضع ملف web.config بالاعدادات المناسبة بحيث انه يخزن اسم المستخدم بعد الدخول في session ولا يستطيع الدخول لصفحة access.aspx الا بعد قبوله في صفحة الدخول ، لاني سمعت ان web.config له دخل في عدم السماح بالدخول للصفحات الداخلية بدون قبول دخوله في صفحة الدخول

فهل من الممكن المساعدة في ذلك؟؟؟؟

والسلام

هنا الملف المرفق

#8

إترك ملفاتك وأخذ هذي أربع ملفات ضعها في مجلد وبعدين أي ملف تضعه في هذا المجلد من غير ماتضيف عليه أي كود وتحاول الدخول اليه راح يحولك مباشرة على صفحة login.aspx حتى تدخل الرقم السري

وهذة الملفات الأربع مع شرح بسيط لها :

أولا : web.config وفيه الإعدادات الرئيسية للمشروع وأهمها هنا هو كود عدم السماح للجميع بالدخول الا بعد تأكيد الدخول بالرقم السري :

<configuration>

<system.web>

	<authentication mode="Forms" >

	<forms loginUrl = "login.aspx" name = ".ASPXFORMSAUTH" />

	</authentication>

    <authorization>

         <deny users="?" /> 

    </authorization>

</system.web>

</configuration>

ثانيا : ملف Users.xml وفي هذا الملف يوجد عدد من أسماء المستخدمين مع أرقامهم السرية ويمكن تعديلها أو الإضافة عليها

<Users>

  <Users>

    <UserEmail>n</UserEmail>

    <UserPassword>n</UserPassword>

  </Users>

  <Users>

    <UserEmail>m</UserEmail>

    <UserPassword>m</UserPassword>

  </Users>

  <Users>

    <UserEmail>h</UserEmail>

    <UserPassword>h</UserPassword>

  </Users>

</Users>

ثالثا: ملف login.aspx وهذا الملف يحتوي على فورم لإدخال الإسم والرقم السري وبعدها سيقوم بالتأكد بأن ماقمت بإدخاله موجود في ملف المستخدمين users.xml والإ سوف يرفض الدخول

<%@ Page LANGUAGE="c#" %>

<%@ Import Namespace="System.Data" %>

<%@ Import Namespace="System.Data.SqlClient" %>

<%@ Import Namespace="System.Web.Security " %>

<%@ Import Namespace="System.IO" %>



<html>

<head>

<title>Forms Authentication</title>

<script runat=server>

private void Login_Click(Object sender, EventArgs E) 

{

if( !Page.IsValid ) {

    Msg.Text = "Some required fields are missing";

    return;

}

String cmd = "UserEmail='" + UserEmail.Value + "'";

DataSet ds = new DataSet();

FileStream fs = new FileStream(Server.MapPath("users.xml"), 

                                    FileMode.Open,FileAccess.Read);

StreamReader reader = new StreamReader(fs);

ds.ReadXml(reader);

fs.Close();

DataTable users = ds.Tables[0];

DataRow[] matches = users.Select(cmd);

if( matches != null && matches.Length > 0 ) 

{

 DataRow row = matches[0];

    String pass = (String)row["UserPassword"];

    if( 0 != String.Compare(pass, UserPass.Value, false) ) 

    //**********************************************

    // If no password match is found, tell the user.

    //**********************************************

        Msg.Text = "Invalid Password: Please try again";

    else 

    //*************************************************

    // If a password match is found, redirect the request

    // to the originally requested resource (Default.aspx).

    //*************************************************

        FormsAuthentication.RedirectFromLoginPage(UserEmail.Value, 

                                            PersistForms.Checked);

}

else {

Msg.Text = "Invalid Credentials: Please try again";

    }

}

</script>



<body>

<form runat=server>

    <h3><font face="Verdana">Login Page</font></h3>



    <table>

        <tr>



       <td>Email:</td>

        <td><input id="UserEmail" type="text" runat=server/></td>

        <td><ASP:RequiredFieldValidator 

            ControlToValidate="UserEmail" 

            Display="Static"

            ErrorMessage="*"

            runat=server/>

        </td>



    </tr>

    <tr>    

 <td>Password:</td>

        <td><input id="UserPass" type=password runat=server/></td>

        <td><ASP:RequiredFieldValidator 

            ControlToValidate="UserPass" 

            Display="Static"

            ErrorMessage="*"

            runat=server/>

        </td>

    </tr>

    <tr>

<td>Persistent Forms:</td>

        <td><ASP:CheckBox id=PersistForms runat="server"

            autopostback="true" />

        </td>

        <td></td>

    </tr>



</table>

<input type="submit" OnServerClick="Login_Click" Value="Login" 

                                             runat="server"/><p>

    <asp:Label id="Msg" ForeColor="red" Font-Name="Verdana" 

                                  Font-Size="10" runat=server />



</form>

</body>

</html>

رابعا : ملف default.aspx وهو مجرد ملف عادي وهو فقط يحتوي على زر للخروج يمكن إضافتة لأي ملف من الملفات التي تريد إضافتها للمشروع

<%@ Page LANGUAGE="VB" %>

<html>

<head>

<title>Forms Authentication</title>



<script runat=server>

    Sub Page_Load(Src As Object, E As EventArgs) 

        Welcome.InnerHtml = "Hello, " + Context.User.Identity.Name

    End Sub

    Sub Signout_Click(sender As Object, E As EventArgs) 

        FormsAuthentication.SignOut()

        Response.Redirect("login.aspx")

    End Sub

</script>



<body>

<h3><font face="Verdana">Using Forms Authentication</font></h3>

<span id="Welcome" runat=server/>

<form runat=server>

    <input type="submit" OnServerClick="Signout_Click" Value="Signout" runat="server"/><p>

</form>

</body>

</html>

أرجوا أن تفيدك

#9

السلام عليكم

اشكرك اخي الشكر الجزيل ولكن المشاكل شكلها ما راح تخلص

بالنسبة لما كتبت لي يوجد عندي ملاحظتين وهما

1- ان صفحة login.aspx بلغة C# وانا لا اعمل عليها ولكن اعمل على VB code

2- عند تنفيذي للصفحات كما هي وبدون تعديل او تعديلها لتناسب ما اريد ظهر لدي خطا ورسالة تحتوي على التالي

Unable to find script library '/aspnet_client/system_web/1_0_3705_0/webUIValidation.js'. Try placing this file manully, or reinstall by running 'asp_regiis -c'.

مع العلم انني تأكدت من وجود webUIValidation.js في مكانه المذكور

الرجاء الاهتمام

والسلام

#10

بالنسبة إنها بلغة C# فتقدر تحولها ولو ماعرفت خلها عادي كما هي وبتعمل بشكل صحيح حتى لو كل الصفحات اللي غيرها بلغة VB

أما بالنسبة للمشكلة الثانية فتأكد من ال path وخصوصا الرقم 1_0_3705_0 تأكد أنه في الكمبيوتر عندك نفس هذا

#11

نعم اخي تاكدت ان الباث الموجود في رسالة الخطا موجود نفسه ، حتى الملف .js موجود وبنفس الاسم

فما هي المشكلة ؟

صحيح انا استخدم WebMatrix ، هل لهذا علاقة في الموضوع

#12

ماله علاقة سواء إستخدمت webMatrix ولا كتبته بنفسك هو نفس الشي

بس أنا متأكد أن المشكلة في ال path ...

إذا كنت حاط الملفات هذي في مجلد داخلي أنسخ مجلد aspnet_client

وحطة مع الملفات في نفس المجلد وجرب ...

وفي النهاية هذي المشكلة ما تأثر على عمل الصفحة ولكنها فعلا مزعجة للزائر

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…