بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ریختن شماره رندوم در mySql

مدیریت گفتگو
علی 10 سال پیش
آخرین تغییر: 10 سال پیش

با سلام :

من چطور میتونم یه شماره رندوم بریزم داخل یه فیلد ؟

یکی کد معرف داره و میاد وارد میکنه اگر اشتباه باشه ثبت نام انجام نمیشه و اگر درست بود کد معرف ثبت نام میشه.

حالا وقتی درست زد کد رو، یه شماره رندوم ریخته شه در فیلد کد.

 $name=$_POST['name'];
$mobile=$_POST['mobile'];
$pass=$_POST['password'];
$email=$_POST['email'];
$status=$_POST['status'];
$code=$_POST['code'];


$sqlq1="select * from users where Mobile='$mobile' || Code='$code' ";
$result=mysql_Query($sqlq1);
$row=mysql_fetch_array($result);

if($mobile==$row[2]){

print "ut";

}elseif($code!=$row[6]){
print "کد اشتباه است";

}else{

$sqlQ="insert into users (Name,Mobile,Password,Email,Status,Code) VALUES('$name','$mobile','$pass','$email','$status','منظورم اینجاست')";
$result=mysql_Query($sqlQ);

 

نظرات

محمد 10 سال پیش
خب از تابع رندوم پی اچ پی استفاده کنید
علی 10 سال پیش
اگر میدونید کدشو بنویسید چون من بلد نیستم php.ممنون
محمد 10 سال پیش
کافیه یک سرچ در اینترنت میزدید بااین حال الان کدش رو در قسمت پاسخ ها میگذارم براتون یاعلی
علی 10 سال پیش
ارور میده اینجوری . اینو قبلا امتحان کرده بودم ولی جواب نداد .
محمد 10 سال پیش
چه اروری میده؟

پاسخ‌ها 3

محمد 10 سال پیش

 <?php
$A=rand(1,100);

?>
بعد متغیر A$ را بجای "منظورم اینجاست" قرار دهیددوعدد هم دلخواه اند میتونید تغییر بدید مثلا 100تا 10000000000! یا یک چیز دیگه
برای اینکه عدد تصادفی رو فرضا بخواید به کاربر هم نمایش بدید میتونید از دستور
echo $A
استفاده کنید

نظرات

علی 10 سال پیش

به این شکل نوشتم درست شد ممنون دوست عزیز. این رندوم تکراری هم میده؟ اگه نخوام تکراری بده باید چه کار کنم؟

$sqlQ="insert into users (Name,Mobile,Password,Email,Status,Code) VALUES('$name','$mobile','$pass','$email','$status','".$A=rand(1,100)."')";

نظرات

Mr Mehdi 10 سال پیش
احتمالش خیلی کمه اما برای احتیاط بیشتر می تونید یه کوئری با اون شماره بگیرید اگه وجود داشت یکی دیگه بسازید
Mr Mehdi 10 سال پیش
احتمالش خیلی کمه اما برای احتیاط بیشتر می تونید یه کوئری با اون شماره بگیرید اگه وجود داشت یکی دیگه بسازید
علی 10 سال پیش
من الان تست گرفتم از 1 تا 5 چند بار تکراری ثبت کرد. چطوری کوئری بگیرم مهدی جان؟
محمد 10 سال پیش
خب وقتی بازه ای ک میگیری کوچک باشه معلومه ک تکراری میده مثلا بازه رو بیشتر کن از 1 تا 999999 فرضا! اینطوری خیلی کم پیش میاد تکراری بده خیییلی کم! درضمن اگر ممکنه لطف کن تشکر رو ننویس به جاش لایک کن :) یاعلی
علی 10 سال پیش

الان این ممکنه بازم تکراری بده؟ نباید بافیلدی که شماره رندوم ریخته شده چک بشه؟

 function generateRandomString($length = 4) {
    $characters = '0123456789';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

$sqlQ="insert into users (Name,Mobile,Password,Email,Status,Code) 
VALUES('$name','$mobile','$pass','$email','$status','".$A=generateRandomString($length = 4)."')";

نظرات

raeesi 10 سال پیش
ایمیل کاربر رو mp5 بکن بریز توی فیلد تکراری هم در نمیاد
raeesi 10 سال پیش
ببخشید منظورم md5 بود
علی 10 سال پیش
چرا ایمیل؟ مگر به ایمیل ربطی داره؟
علی 10 سال پیش
رئیسی جان من جاوا کارم سمت php رو خیلی کم بلدم. میشه با کد توضیح بدی ؟
محمد 10 سال پیش
اینطور ک من متوجه شدم طولی ک در تابع رندوم قرار دادی 9 میشه! یعنی 1-10 ؟ بااین حساب بازه ی شما یک بازه ای بین 0 تا 9 هست بنظرت چندبار تکراری نده خوبه! :) من نمدونم میخوای چی بنویسی ولی دستی هم میتونی بدی مثلا بازه رو از فرضا 100شروع کن تا 99999 اینجوری بازه ی رندوم اعدادت بین این دو عدد هست همیشه
raeesi 10 سال پیش
ببین علی جان مگه شما نمی خوای برای هر کاربر یه عدد رندوم اختصاص بدی واین اعدادم مث هم نباشن درست فهمیدم؟
علی 10 سال پیش
دقیقا. الان این کدی که گذاشتم اینجا همین کار انجام میده 4 رقم بر میگردونه. منظورم اینه همین کد خوبه؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .