سلام.میخوام داخل یه فرم ثبت اطلاعات با استفاده از کلاس TelegramBotPHP متن تایپی کاربر رو بگیرم اینکار رو چطوری انجام بدم؟
7 پاسخ
خوب شما باید تو هر مرحله که اطلاعات رو میگیرید تو دیتابیس ذخیره کنید و بعد چک کنید مثلا اگر نام کاربر تو دیتابیس وجود داره ایندفعه باید نام فامیلی رو بخواد. خیلی سادست.
برای بار چندم خواهش میکنم ازتون برای اینکه بقیه کسایی که مشکل شما رو دارن بتونن این بحث رو پیدا کن براش یه عنوان خوب بذارید.___
فرم دقیقا چه فرمی هست؟ فرم html منظورتونه؟ اگر اینطوره در هنگام submit شدن فرم مقادیر ارسال میشن از اونا میتونید استفاده کنید.
بله ببخشید به عنوان سوال دقت نکردم چون عجله داشتم
نه فرم داخل بات منظورم هست یه فرم جستجو داخل روبات طراحی کردم که مقادیرش داخل دیتابیس ذخیره میشه.مقدار دکمه ها ذخیره میشه ولی مقادیر متنی که کاربر وارد میکنه رو ذخیره نمیشه.فرم جستجو روبات 12 مرحله داره تقریبا و 5 مرحله با دکمه هست و بقیه مراحل رو یکی یکی از کاربر متن میگیرم
ورودی های کاربر تماما تو متغیر قابل دسترسه
$text = $telegram->Text();
ویرایش:
در صورتی که کاربر قراره روی دکمه شیشه ای کلیک کنه اطلاعاتش رو میتونید اینطوری بگیرید:
$text = $telegram->Callback_Data();
نه اولین ورودی متنی کاربر رو با $text = $telegram->Text(); دریافت میکنم چطوری هدایت کنم که متن بعدی رو هم بگیرم.فرضا نام کاربر رو گرفتم حالا میخوام برم یه قدم جلوتر و نام خانوادگی کاربر رو بگیرم ولی اخر
خوب منم الا دقیقا همین کار رو میکنم ولی مشکل اینه که اصلا جلو نمیره که برم مرحله بعد شاید گفتم شاید خطایی داره و جالبه داخل فایل TelegramErrorLogger.txt که طبیعتا اگر خطایی وجود داره باید نشون بده ولی هیچ خبری نیست!
میتونید برای کل برنامه یه بلاک try..catch بذارید تا بتونید خطاها رو handle کنید.
try{
.
.
.
} catch (Exception $e) {
$myfile = file_put_contents('errors.txt', $e.PHP_EOL , FILE_APPEND | LOCK_EX);
}
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!