הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   איך עושים קוד רנדומלי עם מספרים ואותיות? (https://hosts.co.il/forums/showthread.php?t=22376)

Ori The Man 23-05-06 14:53

איך עושים קוד רנדומלי עם מספרים ואותיות?
 
אני יודע לעשות קוד רנדומלי של מספרים
אבל איך עושים של אותיות?
או של אותיות ומספרים?

BBman 23-05-06 15:18

אני לא מכיר שיטה ישירה , אך אני הייתי מכניס למערך את כל האותיות.
כתבתי כאן משהו , בביצוע קצרצר שניתן לבצעו טוב יותר אך עקב מיהור :

PHP קוד:

<center>
<?php 
$a
[1]="A";
$a[2]="B";
$a[3]="C";
$a[4]="D";
$a[5]="E";
$a[6]="F";
$a[7]="G";
$a[8]="H";
$a[9]="I";
$a[10]="J";
$a[11]="K";
$a[12]="L";
$a[13]="M";
$a[14]="N";
$a[15]="O";
$a[16]="P";
$a[17]="Q";
$a[18]="R";
$a[19]="S";
$a[20]="T";
$a[21]="U";
$a[22]="V";
$a[23]="W";
$a[24]="X";
$a[25]="Y";
$a[26]="Z";

for(
$c=1;$c<=3;$c++)
{
$b=rand(1,6);
$d=rand(1,9);
 echo 
"$a[$b]$d";
}


?>

שים לב שה-3 בלולאה זה חצי ממס' התווים המקסימלי שתרצה , אגב , אפשר לבצע זאת בשתי לולאות אך הביצוע זהה , כמובן שאני ממליץ לך לסדר את הקוד שלי ולשפרו מבחינה ויזואלית וביצועית בהתאם לרצונך.

Ori The Man 23-05-06 15:20

תודה:)
אבל אין שיטה יותר פשוטה?
שיעשה את כל הפקודה בפעם אחת?

sUP 23-05-06 15:22

ממ יש לי קוד שלא אני בניתי,
אבל אולי תבין ממנו משו..

PHP קוד:

<?php 

function generate_code($chars){ 
for(
$i=0;$i<=($chars-1);$i++){ 
$r0 rand(0,1); $r1 rand(0,2); 
if(
$r0==0){$r .= chr(rand(ord('A'),ord('Z')));} 
elseif(
$r0==1){ $r .= rand(0,9); } 
if(
$r1==0){ $r strtolower($r); } 

return 
$r


$size "10"// מספר התווים

$random_password generate_code($size); // יצירת הקוד לפי מספר התווים
echo "$random_password"// הצגת הקוד
?>


BBman 23-05-06 15:25

כמו שאמרתי , איני מכיר ישירה =]

Ori The Man 23-05-06 15:40

ציטוט:

נכתב במקור על ידי sUP
ממ יש לי קוד שלא אני בניתי,
אבל אולי תבין ממנו משו..

PHP קוד:

<?php 

function generate_code($chars){ 
for(
$i=0;$i<=($chars-1);$i++){ 
$r0 rand(0,1); $r1 rand(0,2); 
if(
$r0==0){$r .= chr(rand(ord('A'),ord('Z')));} 
elseif(
$r0==1){ $r .= rand(0,9); } 
if(
$r1==0){ $r strtolower($r); } 

return 
$r


$size "10"// מספר התווים

$random_password generate_code($size); // יצירת הקוד לפי מספר התווים
echo "$random_password"// הצגת הקוד
?>


חח תודה
אבל אפשר הסברים?
כי זה לא עוזר שנותנים קוד ואני סתם ידביק

BlueNosE 23-05-06 15:53

שימוש בSRAND יניב תוצאה יותר טובה.
אני חייב ללכת, אין לי זמן להביא דוגמא תסתכל במניואל..

PsyX 23-05-06 15:53

עם הוא היה מבין הוא היה אומר לך .
הוא אמר לך גם במפורש שלא הוא בנה אותו.
לכן תנסה להבין לבד..

עידן.

PhS 23-05-06 16:27

או קיי זה מה שאני הבנתי (בכלל לא 100%)

PHP קוד:

<?php  

function generate_code($chars){  // יצירת פונקציה
for($i=0;$i<=($chars-1);$i++){  
// אם משתנה קטן או שווה למספר התווים שבחרת
// אז תעשה את הלולאה ותגדיל באחד את המשתנה

$r0 rand(0,1); $r1 rand(0,2); // הגרלת שני מספרים, אחד בין0 ל1 והשני בין 0 ל2 

if($r0==0){$r .= chr(rand(ord('A'),ord('Z')));}  
// אם המספר הראשון שווה ל0 אז אז תגריל אותיות
elseif($r0==1){ $r .= rand(0,9); }  
// אם המספר הראשון שווה ל1 אז תגריל מספר מ1 עד 9
if($r1==0){ $r strtolower($r); }  
// אם המספר השני שווה ל0 אז תקטין את האות
}  
return 
$r;  
// תראה את האות
}  

$size "10"// מספר התווים 

$random_password generate_code($size); // יצירת הקוד לפי מספר התווים 
echo "$random_password"// הצגת הקוד 
?>

בחלק מהדדברים השורה לפני הההגדרה - שים לב

מקווה שזה נכון


כל הזמנים הם GMT +2. הזמן כעת הוא 04:44.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ