ارسال اطلاعات به دیتابیس آنلاین

سوال

 

عرض سلام و خسته نباشید

بنده با استفاده از آموزش های بپرسم ، تونستم یک دیتابیس در هاست ایجاد کنم و فایل 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

 

حل شد 0
, 2017-03-07T18:00:05+03:30 10 پاسخ کاربر تازه 0

پاسخ ها ( 10 )

    0
    2017-03-07T18:41:26+03:30

    سلام

    کدهاتون رو بررسی و تست کردم، مشکلی نداشت!

    مطمئن هستید در دیتابیس چیزی ذخیره نمیشه؟

     

    0
    2017-03-08T06:44:15+03:30

    سلام مجدد
    بله با چندین بار تست ، اصلا هیچگونه یوزرنیم و پسوردی در دیتابیس ذخیره نمیشه

    0
    2017-03-08T15:09:29+03:30

    به احتمال زیاد اطلاعات دیتابیس در فایل php را اشتباه وارد میکنید

    به چه صورت اطلاعات دیتابیس را وارد میکنید؟

     

    0
    2017-03-08T18:12:00+03:30
    این پاسخ ویرایش شد.

    درود و خداقوت
    این تصویر از نام دیتابیس و یوزر
    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";}
    }
    ?>

     

    1
    2017-03-08T19:10:49+03:30

    سلام

    چرا متغیر username$ رو در داخل ‘ قرار دادید؟

    mysql_select_db('$username ',$conn);

    یا به صورت زیر وارد کنید، که داخل ‘ نباشه

    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 را در داخل هاست آپلود کردید در مرورگر فراخونی کنید، باید پیغام زیر مواجه بشید:

    Connected successfullyDone

    که نشان دهنده موفقیت آمیز بودن برقراری اتصال با دیتابیس و جدول مورد نظر هست، و اگر با پیغام زیر مواجه بشید با دیتابیس ارتباط برقرار نشده

    Connected successfullyError

    موفق باشید.

    0
    2017-03-08T19:26:52+03:30
    این پاسخ ویرایش شد.

    تشکر از زحمتهای شما مدیریت محترم

    وقتی فایل 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";}
    }
    ?>

    این متن نمایش داده میشه ، ولی باز هم در دیتابیس ، چیزی ذخیره نمیشه

    Connected successfully
    Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /storage/h5/212/986212/public_html/registerdata.php on line 14
    
    Warning: mysqli_set_charset() expects exactly 2 parameters, 1 given in /storage/h5/212/986212/public_html/registerdata.php on line 15
    
    Notice: Undefined index: username in /storage/h5/212/986212/public_html/registerdata.php on line 16
    
    Notice: Undefined index: password in /storage/h5/212/986212/public_html/registerdata.php on line 17
    
    Warning: mysqli_query() expects at least 2 parameters, 1 given in /storage/h5/212/986212/public_html/registerdata.php on line 21
     Error

    http://s1.picofile.com/file/8288913542/not_save.png

    1
    2017-03-08T19:37:00+03:30

    به صورت زیر چطور؟

    <?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";}
    }
    ?>

     

    1
    2017-03-08T20:01:21+03:30

    اگر باز هم مشکلی داشتید، از فایل 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";}
    		
    	}
     ?>

    نیازی به نوشتن اون همه کد برای برقراری با بانک نیست

    0
    2017-03-09T08:12:05+03:30

    سلامی دوباره

    جناب بنده هر دو تا کد رو تست کردم ولی بازم نمیشه ، لطفا یک راه ارتباطی قرار بدین تا هاست رو بدم و سورس رو خودتون یه تست بزنید ببینید مشکل از کجاست ، ممنونم

      1
      2017-03-09T14:41:07+03:30

      سلام و درورد
      از صفحه تماس با ما اطلاعات هاست رو ارسال کنید تا بررسی و نتیجه رو اعلام کنم
      موفق باشید

    1
    2017-03-09T17:16:33+03:30

    از هاست های رایگان استفاده نفرمایید

    به دلیل ورژن php که در هاست های رایگان(بالا یا پایین هست)، کد نویسی و دستورات ارتباط با سرور نیز متفاوت است و در هاست های رایگان پشتیبانی نمیشود.

    برنامه خود را در لوکال هاست یا هاست های پولی تست کنید.

    موفق باشید.

    بهترین پاسخ

ارسال یک پاسخ