PDA

View Full Version : علت خطا در تولید تصادفی رشته



qqq2qqq
دوشنبه 21 آذر 1390, 22:11 عصر
سلام من از کد زیر واسه رندوم استفاده کردم



function genRandomString()
{
$length = 6;
$characters = 'abcdefghijklmnopqrstuvwxyz';
$string1 = '';

for ($p = 0; $p < $length; $p++)
{
$string1.= $characters[mt_rand(0, strlen($characters))];
echo $string1.' ';
}


return $string1;
}

function create()
{
//$string1 = '';
//include('../config.php');
//$sqlMaxCount="select max(id) from tajer";
//$MaxCount=mysql_result(mysql_query($sqlMaxCount),0 ,0);
for($i=1;$i<=$_POST['tedad'];$i++)
{
$username=genRandomString();
echo $username.'<br>';
//$SqlInsert="insert into tajer values(
}

}



که post['tedad'] همون تعداد رشته های تولیدی هستش مثلا اگه 3 بدم 3 بار رشته تولید می شه اما ممکنه بینش خطای زیر رو بده یا 5 بدم مثلا ممکنه 2 بار خطای زیر رو بده ممکن هم اصلا خطای زیر رو نده هر چی فکر کردم چیزی به ذهنم نرسید

Notice: Uninitialized string offset: 26 in I:\xampp\htdocs\etedal\admin\cuserpass.php on line 14
لطفا یکی کمک کنه

البته خط زیر رو هم گذاشت که تابع create احرا بشه


if(isset($_POST['tedad']))

qqq2qqq
دوشنبه 21 آذر 1390, 22:33 عصر
اوکی شد
جوابش هم می گم شاید به درد کسی بخوره
از strlen($characters)یکی کم کردم چون بعضی وقتا آخرین عدد که طول رشته هست به عنوان عدد رندوم انتخاب می شه و چون ارایه از صفر هست آخرین عدد همیشه یکی کمتر از طول رشته است پس آخرین عدد که طول رشته هست در آرایه وجود نداره
فکر کنم خوب نگفتمش