راکت
حل شده

سوالی درباره php

4 پاسخ

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

if(filter_var($phone , FILTER_VALIDATE_INT) === true){
$verify_code = rand(9999 , 100000) ;
//send an SMS
    $query_add_phone = "INSERT INTO token(phone , verify_code) values($phone , $verify_code)" ;
    $add_phone_result = mysqli_query($GLOBALS["connectdb"] , $query_add_phone) ;
    echo("موفقیت آمیز بود") ;
}else{

    echo("استفاده از کاراکتر های غیر مجاز برای شماره") ; exit ;

}
ثبت پرسش جدید

پاسخ‌ها

4
امیر علی
امیر علی
@ajdar9667

تخصص: طراح و توسعه دهنده fullstack

بهترین پاسخ

با سلام میتونی از تابع زیر استفاده کنید هم عددی بودن و هم اینکه به 09 شروع بشه رو چک میکنه

function check_phone($phone){
    if(preg_match("/^09[0-9]{9}$/", $phone)) {
return true ;

    }else{
    return false ;
    }
}
Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

سلام. خدا شاهده ما خبر نداریم شما دقیقا چه ورودی به این فانکشن می‌دین. خودتون با var_dump تست کنین و ببینین phone چی توشه و چه نوعیه. برای ولیدیشن هم اشتباهه که از filter_var کمک بگیرین، به جای این تعداد رقم‌هارو حساب کنین یا اینکه با 09 شروع میشه و این چیزها.

amir
amir
@behzadi

تخصص: بک اند و فرانت اند

@muhammad شما تابع اماده ای برای راستی ازمایی شماره در php ندارید چون حوصله کد نویسیه اون بخش رو ندارم و یه سوالی درباره mysql من الان میخام دوتا فیلد رو اپدیت کنم ولی هرکاری میکنم یادم نمیاد چجوری بود میشه کمک کنید از and هم استفاده کردم نشد

 $query_update_position_and_token = "UPDATE token SET position = 1   WHERE phone = '$phone' " ;

شاید پاسخ شما همین‌جا باشد

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

جواب سوال اولتون: ساده‌ترین حالتش اینه که از strlen استفاده کنین هرچند پیشنهاد می‌کنم از یه کتابخونه برای ولیدیشن استفاده کنین. سراغ فریم‌ورک‌ها هم حتماً برین چون بدون لایبریری و فریم‌ورک کار کردن به جایی نمی‌رسه.

جواب سوال دوم: بین اسم فیلدها کاما بذارین.

UPDATE table_name SET col1 = 'x', col2='y'...

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام