رفتن به مطلب
  • 0

وارد كردن اطلاعات توسط كاربر و ارسال آن از طريق ايميل به صورت خودكار با B4A


Arta20

سوال

سلام خدمت تمام برنامه نويسان

من ميخوام تو پروژه ام يه صفحه ثبت نام درست كنم كه توش نام و نام خانوادگي و شماره موبايل و ... باشه. وقتي كه كاربر اطلاعات رو وارد كرد، اطلاعاتي كه وارد كرده به ايميل من ارسال بشه. نميخوام از ديتابيس آنلاين استفاده كنم. چه جوري ميتونم اين كار رو انجام بدم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

در ۱۴۰۰/۵/۱۱ در 22:24، Soheil_Miresmaili گفته است:

 

این خط، مربوط به متن خود ایمیل هست :

email.Body = "متن خود ایمیل"

شما اگر بخواید متن ادیت تکست یا لیبلی رو بگیرید باید به این شکل عمل کنید :

EditText1.text

برای در کنار هم قرار دادن متن سه تا ادیت تکست (یا لیبل فرقی نداره) به همدیگه هم باید بینشون از حرف " & " استفاده کنید

پس به این شکل می‌تونید متن سه تا ادیت تکست رو به عنوان متن اصلی ایمیل در کنار هم ارسال کنید :

email.Body = EditText1.Text & EditText2.Text & EditText3.Text 

 

اين روش رو بازار مي پسنده؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۱ در ۱۱:۰۶، Arta۲۰ گفته است:

اين روش رو بازار مي پسنده؟؟

شما کلا نباید از این روش برای گرفتن اطلاعات کاربران استفاده کنید ( و قطعا بازار قبول نمیکنه )

اول ببینید واقعا برنامه شما به صفحه ثبت نام نیاز داره یا نه ؟ اصلا چرا باید مخاطب تو برنامتون ثبت نام کنه ؟

اگر نیاز نداره که بیخیالش اما اگر واقعا نیاز هست ، پس دیوونگیه که بیای ازطریق ایمیل اطلاعاتش رو ثبت کنی :D

------

از دیتابیس آنلاین باید استفاده کنید و نیاز به یک هاست ساده دارید

هاست 200 مگ لینوکس سی پنل ایران سه ماهه 35 تومن از میهن وب هاست مناسب هست

------

آموزش ساخت دیتابیس رو در لینک زیر ببینید :

 

برای ارتباط با دیتابیس هم از سورس و Php های زیر استفاده کنید

https://s18.picofile.com/file/8438874592/Login_php_and_b4a.rar.html

جناب قاسمی عزیز لطف کردند و این سورس و کد های Php رو آماده کردند

این خط رو هم در منیفست قرار بدید تا اپ بروی SDK های بالای 26 هم اجرا بشه

SetApplicationAttribute(android:usesCleartextTraffic, "true")

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۱ در ۲۲:۴۷، Soheil_Miresmaili گفته است:

شما کلا نباید از این روش برای گرفتن اطلاعات کاربران استفاده کنید ( و قطعا بازار قبول نمیکنه )

اول ببینید واقعا برنامه شما به صفحه ثبت نام نیاز داره یا نه ؟ اصلا چرا باید مخاطب تو برنامتون ثبت نام کنه ؟

اگر نیاز نداره که بیخیالش اما اگر واقعا نیاز هست ، پس دیوونگیه که بیای ازطریق ایمیل اطلاعاتش رو ثبت کنی :D

دو تا مشکل این کار رو مثال میزنم ؛ اول این که وقتی ایمیلی که اطلاعاتبهش ارسال میشه لو بره هرکسی میتونه اطلاعات فیک برای شما ارسال کنه

و دوم این که این روشی که الان خددمتتون عرض شد روی اندروید های جدید مشکلاتی رو داره ( مستقیم ایمیل رو باز نمیکنه )

------

از دیتابیس آنلاین باید استفاده کنید

نیاز به یک هاست ساده دارید + سی پنل

از میهن وب هاست خرید کنید ؛ هاست 200 مگ لینوکس سی پنل ایران هر سه ماه 35 تومن

------

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

 

البته از کد های php اموزش استفاده نکنید، منسوخ هستند ! :secret2:

بعد از این که ساخت دیتابیس رو یاد گرفتید

از سورس و کد های Php زیر استفاده کنید

https://s18.picofile.com/file/8438874592/Login_php_and_b4a.rar.html

جناب قاسمی عزیز لطف کردند و این سورس و کد های Php رو آماده کردند

قبلش اپلیکیشن Notepad++ رو نصب کنید تا بتونید کد های php رو ازطریق این اپلیکیشن ویرایش کنید

spacer.png

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

SetApplicationAttribute(android:usesCleartextTraffic, "true")

 

ممنون از راهنمایی هاتون🙏

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام،

دوست عزیز اول از همه باید یک هاست اشتراکی لینوکس تهیه کنید. برای همین کاری که میخوایم انجام بدیم به قول دوست مون یک هاست 200 مگابایتی کافی هست که میتونید با پرداخت 38,000 تومان از اینجا تهیه کنید.

حالا Notepad++ رو باز کنید.(اگه این نرم افزار رو ندارید با حجم 3 الی 4 مگابایت میتونید از اینجا دانلود کنید.)

سپس کدهای php زیر رو در نوت پد پلاس پلاس بنویسید:

<?php
    $Message=$_POST['Message'];
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "[email protected]";
    $to = "[email protected]";
    $subject = "یک کاربر جدید ثبت نام کرد!";
    $headers = "From:" . $from;
    mail($to,$subject,$Message, $headers);
    echo "Sent";
?>

باید در کدهای بالا دو تغییر انجام دهید:

1- در متغیر $from من عبارت [email protected] رو قرار دادم. شما باید بجای MyDomain.ir آدرس دامین خودتون رو قرار بدین.(توجه داشته باشید چیز دیگه ای بنویسید یا اصلا اطلاعات کاربر ارسال نمیشه یا اگه هم ارسال بشه، به پوشه هرزنامه میره. پس حتما آدرس دامین خودتون رو قرار بدید تا ایمیل ارسالی صحت داشته باشه و مشکلی پیش نیاد.

2- در متغیر $to به جای [email protected] ایمیل یا ترجیحا جیمیل خودتون رو بنویسید. اطلاعات کاربر به این آدرس ایمیل فرستاده خواهد شد.

خب حالا این فایل متنی بالا رو با نام SendEmail و با پسوند php. ذخیره کنید و در پوشه public_html هاست خودتون آپلودش کنید.(SendEmail.php)

 

حالا B4A رو باز می کنیم:DD: و یک پروژه جدید می سازیم.

من به عنوان مثال توی دیزاینر دو تا ادیت تکست قرار دادم که اولی مربوط به شماره تلفن(EditText1) و دومی مربوط به نام و نام خانوادگی کاربر(EditText2) است و یک دکمه(Button1) هم قرار دادم تا با کلیک روی اون اطلاعات کاربر برام ایمیل بشه.

Sub Button1_Click
	If EditText1.Text="" Or EditText2.Text="" Or EditText1.Text.Length<>11 Then
		ToastMessageShow("مقادیر ورودی در فیلدها معتبر نیستند",False)
		Return
	End If
	Private Send As HttpJob
	Send.Initialize("Send",Me)
	Private Message As String="شماره کاربر"&EditText1.Text&CRLF&"نام و نام خانوادگی کاربر:"&EditText2.Text
	Send.PostString("http://MyDomain.ir/SendEmail.php","Message="&Message)
	Wait For JobDone(job As HttpJob)
	If job.Success=True And job.GetString="Sent" Then
		ToastMessageShow("ثبت نام انجام شد",False)
		Else
		ToastMessageShow("خطایی رخ داد",False)	
	End If
End Sub

در کدهای بالا در خط زیر به جای MyDomain.ir آدرس دامنه خودتون رو قرار بدین:

Send.PostString("http://MyDomain.ir/SendEmail.php","Message="&Message)

خب حالا هرکسی توی ادیت تکست ها اطلاعاتش رو وارد کنه و روی دکمه کلیک کنه به صورت خودکار برای شما یک ایمیل ارسال میشه.

حتی میتونید با استفاده از سرویس های پیامکی و با کمی هزینه به شماره کاربر یک SMS کد فعالسازی بفرستید تا یه وقت کاربر شماره فیک وارد نکنه. البته این گزینه اجباری نیست.

موفق باشید:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۲ در ۱۱:۳۸، امیرحسین قاسمی گفته است:

سلام،

دوست عزیز اول از همه باید یک هاست اشتراکی لینوکس تهیه کنید. برای همین کاری که میخوایم انجام بدیم به قول دوست مون یک هاست 200 مگابایتی کافی هست که میتونید با پرداخت 38,000 تومان از اینجا تهیه کنید.

حالا Notepad++ رو باز کنید.(اگه این نرم افزار رو ندارید با حجم 3 الی 4 مگابایت میتونید از اینجا دانلود کنید.)

سپس کدهای php زیر رو در نوت پد پلاس پلاس بنویسید:

<?php
    $Message=$_POST['Message'];
    ini_set( 'display_errors', 1 );
    error_reporting( E_ALL );
    $from = "[email protected]";
    $to = "[email protected]";
    $subject = "یک کاربر جدید ثبت نام کرد!";
    $headers = "From:" . $from;
    mail($to,$subject,$Message, $headers);
    echo "Sent";
?>

باید در کدهای بالا دو تغییر انجام دهید:

1- در متغیر $from من عبارت [email protected] رو قرار دادم. شما باید بجای MyDomain.ir آدرس دامین خودتون رو قرار بدین.(توجه داشته باشید چیز دیگه ای بنویسید یا اصلا اطلاعات کاربر ارسال نمیشه یا اگه هم ارسال بشه، به پوشه هرزنامه میره. پس حتما آدرس دامین خودتون رو قرار بدید تا ایمیل ارسالی صحت داشته باشه و مشکلی پیش نیاد.

2- در متغیر $to به جای [email protected] ایمیل یا ترجیحا جیمیل خودتون رو بنویسید. اطلاعات کاربر به این آدرس ایمیل فرستاده خواهد شد.

خب حالا این فایل متنی بالا رو با نام SendEmail و با پسوند php. ذخیره کنید و در پوشه public_html هاست خودتون آپلودش کنید.(SendEmail.php)

 

حالا B4A رو باز می کنیم:DD: و یک پروژه جدید می سازیم.

من به عنوان مثال توی دیزاینر دو تا ادیت تکست قرار دادم که اولی مربوط به شماره تلفن(EditText1) و دومی مربوط به نام و نام خانوادگی کاربر(EditText2) است و یک دکمه(Button1) هم قرار دادم تا با کلیک روی اون اطلاعات کاربر برام ایمیل بشه.

Sub Button1_Click
	If EditText1.Text="" Or EditText2.Text="" Or EditText1.Text.Length<>11 Then
		ToastMessageShow("مقادیر ورودی در فیلدها معتبر نیستند",False)
		Return
	End If
	Private Send As HttpJob
	Send.Initialize("Send",Me)
	Private Message As String="شماره کاربر"&EditText1.Text&CRLF&"نام و نام خانوادگی کاربر:"&EditText2.Text
	Send.PostString("http://MyDomain.ir/SendEmail.php","Message="&Message)
	Wait For JobDone(job As HttpJob)
	If job.Success=True And job.GetString="Sent" Then
		ToastMessageShow("ثبت نام انجام شد",False)
		Else
		ToastMessageShow("خطایی رخ داد",False)	
	End If
End Sub

در کدهای بالا در خط زیر به جای MyDomain.ir آدرس دامنه خودتون رو قرار بدین:

Send.PostString("http://MyDomain.ir/SendEmail.php","Message="&Message)

خب حالا هرکسی توی ادیت تکست ها اطلاعاتش رو وارد کنه و روی دکمه کلیک کنه به صورت خودکار برای شما یک ایمیل ارسال میشه.

حتی میتونید با استفاده از سرویس های پیامکی و با کمی هزینه به شماره کاربر یک SMS کد فعالسازی بفرستید تا یه وقت کاربر شماره فیک وارد نکنه. البته این گزینه اجباری نیست.

موفق باشید:53:

واقعا ازتون ممنونم:53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۱ در ۱۵:۲۲، Arta۲۰ گفته است:

سلام خدمت تمام برنامه نويسان

من ميخوام تو پروژه ام يه صفحه ثبت نام درست كنم كه توش نام و نام خانوادگي و شماره موبايل و ... باشه. وقتي كه كاربر اطلاعات رو وارد كرد، اطلاعاتي كه وارد كرده به ايميل من ارسال بشه. نميخوام از ديتابيس آنلاين استفاده كنم. چه جوري ميتونم اين كار رو انجام بدم؟

تیک کتابخانه Phone را بزنین و بعد

Dim email as Email

و بعد داخل یک ساب

    email.To.Add("[email protected]")
    email.Subject = "ثبت نام برنامه من"
    email.Body = name & phone "&...
    StartActivity(email.GetIntent)

و بعد ساب را صدا بزنین هر وقت نیاز شد

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۱ در 17:51، DexterFstone گفته است:

تیک کتابخانه Phone را بزنین و بعد

Dim email as Email

و بعد داخل یک ساب

    email.To.Add("[email protected]")
    email.Subject = "ثبت نام برنامه من"
    email.Body = name & phone "&...
    StartActivity(email.GetIntent)

و بعد ساب را صدا بزنین هر وقت نیاز شد

موفق باشید

من میخوام چند تا edit text بگذارم و اطلاعات رو داخل اونها وارد کنن و وقتی روی گزینه ثبت زدن، اطلاعاتی که وارد edit text کردن برام ارسال بشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۱۱ در ۰۷:۱۹، Arta۲۰ گفته است:

من میخوام چند تا edit text بگذارم و اطلاعات رو داخل اونها وارد کنن و وقتی روی گزینه ثبت زدن، اطلاعاتی که وارد edit text کردن برام ارسال بشه.

 

این خط، مربوط به متن خود ایمیل هست :

email.Body = "متن خود ایمیل"

شما اگر بخواید متن ادیت تکست یا لیبلی رو بگیرید باید به این شکل عمل کنید :

EditText1.text

برای در کنار هم قرار دادن متن سه تا ادیت تکست (یا لیبل فرقی نداره) به همدیگه هم باید بینشون از حرف " & " استفاده کنید

پس به این شکل می‌تونید متن سه تا ادیت تکست رو به عنوان متن اصلی ایمیل در کنار هم ارسال کنید :

email.Body = EditText1.Text & EditText2.Text & EditText3.Text 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...