ارسال اطلاعات به دیتابیس آنلاین
عرض سلام و خسته نباشید
بنده با استفاده از آموزش های بپرسم ، تونستم یک دیتابیس در هاست ایجاد کنم و فایل php رو نیز ساخته و آپلود کردم ، در بیسیک نیز ، عین آموزشهارو انجام دادم و مراحلش رو تکمیل کردم ، مشکلی که الان دارم اینه که وقتی مثلا برای تست یک یوزر و پسورد وارد میکنم ، در دیتابیس ، هیچ چیزی ذخیره نمیشه ، ممنون میشم راهنمایی بفرمایید
کدهای فایل php:
<?php
$servername = "localhost";
$username = "******";
$password = "******";
// Create connection
$conn = mysql_connect($servername, $username, $password);
// Check connection
if (!$conn) {
die("Connection failed: " . mysql_connect_error());
}
echo "Connected successfully";
mysql_select_db('********',$conn);
mysql_set_charset('utf8');
$username=$_POST['username'];
$password=$_POST['password'];
if($conn){
$result = "INSERT INTO tabel1(username,password) VALUES('$username','$password')";
if(mysql_query($result)){
echo "Done";
}else{echo "Error";}
}
?>
;کدهای اکتیویتی main در بیسیک 4 آندروید:
#Region Project Attributes
#ApplicationLabel: B4A Example
#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.
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 btn_register As Button
Private text_user As EditText
Private text_pass As EditText
Private Label1 As Label
Private Label2 As Label
Dim ht As HttpJob
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")
Label1.Text="نام کاربری"
Label2.Text="رمز عبور"
btn_register.Text="register"
ht.Initialize("register",Me)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub btn_register_Click
Dim send As String
send = "username="&text_user.Text&"&password="&text_pass.Text
ht.PostString("**************registerdata.php",send)
End Sub
Sub Jobdone (job As HttpJob)
If job.Success = True Then
Msgbox(job.GetString,"Success")
Else
ToastMessageShow("خطا در برقراری اتصال" , False)
End If
'
' If job.Success=True Then
' Select job.JobName
' Case "send"
' If job.GetString.Contains("ok") = True Then
' ToastMessageShow("با موفقیت ارسال شد",False)
' Else
' ToastMessageShow("خطا در ارسال",False)
' End If
' End Select
' End If
End Sub

پاسخ ها ( 10 )
سلام
کدهاتون رو بررسی و تست کردم، مشکلی نداشت!
مطمئن هستید در دیتابیس چیزی ذخیره نمیشه؟
سلام مجدد
بله با چندین بار تست ، اصلا هیچگونه یوزرنیم و پسوردی در دیتابیس ذخیره نمیشه
به احتمال زیاد اطلاعات دیتابیس در فایل php را اشتباه وارد میکنید
به چه صورت اطلاعات دیتابیس را وارد میکنید؟
درود و خداقوت
این تصویر از نام دیتابیس و یوزر
http://s1.picofile.com/file/8288903526/database.jpg
تصویر دوم
http://s1.picofile.com/file/8288904376/database2.jpg
اینم از کدهای php
<?php $servername = "localhost"; $username = "id986212_test "; $password = "123456"; // Create connection $conn = mysql_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysql_connect_error()); } echo "Connected successfully"; mysql_select_db('$username ',$conn); mysql_set_charset('utf8'); $username=$_POST['username']; $password=$_POST['password']; if($conn){ $result = "INSERT INTO tabel1(username,password) VALUES('$username','$password')"; if(mysql_query($result)){ echo "Done"; }else{echo "Error";} } ?>سلام
چرا متغیر username$ رو در داخل ‘ قرار دادید؟
mysql_select_db('$username ',$conn);یا به صورت زیر وارد کنید، که داخل ‘ نباشه
یا هم اینکه مستقیما نام دیتابیس بنویسید
mysql_select_db('id986212_test',$conn);دقت کنید، قبل و بعد اسم دیتابیس فاصله ی نباشه.
که فایل php به صورت زیر میشه:
<?php $servername = "localhost"; $username = "id986212_test"; $password = "123456"; // Create connection $conn = mysql_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysql_connect_error()); } echo "Connected successfully"; mysql_select_db($username,$conn); mysql_set_charset('utf8'); $username=$_POST['username']; $password=$_POST['password']; if($conn){ $result = "INSERT INTO tabel1(username,password) VALUES('$username','$password')"; if(mysql_query($result)){ echo "Done"; }else{echo "Error";} } ?>حالا وقتی که فایل registerdata.php را در داخل هاست آپلود کردید در مرورگر فراخونی کنید، باید پیغام زیر مواجه بشید:
که نشان دهنده موفقیت آمیز بودن برقراری اتصال با دیتابیس و جدول مورد نظر هست، و اگر با پیغام زیر مواجه بشید با دیتابیس ارتباط برقرار نشده
موفق باشید.
تشکر از زحمتهای شما مدیریت محترم
وقتی فایل php رو دقیقا همونطوری که نوشتین قرار میدم ، خطای زیر رو میده
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /storage/h5/212/986212/public_html/registerdata.php:7 Stack trace: #0 {main} thrown in /storage/h5/212/986212/public_html/registerdata.php on line 7و وقتی هم که به sqli تغییر میدم ، یعنی کد زیر
<?php $servername = "localhost"; $username = "id986212_test"; $password = "123456"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; mysqli_select_db($username,$conn); mysqli_set_charset('utf8'); $username=$_POST['username']; $password=$_POST['password']; if($conn){ $result = "INSERT INTO tabel1(username,password) VALUES('$username','$password')"; if(mysqli_query($result)){ echo "Done"; }else{echo "Error";} } ?>این متن نمایش داده میشه ، ولی باز هم در دیتابیس ، چیزی ذخیره نمیشه
http://s1.picofile.com/file/8288913542/not_save.png
به صورت زیر چطور؟
<?php $servername = "localhost"; $username = "id986212_test"; $password = "123456"; // Create connection $conn = mysql_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: " . mysql_connect_error()); } echo "Connected successfully"; mysql_select_db('id986212_test',$conn); mysql_set_charset('utf8'); $username=$_POST['username']; $password=$_POST['password']; if($conn){ $result = "INSERT INTO tabel1(username,password) VALUES('$username','$password')"; if(mysql_query($result)){ echo "Done"; }else{echo "Error";} } ?>اگر باز هم مشکلی داشتید، از فایل php زیر استفاده کنید:
<?php $con = mysql_connect('localhost','id986212_test','123456'); $username=$_POST['username']; $password=$_POST['password']; if($con){ mysql_select_db('id986212_test',$con); mysql_set_charset('utf8'); $q="INSERT INTO tabel1(username,password) VALUES('$username','$password')"; if(mysql_query($q)){ echo "Done"; }else{echo "Error";} } ?>نیازی به نوشتن اون همه کد برای برقراری با بانک نیست
سلامی دوباره
جناب بنده هر دو تا کد رو تست کردم ولی بازم نمیشه ، لطفا یک راه ارتباطی قرار بدین تا هاست رو بدم و سورس رو خودتون یه تست بزنید ببینید مشکل از کجاست ، ممنونم
سلام و درورد
از صفحه تماس با ما اطلاعات هاست رو ارسال کنید تا بررسی و نتیجه رو اعلام کنم
موفق باشید
از هاست های رایگان استفاده نفرمایید
به دلیل ورژن php که در هاست های رایگان(بالا یا پایین هست)، کد نویسی و دستورات ارتباط با سرور نیز متفاوت است و در هاست های رایگان پشتیبانی نمیشود.
برنامه خود را در لوکال هاست یا هاست های پولی تست کنید.
موفق باشید.