عدم درج رکورد جدید در بانک اطلاعاتی
با اهداء سلام به همه و تشکر از آموزش ها و پاسخ گویی مدیر محترم سایت
من در بحث بانک اطلاعاتی و هاست مشکل دارم. کدهای B4A و کدهای PHP رو طبق راهنمایی های سایت و دیگر منابع اطلاعاتی به درستی انجام دادم و بانک اطلاعاتی به صورت استفاده در مرورگر به راحتی کار می کنه و رکورد جدید به بانک اضافه می شه.
اما در B4A و با استفاده از متدهای PostString و نیز Download کار درست پیش نمی رود. متد GetString هم یک صفحه بلند مخلوطی از کدهای html و جاوا و … رو می یاره.
کل کد ها بدون خطا اجرا می شوند اما رکوردی به بانک اضافه نمی شود.
اگر در b4a از کنترل webview استفاده کنم به راحتی برنامه کار می کنه و خروجی داره اما با متدهای اصلی کار پیش نمی رود. لطفا دوستان راهنمایی بفرمایند. با تشکر
کدهای b4a
#Region Project Attributes
#ApplicationLabel: DataBase
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: True
#End Region
Sub Process_Globals
'These global variables will be declared once when the application starts.
'These variables can be accessed from all modules.
Dim l,k As String
Dim job1,job4 As HttpJob
End Sub
Sub Globals
'These global variables will be redeclared each time the activity is created.
'These variables can only be accessed from this module.
Private Button1 As Button
Private EditText1 As EditText
Private EditText2 As EditText
Private Button2 As Button
Private Button3 As Button
Private WebView1 As WebView
Private Label3 As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
Activity.LoadLayout("Layout1")
job1.Initialize("job1",Me)
job4.Initialize("job4",Me)
l="http://yolancomonoro.gigfa.com/Register.php"
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Button1_Click
Dim s As String
s ="username="&EditText1.Text&"&password="&EditText2.Text
job1.PostString(l,s)
End Sub
Sub Jobdone (job As HttpJob)
If job.Success = True Then
ToastMessageShow(job.JobName,True)
ToastMessageShow("عملیات با موفقیت انجام شد." ,True)
Label3.Text=job4.GetString
Else
ToastMessageShow(" خطا در برقراری اتصال ",False)
ToastMessageShow(job.ErrorMessage,True)
End If
job.Release
End Sub
Sub Button3_Click
Dim job4 As HttpJob
job4.Initialize("job4", Me)
job4.download2("http://yolancomonoro.gigfa.com/Register.php", Array As String ("username", "cow", "password", "Bee"))
End Sub
Sub Button2_Click
WebView1.LoadUrl(l&"?"&s)
End Sub

پاسخ ها ( 3 )
<?php $username=$_GET['username']; $password=$_GET['password']; $dbhost = "sql301.gigfa.com"; $dbuser = "gigfa_22643022"; $dbpass = "***"; //$conn = new mysqli ($dbhost,$dbuser,$dbpass); $conn = mysqli_connect ($dbhost,$dbuser,$dbpass); if ($conn){ echo "server Connect... "; } else{ echo "server are not connect "; } echo "<br>"; $dbname = "gigfa_22643022_oscar"; $mm = mysqli_select_db ($conn,$dbname); mysqli_set_charset($conn,'utf8'); if ($mm){ echo "db connect... "; }else{ echo "db not connect "; } echo "<br>"; if($conn) { $result = "INSERT INTO mashhad (title,text) VALUES ('$username','$password')"; if(mysqli_query($conn,$result)) { echo "table connect... "; echo "<br>"; print ("Username is $username and password is $password OK!"); } else { echo "table not connect "; } } ?>این هم کد اسکریپ سمت سرور می باشد.
سلام
کد زیر را تست کنید
Sub Globals Private Button1 As Button Private Button2 As Button Private Button3 As Button Private EditText1 As EditText Private EditText2 As EditText Private Label3 As Label Dim l,k As String Dim job1,job4 As HttpJob End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") job1.Initialize("job1",Me) job4.Initialize("job4",Me) End Sub Sub Jobdone (job As HttpJob) If job.Success = True Then Msgbox(job.GetString,"Success") Else ToastMessageShow("خطا در برقراری اتصال" , False) End If End Sub Sub Button1_Click Dim send As String send = "username="&EditText1.Text&"&password="&EditText1.Text ht.PostString("http://yolancomonoro.gigfa.com/Register.php",send) End Subبیسیک در دسترس ندارم که تست کنم
نه متاسفانه این کد هم کار نمی کنه؟
احتمالا در مانیفست نیاز به دسترسی خاصی نداره. چون اگر دسترسی یا کد خاصی در مانیفست بخواد من اون رو بلد نیستم. اگر کسی می دونه لطفا راهنمایی بفرماد.
'This code will be applied to the manifest file during compilation. 'You do not need to modify it in most cases. 'See this link for for more information: https://www.b4x.com/forum/showthread.php?p=78136 AddManifestText( <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="26"/> <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="true"/>) SetApplicationAttribute(android:icon, "@drawable/icon") SetApplicationAttribute(android:label, "$LABEL$") 'CreateResourceFromFile(Macro, Themes.DarkTheme) 'End of default text.خیر، نیازی به اضافه کردن دسترسی نداره
ولی اگر علاقه مند به اضافه کردن دسترسی به اینترنت هستید، از یکی از دو کد زیر استفاده کنید(کدها در مانیفست اضافه شود):
اگر جواب نداد از هاست غیر رایگان استفاده کنید.
موفق باشید.