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

[ تنبيه ] تصحيح خطا في ملف سيرفلت

بدأه توشيبا في 30 ديسمبر 2010 · 12 رد · 670 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شوفو هذا السيرفلت اللي سويته مو راضي يسوي رن

يقول فيه ايرور كثير لكن ماعرفت اصححه

طبعا هو شغلته

راح ياخذ برامتر من فورم تسجيل وبعدين يشيك ان اليوزر نيم مو موجود في الداتابيس

اذا كان مو موجود يسجله في الداتا بيس

واذا كان موجود يرجعه يسجل من جديد

وانا مستخدمة للداتابيس الاكسس

وبصراحة هذي اول مرة اتعامل مع الاكسس

هذا كود السيرفلت

import java.io.*; 
import javax.servlet.*;
import javax.servlet.http.*;

public class servelts extends HttpServlet
{

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
        string fn =request.getParameter("fname");
        string ln =request.getParameter("lname");
        string em =request.getParameter("email"); 
        int ph =request.getParameter("phone");
        string sc =request.getParameter("section");
        string as =request.getParameter("astreet");
        string bs =request.getParameter("bstreet");
        string hn =request.getParameter("housenum");
        string pm =request.getParameter("payment");
        int cn =request.getParameter("CardNumber");
        string ex =request.getParameter("ExpYear");
        string un =request.getParameter("username");
        string pw =request.getParameter("password1");

        String url = " jdbc:odbc:resturant";
        Connection connection = null;
        Statement statement = connection.CreateStatement();
        try {
	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	Connection connection = DriverManager.getConnection(url, "", "");
	Statement statement = connection.createStatement();
	ResultSet resultSet = statement.executeQuery(SLECTE  Username FROM Customer WHEN Username='un');
        if (resultSet != "")
        {

          response.sendRedirect("sign_up.html");
        }
        else
       {
        string n=(INSERT INTO Customer VALUES('un','pw','hn','sc','bs','as','em','ph','cn','pm','ex','fn','ln'));
        ResultSet resultSet=statement.executeUpdate(n);

        response.sendRedirect("order-page.html");
        statement.close();

        }

	}
 catch ( Exception e ) {
System.out.println( error) ;
}
}
#2

يا أختي .. ربنا يهديكي بلاش الكتابه بهذا الأسلوب!

المهم..

ماهذا؟؟

string n=(INSERT INTO Customer VALUES('un','pw','hn','sc','bs','as','em','ph','cn','pm','ex','fn','ln'));

ما لغه البرمجه التي تستخدميها؟

#3

انا اقصد انو يدخل هذي القيم والمتغيرات اللي دخلها في الفورم في الداتا بيس

وبصراحة هوعند هذا الشي يكتب ايرور

#4

ضعي رسالة الخطأ

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#5

انا اعمل رن بالدوس حتى يصير عندي ملف كلاس

وهو يطلع اخطاء عند كل المتغيرات اللي في الانسيرت

#6

تأكد من عدم وجود مسافات في الجملة التالية:

 String url = " jdbc:odbc:resturant";

import java.io.*; 
import javax.servlet.*;
import javax.servlet.http.*;

public class servelts extends HttpServlet
{

        public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
        string fn =request.getParameter("fname");
        string ln =request.getParameter("lname");
        string em =request.getParameter("email"); 
        int ph =request.getParameter("phone");
        string sc =request.getParameter("section");
        string as =request.getParameter("astreet");
        string bs =request.getParameter("bstreet");
        string hn =request.getParameter("housenum");
        string pm =request.getParameter("payment");
        int cn =request.getParameter("CardNumber");
        string ex =request.getParameter("ExpYear");
        string un =request.getParameter("username");
        string pw =request.getParameter("password1");

        String url = " jdbc:odbc:resturant";
        Connection connection = null;

        try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        Connection connection = DriverManager.getConnection(url, "", "");
        Statement statement = connection.createStatement();
        ResultSet resultSet = statement.executeQuery("SLECTE  Username FROM Customer WHEN Username='un'");
        if (resultSet != "")
        {

          response.sendRedirect("sign_up.html");
        }
        else
       {
        string n=(INSERT INTO Customer VALUES('un','pw','hn','sc','bs','as','em','ph','cn','pm','ex','fn','ln'));
        ResultSet resultSet=statement.executeUpdate(n);

        response.sendRedirect("order-page.html");
        statement.close();

        }

        }
 catch ( Exception e ) {
System.out.println( error) ;
}
}

جربي هذا الكود..

واعملي نسخ لرسالة الخطأ عن طريق :

بالزر اليمين على شريط العنوان

Quw36949.gif

بعدها : mark

ثم حددي رسالة الخطأ ثم زر enter

بعدها تعالي الصقيه هنا :)

بالشرح الممل :lol:

تحية عطرة للجميع.

تم تعديل هذه المشاركة بواسطة JavaPorgrammer في 30 ديسمبر 2010 في 22:26

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#7

*- يحظر استخدام اللهجة العامية

*- أو كتابة الأسئلة باللغة الإنجليزية

*- أو كتابة الكلمات الإنجليزية بالعربية

====

#8

طيب انا عدلت في الكود وصار عندي خطا واحد هذا الكود بعد التعديل

import java.io.*; 
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class servelts extends HttpServlet
{

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
	{
        string fn =request.getParameter("fname");
        string ln =request.getParameter("lname");
        string em =request.getParameter("email"); 
        int ph =request.getParameter("phone");
        string sc =request.getParameter("section");
        string as =request.getParameter("astreet");
        string bs =request.getParameter("bstreet");
        string hn =request.getParameter("housenum");
        string pm =request.getParameter("payment");
        int cn =request.getParameter("CardNumber");
        string ex =request.getParameter("ExpYear");
        string un =request.getParameter("username");
        string pw =request.getParameter("password1");

        String url = " jdbc:odbc:resturant";
        Connection connection = null;
        Statement statement = connection.CreateStatement();
try {
 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
 String url = "jdbc:odbc: data";
connection = DriverManager.getConnection(connectionURL, "root", "root");
String sql = "select username  from customer where username = '"+ un +"' ";
Statement s = connection.createStatement(); 
 s.executeQuery (sql);
ResultSet rs = s.getResultSet();

 while (rs.next ()){
        Username=rs.getString("username");
      }
 if( Username.equals(request.getParameter("username"))){
string n = (INSERT INTO Customer VALUES(un,pw,hn, sc, bs, as, ph,cn, ex, fn, ln);

         s.executeUpdate(n);
         HttpSession session = request.getSession(true);
         session.setAttribute("name", un); 

         response.sendRedirect("order-page.html");


      }
      else{

        response.sendRedirect("sign_up.html");
      }
      rs.close ();
      s.close ();


rs.close();
s.close();
}
 catch ( Exception e ) {
System.out.println( "Exception is;" +e) ;
}

  }

وهذا صورة الخطأ

post-178159-066872900 1293739190_thumb.p

المرفقات
Untitled.png

تم تعديل هذه المشاركة بواسطة توشيبا في 30 ديسمبر 2010 في 23:00

#9

لم تجربي الكود اللي عدلت عليه انا!

جربيه وبلغيني.. !!

اعملي له نسخ ... من هنا!

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#10

فيه نفس هذا خطأ عند ensert

#11

عدلي فيها إلى :

string n = (INSERT INTO Customer VALUES(un,pw,hn, sc, bs, as, ph,cn, ex, fn, ln));

كان ناقصها زيادة قوس :)

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#12

طلع نفس الخطأ اللي انا منزلته عند into

#13

الكود عندك للأسف ملييييييييييء بالأخطاء!!

ارجو..

أولا ان يكون عندك java editor كـ netbeans أو غيره ..

ثانيا : انشئ صفحة jsp لتسجيل الدخول :

  <form action="servlet" method="GET">
      <table width="100%" border="0" cellspacing="3" cellpadding="3">
  <tr>
    <td width="10%">user name: </td>
    <td width="90%"><input type="text" name="user" /></td>
  </tr>
  <tr>
    <td>password:</td>
    <td><input type="password" name="pass" /></td>
  </tr>
  <tr>
    <td> </td>
    <td><input type="submit" name="Submit" value="login" />
    <input type="reset" name="Submit2" value="reset" /></td>
  </tr>
</table></form>

2- servlet يقوم بفحص المدخل ، هل هو مستخدم موجود في قاعدة البيانات ، في حالة وجوده يقوم بتحويله إلى صفحة البيانات ، غير ذاك يقوم بتحويله إلى صفحة التسجيل كمستخدم جديد:

  protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
   String user = request.getParameter("username");
   String pass= request.getParameter("password");
   databaseClass db = new databaseClass();
   boolean a = db.checkuser(pass, pass);
   if(a){
   response.sendRedirect("info.jsp");
   }
   else{
       response.sendRedirect("signup.jsp");
   }
    }

3- قومي بإنشاء class يقوم باستقبال اسم المستخدم وكلمة المرور ويتصل بقاعدة البيانات ثم يعود بالنتيجة :

دالة الاتصال:

private Connection cn() {
        Connection con = null;
        try {

            Class.forName("jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException e) {
            System.out.println(e.toString());
        }
        try {

            con = DriverManager.getConnection("jdbc:odbc:myDB");

        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }

دالة التفحص :

public boolean checkuser(String name, String pass) {
boolean exist = false;

try{

    Connection con = cn();
int i = 0;
    Statement s =con.createStatement();
    String sql = "select *from users where user ='"+name+"' AND pass = '"+pass+"';";
    ResultSet result = s.executeQuery(sql);
    while(result.next()){
        i++;
    }
    result.close();
    s.close();
    con.close();
    if(i != 0){
    exist = true;}
    } catch (SQLException e) {System.out.println(e.toString());}
    return exist;
}

والباقي اظنه سهل :lol:

انصحك بقراءة المراجع المهتمة في هذا الأمر. :happy:

1

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

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