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

وصول الى قاعده بيانات سيرفر عن طريق ويب سيرفيس أو ويب

بدأه Abo_Khalid في 24 أكتوبر 2011 · 24 رد · 8,246 مشاهدة · في Android
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

انا بصدد عمل برنامج بسيط كمشروع لاحد الكورسات المطلوبه بالجامعه ,

يوجد لدي قاعده بيانات بسيرفر مجاني اس كيو ال و انشائة سيرفيس بالبي اتش بي ( مو متاكد من صحه الكود ) و كود بالاي كلبس حسب الامثله المنتشره بالانترنت الغير واضحه للاسف

اريد استخدام rest بالركوسيت من والى السيرفر ولكن القيم المرجعه من الداتا بيس لا تمثل البيانات المرجوه وانا عباره عن روابط.

المثال مطبق من الرابط التالي

http://webdesignergeeks.com/mobile/android/android-login-authentication-with-remote-db/

انا باول خطوه بالمشروع وهي عملية اللوق ان وواجهت مشاكل كثير جدا وبرنامجي يعتمد على كثير من الاستعلامات بالقاعده البيانات بالسيرفر, ولكثره المشاريع وضيق الوقت ارجو المساعده

معلومات السيرفر ممكن اشاركه مع اي احد ممكن يساعدني لانه مجاني بس احل المشكله ...

تم تعديل هذه المشاركة بواسطة Abo_Khalid في 24 أكتوبر 2011 في 05:53

#2

السلام عليكم ..

الموضوع ببساطة أن الموبايل يرسل طلب فيه اسم المستخدم و كلمة المرور إلى صفحة PHP أو JSP ... من الشكل

http://engiguide.com/check.php?username=user1&password=thePass

طبعا الــ URL فيه جزء اسمه Query String رابط و هو بعد إشارة الاستفهام يوجد عدة أزواج من الشكل متحول 1 = قيمة 1 & متحول 2 = قيمة 2 ... و يستخدم لتمرير القيم إلى الصفحة .. و في مثالنا سنمرر اسم المستخدم و كلمة المرور المطلوب التحقق منهما ..

و هذه الصفحة تتصل مع قاعدة بيانات الــ mySQL .. للتحقق هل المستخدم موجود في القاعدة أم لا ... و يتم إعادة صفر أو واحد .. و تطبيق الموبايل يأخذ هذه القيمة و يظهر الرسالة الموافقة للمستخدم ...

يمكن تطبيقه على الجهاز المحلي مبدئيا للتأكد من عدم وجود مشاكل .. ثم نطبقه على السيرفر ...

في أي خطوة حصلت المشاكل عندك .. هل الــ Tools كلها موجودة عندك مثل Eclipse .. والــ Android SDK و الــ ..PHP و الــ MYSQL و الـــ (الخ).. هل قمت بتحميل المثال .و فتحه بالــ Eclipse.. طبعا يجب تغيير اسم السيرفر الموجود في السطر التالي :

response = CustomHttpClient.executeHttpPost("http://engiguide.com/check.php", postParameters);  //Enetr Your remote PHP,ASP, Servlet file link

إلى السيرفر الذي سنعمل عليه ...

ملاحظة:

هذا ليس ويب سيرفيس كما هو مكتوب بالعنوان ... فالــ Web Service موضوع آخر ... هذا ويب عادي .. صفحة عادية ..

تم تعديل هذه المشاركة بواسطة houssam11350_11350 في 24 أكتوبر 2011 في 04:09

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#3

شكرا اخي حسام على الرد ...

انا فاهم المثال تماما و طريقه عمله ايضا ولكن عند التطبيق في خطا لا اعلم اين

يبئة العمل جاهزه اشتغل على ماك و Eclipse جربته على الفيرتشول سيرفر ولكن في مشاكل,, فبحثت عن استضافه مجانيه وهي 000webhost.com وانشاء قاعده بيانات وعملت البي اتش بي ورفعته , عند تشغيل البرنامج واضافه الملعومات يكون دائما الاليوزر نيم والباس خطا ... فطبعت القيمه المرجعه من السيرفر بالتكس مباشره لكي اعرف ماهو الرسبونس للركوسيت

الرسبونس عباره عن لنك طووووووويل جدا

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

هدفي اني ممكن اعمل استعلامات بقاعده البيانات واضيف واحذف بناء على نوع الطلب من المستخدم ( الندرويد ابب ) , وهناك مووضع اخر وهو رفع ملف + تنزيل ملف مرتبط بالاستعلامات. خلينا من رفع وتنزيل ملف المهم هنا الاستعلامات

ملاحظة الطلب على الشكل التالي :

response = CustomHttpClient.executeHttpPost("http://engiguide.com/check.php", postParameters);

بالمرفقات صوره توضيحيه

post-252106-008461000 1319424503_thumb.j

المرفقات
scr.jpg

تم تعديل هذه المشاركة بواسطة Abo_Khalid في 24 أكتوبر 2011 في 05:56

#4

need help please

#5

السلام عليكم ...

نفس المشكلة ظهرت عندي ...

لو دخلنا إلى داخل الكود لوجدنا أنه يستخدم السيرفر :

response = CustomHttpClient.executeHttpPost("http://vrundalaygardens.com/check.php", postParameters);

و لو فتحنا هذا الرابط بالــ مستعرض الانترنت و أظهرنا مصدر الصفحة .. سنجد أن أول سطر في مصدر الصفحة هو السطر الذي يظهر معك (قمت بتعديل الكود) ... أي النتيجة طبيعية ..

و لتجريب المثال ...قمت بإنشاء صفحة ويب .. بالــ ASP.NET (لا يهم بأي لغة .. المهم صفحة ويب ) ..

public partial class wish2 : System.Web.UI.Page
	{
    	protected void Page_Load(object sender, EventArgs e)
    	{
        	String userName = Request.QueryString["username"];
        	String password = Request.QueryString["password"];
        	if (userName == "h" && password == "h")
            	Response.Write("1");
        	else
            	Response.Write("0");


    	}
	}

ثم داخل تطبيق الأندرويد استخدمت الكود التالي :

response = CustomHttpClient.executeHttpGet("http://10.0.2.2:9775/wish2.aspx?username="+un.getText() +"&password=" + pw.getText());

و الآن هو يعمل بشكل صحيح ..

ملاحظة :

الــ IP الخاص 10.0.2.2 يرمز إلى الجهاز الذي يعمل عليه الــ Emulator أيا كان الــIP الفعلي له لان الــ IP الخاص 127.0.0.1 يرمز إلى الــ Emulator ذاته طالما نستخدمه من داخله ..

1

لا إله إلا الله ... محمد رسول الله

لو كانت مشاركتي مفيدة و تريد تشجيعي على المزيد من العطاء , فضلا قم بتقييم المشاركة

المعرًف القديم : houssam11350_11350

من مواضيعي : ArabGenCode : مولد كود و إجراءات مخزنة و واجهات لجداول سيكوال سيرفر

#6
houssam11350_11350 كتب:

السلام عليكم ...

نفس المشكلة ظهرت عندي ...

لو دخلنا إلى داخل الكود لوجدنا أنه يستخدم السيرفر :

response = CustomHttpClient.executeHttpPost("http://vrundalaygardens.com/check.php", postParameters);

و لو فتحنا هذا الرابط بالــ مستعرض الانترنت و أظهرنا مصدر الصفحة .. سنجد أن أول سطر في مصدر الصفحة هو السطر الذي يظهر معك (قمت بتعديل الكود) ... أي النتيجة طبيعية ..

و لتجريب المثال ...قمت بإنشاء صفحة ويب .. بالــ ASP.NET (لا يهم بأي لغة .. المهم صفحة ويب ) ..

public partial class wish2 : System.Web.UI.Page
	{
    	protected void Page_Load(object sender, EventArgs e)
    	{
        	String userName = Request.QueryString["username"];
        	String password = Request.QueryString["password"];
        	if (userName == "h" && password == "h")
            	Response.Write("1");
        	else
            	Response.Write("0");


    	}
	}

ثم داخل تطبيق الأندرويد استخدمت الكود التالي :

response = CustomHttpClient.executeHttpGet("http://10.0.2.2:9775/wish2.aspx?username="+un.getText() +"&password=" + pw.getText());

و الآن هو يعمل بشكل صحيح ..

ملاحظة :

الــ IP الخاص 10.0.2.2 يرمز إلى الجهاز الذي يعمل عليه الــ Emulator أيا كان الــIP الفعلي له لان الــ IP الخاص 127.0.0.1 يرمز إلى الــ Emulator ذاته طالما نستخدمه من داخله ..

مشكور جدا على ردك ومساعدك

طبعا انا غيرت اليو ار ال الى يو ار ال السيرفير وهي المشكله

ولكن انت استخدمت دوت نت واشتغل معك ... اعتقد المشكله بكود البي اتش بي

بحاول اجد بعديل

الكود الذي ارفقته asp لا يتصل بقاعده بيانات وانما يقارن مع قيمه مسنده ,,, بحاول ابحث عن الكود asp

سوف اقوم بتحديث الموضوع اذا وجدت حل بالتاكيد

#7

حلت المشكله باستخدام php

للوصول للــ localhost بالــ Emulator عن طريق الاي بي التالي 10.0.2.2

استخدمت المثال بالرابط التالي:

المثـــــــال

تحتاج لكي يعمل المثال الى import التالي:

import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.client.HttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.*;

وايضا هناك تعديل بسيط بالمثال لكي يعمل بشكل صحيح وهو

InputStream is;

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

اي يصبح الكود كالتالي:

InputStream is;
String result = "";
//the year data to send
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("year","1980"));

//http post
try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://example.com/getAllPeopleBornAfter.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
         is = entity.getContent();
}catch(Exception e){
        Log.e("log_tag", "Error in http connection "+e.toString());
}
//convert response to string
try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
        }
        is.close();

        result=sb.toString();
}catch(Exception e){
        Log.e("log_tag", "Error converting result "+e.toString());
}

//parse json data
try{
        JSONArray jArray = new JSONArray(result);
        for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
                Log.i("log_tag","id: "+json_data.getInt("id")+
                        ", name: "+json_data.getString("name")+
                        ", sex: "+json_data.getInt("sex")+
                        ", birthyear: "+json_data.getInt("birthyear")
                );
        }
}
}catch(JSONException e){
        Log.e("log_tag", "Error parsing data "+e.toString());
}
#8

السلام عليكم و رحمه الله و بركاته،

قمت بتنفيذ المثال في آخر رد للأخ الفاضل/ أبو خالد،

و لكني فقط اريد أن اعمل حالياً إضافة بينات من فورم موجود في تطبيق الأندرويد إلى قاعده البيانات.

لا تظهر لي رسائل خطأ أو تحذير،

و لكن عندا اعود لقاعده البيانات لا أجد فيها أي جداول مضافه .

أرجو مسعدتي في حل هذه المشكله.

علماً أن قاعده البيانات حالياً في localhost

اسم المستخدم كتبت root

كلمة المرور كتبت التي طلبها مني حين التنصيب.

ملف الphp كالتالي:

<?php
$con = mysql_connect("10.0.2.2","root","********");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("DMS",$con);


$sql = "INSERT INTO GLUCOSE_READING VALUES ('$_POST[record_no]','$_POST[date_time]','$_POST[value]','$_POST[status]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";

mysql_close($con);
?>

و في تطبيق الأندرويد كاتلالي:

	    InputStream is;
		    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(4);
	    nameValuePairs.add(new BasicNameValuePair("record_no","123"));
	    nameValuePairs.add(new BasicNameValuePair("date_time","123"));
	    nameValuePairs.add(new BasicNameValuePair("value","123"));
	    nameValuePairs.add(new BasicNameValuePair("status","123"));

	    //http post
	    try
	    {
	    HttpClient httpclient = new DefaultHttpClient();
	    HttpPost httppost = new HttpPost("http://localhost/glucose_reading_php.php");
	    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
	    HttpResponse response = httpclient.execute(httppost); 
	    HttpEntity entity = response.getEntity();
	    is = entity.getContent();
	    }
	    catch(Exception e)
	    {
	    Log.e("log_tag", "Error in http connection "+e.toString());
	    }

	  }

قيم (123) فقط وضعتها لاتحقق من الاضافه،

و لكن لاحقا سوف اخذها من نفس الفورم

أرجو مساعدتي

#9

جربت ان افتح صفحه البي اتش بي من خلال متصفح الانترنت لأرى هل سيتم تنفيذ الأمر أم لا و يظهر لي الرساله التالية:

Warning: mysql_connect() [function.mysql-connect]: [2002] A connection attempt failed because the connected party did not (trying to connect via tcp://localhost:3306) in C:\AppServ\www\glucose_reading_php.php on line 2

Warning: mysql_connect() [function.mysql-connect]: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\AppServ\www\glucose_reading_php.php on line 2
Could not connect: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

يبدو لي الخطأ في إنشاء الاتصال نفسه،

حاولت التغير في قيمة الlocal host

10.0.2.2

localhost

""

جربت هذه الثلاث اختييارات و لم يضبط معي احدها ..

انتظر مساعدتكم ..

#10

مشكلتي انحلت، و السبب كان وجود نسخه قديمة من mySQL في الجهاز مما سبب تضارب في عنوان الـ LocalHost

شكراً ..

#11

ما زالت البيانات لا تخزن في قاعده البيانات عندما اشغل البرنامج عن طريق المُحاكي !

قمت بتغيير الHost إلى 10.0.2.2

و لكن لا يتم النداء ..

ربما تكون المشكلة في مكان النداء ..

أنا قمت بوضع الكود في onCreate()

أرجو ممن لديه حل ألا يبخل علي ..

فالمشكله طالت معي و المراحل أمامي كثيره

#12
Eng.Saleh كتب:

ما زالت البيانات لا تخزن في قاعده البيانات عندما اشغل البرنامج عن طريق المُحاكي !

قمت بتغيير الHost إلى 10.0.2.2

و لكن لا يتم النداء ..

ربما تكون المشكلة في مكان النداء ..

أنا قمت بوضع الكود في onCreate()

أرجو ممن لديه حل ألا يبخل علي ..

فالمشكله طالت معي و المراحل أمامي كثيره

جرب الصفحه عن طريق المتصفح وتاكد انها تعمل بشكل صحيح اي انها قامت بتخزين المعلومات

بعدين نرجع لكود الجافا

ياليت تتاكد و وتعطيناالنتائج

#13

نعم جربتها عن طريق المتصفح،

و تعمل جيداً

مع العلم أني استبدلت قيم الـ $_POST بأي قيم افتراضيه ..

عدلت في كود الجافا، بحيث اني نقلت كود الاتصال بقاعده البيانات داخل onClickHandler()

و مازلت اواجه المشكلة بعدم الاتصال ..

لا يعطي رسائل خطأ، فقط لا يتغير اي شي في قاعده البيانات ..

#14

هذا كود الجافا،

جربت نقل استضافه صفحه البي اتش بي لموقع خارجي غير عن الlocal host

و نفس المشكلة، لا يتغير شيء بالداتا بيس ..

public class GlucoseReadingActivity extends Activity {

	  Button b1;
	  /** Called when the activity is first created. */
	  @Override
	  public void onCreate(Bundle savedInstanceState)
	  {
	    super.onCreate(savedInstanceState);
	    setContentView(R.layout.main);
	    b1 = (Button)findViewById(R.id.widget37);

	    b1.setOnClickListener(new View.OnClickListener() {
	    	@Override
			public void onClick(View v) {
				 InputStream is;

				    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
				    nameValuePairs.add(new BasicNameValuePair("record_no","125"));
				    nameValuePairs.add(new BasicNameValuePair("date_time","125"));
				    nameValuePairs.add(new BasicNameValuePair("value","125"));
				    nameValuePairs.add(new BasicNameValuePair("status","125"));

				    //http post
				    try
				    {
				    HttpClient httpclient = new DefaultHttpClient();
				    HttpPost httppost = new HttpPost("http://10.0.2.2/glucose_reading_php.php");
				    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
				    HttpResponse response = httpclient.execute(httppost); 
				    HttpEntity entity = response.getEntity();
				    is = entity.getContent();
				    }
				    catch(Exception e)
				    {
				    Log.e("log_tag", "Error in http connection "+e.toString());
				    }

				  }				
			});
		}

تم تعديل هذه المشاركة بواسطة Eng.Saleh في 13 نوفمبر 2011 في 08:40

#15

عدلت بعض الاشياء بكود البي اتش بي و الجافا

اولا بكود الجافا , مافي اي كود يقراء الرد من الصفحه كل الكود المكتوب عباره عن ارسال الهيدر ركوست فقط.

طبق التالي

<?php

$record_no=$_POST['record_no']; 
$date_time=$_POST['date_time'];
$value=$_POST['value'];
$status=$_POST['status']; 

$con = mysql_connect("10.0.2.2","root","********");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("DMS",$con);


$sql = "INSERT INTO GLUCOSE_READING VALUES ('".$_REQUEST['record_no']."','".$_REQUEST['date_time']."','".$_REQUEST['value']."','".$_REQUEST['status']."')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  echo "0";
  }
echo "1 record added";

mysql_close($con);
?>

public class GlucoseReadingActivity extends Activity {
        
          Button b1;
          /** Called when the activity is first created. */
          @Override
          public void onCreate(Bundle savedInstanceState)
          {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            b1 = (Button)findViewById(R.id.widget37);
            
            b1.setOnClickListener(new View.OnClickListener() {
                @Override
                        public void onClick(View v) {
                                 InputStream is;

                                    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                                    nameValuePairs.add(new BasicNameValuePair("record_no","125"));
                                    nameValuePairs.add(new BasicNameValuePair("date_time","125"));
                                    nameValuePairs.add(new BasicNameValuePair("value","125"));
                                    nameValuePairs.add(new BasicNameValuePair("status","125"));

                                    //http post
                                    try
                                    {
                                    HttpClient httpclient = new DefaultHttpClient();
                                    HttpPost httppost = new HttpPost("http://www.binsabbar.com/m.php");
                                    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                                    HttpResponse response = httpclient.execute(httppost); 
                                    HttpEntity entity = response.getEntity();
                                    is = entity.getContent();
							BufferedReader reader = new BufferedReader(new InputStreamReader(iS,"iso-8859-1"),8);
    	        StringBuilder sb = new StringBuilder();
    	        String line = null;
		   Log.i("Result: " , result); // اذا كانت النتجيه صفر اذا هناك خطا في عملية اضافه الريكورد
    	        while ((line = reader.readLine()) != null) {
    	                sb.append(line + "\n");
    	        }
    	        iS.close();

    	        result=sb.toString();
                                    }
                                    catch(Exception e)
                                    {
                                    Log.e("log_tag", "Error in http connection "+e.toString());
                                    }

                                  }                             
                        });
                }
#16

مازال الكود لا يعمل ..

انشأت layout فارغه اسمها test ، لتتبع الخطأ ..

وضعتها بالتناوب بعد كل عباره في try{}

وجدت أنها تقف عند execute() !

و أيضاً لا تظهر لي رسائل الlog ، لا بصفر و لا بواحد و لا بالرساله النصيه !

هل ممكن أن تكون المشكلة من الemulator ؟

#17

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

حاول تتبعه

اذا مانفع ممكن يكون من الاميليرت

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

#18

كيف اعمل بريك بوينت ؟

و عذراً لكن في تعريف هذا السطر

 HttpPost httppost = new HttpPost("http://www.binsabbar/m.php");

ماذا كتبت لو كان الكود على اللوكل ؟

اضع نفس الشي 10.0.2.2 ؟

تم تعديل هذه المشاركة بواسطة Eng.Saleh في 13 نوفمبر 2011 في 10:38

#19

أخي أبو خالد ،

هل من الممكن لو تنسخ لي جزيئة الـ AndroidManifest

حالياً أضفت هذا السطر

	<uses-permission android:name="android.permission.INTERNET"></uses-permission>

بعد <application>

و أصبح ينتقل لشاشه اللtest التي عملتها للاختبار ،

و لكن الداتا بيس لا يضاف لها شي الى الآن ،

أي أنه أصبح يدخل في جزء try و الله الحمد،

و لكن بقي مشكله الاضافه

#20

انا شغال على اي كليبس ماك

اشر بالماوس اضغط مثل الصوره المرفقه

post-252106-055872000 1321171789_thumb.j

بالنسبة للوك الرابط كالتالي

http://10.0.2.2:8888/PhpProject1/test1.php

مع تغيير اللازم مثل البورت والامتداد

المرفقات
breakpoint.jpg
#21
Eng.Saleh كتب:

أخي أبو خالد ،

هل من الممكن لو تنسخ لي جزيئة الـ AndroidManifest

حالياً أضفت هذا السطر

	<uses-permission android:name="android.permission.INTERNET"></uses-permission>

بعد <application>

و أصبح ينتقل لشاشه اللtest التي عملتها للاختبار ،

و لكن الداتا بيس لا يضاف لها شي الى الآن ،

أي أنه أصبح يدخل في جزء try و الله الحمد،

و لكن بقي مشكله الاضافه

AndroidManifest لو البريميشن هذا غير مضاف به لن يعمل البرنامج وبيرمي اكسيبشن

عندي فقط مضاف هذا <uses-permission android:name="android.permission.INTERNET" />

#22

شكراً انحلت المشكله و لله الحمد ،

يبدو أن المشكله في اتصال المحاكي بالـlocalhost

لأني تركت الـ host بدون اي شي و اشتغل

$con = mysql_connect("","root","");

شكراً أبو خالد،

#23

العفو ....

كلن شي غريب يعمل بدون تحديد موقع قاعده البيانات

#24

لاحقاً، سوف ارفع ملفات الـ php جميها على جهاز آخر و اعرفه أنه خادم قاعده البيانات.

فحينها سوف يكون في الـ host عنوان هذا الخادم.

لكن حالياً أريد أن أتأكد من صحة الأكواد و سيرها.

عملت اول صفحة لتسجيل الدخول،

لكن اضررت أن أنادي الـ query مرتين..

هل من طريقه آخرى أكثر منطقيه من هذه

if(!mysql_query($sql,$con))
{ 
  die('Error: ' . mysql_error()); 
  echo "0"; 
  } 
$result = mysql_query($sql);
//this is where the actual verification happens  
if(mysql_num_rows($result) > 0)   
echo "1";  // for correct login response   
else  
echo "0"; // for incorrect login response

و شكراً

#25
Eng.Saleh كتب:

لاحقاً، سوف ارفع ملفات الـ php جميها على جهاز آخر و اعرفه أنه خادم قاعده البيانات.

فحينها سوف يكون في الـ host عنوان هذا الخادم.

لكن حالياً أريد أن أتأكد من صحة الأكواد و سيرها.

عملت اول صفحة لتسجيل الدخول،

لكن اضررت أن أنادي الـ query مرتين..

هل من طريقه آخرى أكثر منطقيه من هذه

if(!mysql_query($sql,$con))
{ 
  die('Error: ' . mysql_error()); 
  echo "0"; 
  } 
$result = mysql_query($sql);
//this is where the actual verification happens  
if(mysql_num_rows($result) > 0)   
echo "1";  // for correct login response   
else  
echo "0"; // for incorrect login response

و شكراً

سلام عليكم

اسف جدا التاخير ... تسليم مشاريع واختبارات نهائية ولسى ماخلصت مشروع الاندرويد

ولكن نظره سريعه

ولدي اقتراحين على وجه السرعه

* اجمع الشرطين بشرط أي شرط حدوث خطا و التحقق من الباس ب &

* ارجع القيمه الى البرنامج وتحقق منه هناك

هل لديك داتابيس محلية على مستوى البرنامج اي بجهاز الاندرويد ؟ اذا لديك قاعده بيانات باول استخدام للبرنامج انشاء اسم وكلمه مرور وخزنها بقاعده البيانات المحلية وايضا نسخه منها على السيرفير

لي عوده

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