Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jaka pętla?
3miel
post
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Witam,

mam taką funkcję:

php:
  1. <? 
  2. function losuj($tresc, $nrjezyk){ 
  3. srand((float) microtime() * 10000000); 
  4. global $slowko; 
  5. global $losowa_liczba; 
  6. global $slowkonr; 
  7. $losowa_liczba = array_rand ($tresc, 1); 
  8. $losowa_liczba+1; 
  9. $slowko0 = explode("|", $tresc[$losowa_liczba]); 
  10. $slowko = $slowko0[$nrjezyk]; 
  11. $slowkonr = $slowko0[3]; 
  12. } 
  13.  
  14. losuj($tresc, $_GET['nrjezyk']); 
  15. ?>


i teraz jeżeli wylosuje liczbe ($slowkonr=='1') to chce zrobić, żeby na nowo losowało (powtarzała się funkcja losuj).

Jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
3miel
post
Post #2





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Już gra, odpowiedz w poscie wyżej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Ale mam jeszcze jeden problem, otórz jak zgadne słowo i pisze Dobrze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to czasmi znowu losuje ten sam wyraz, tak jakby stronka albo skrypt chashowało tablice $tresc[], jak to naprawić? Czy nalerzy usunac tablice i na nowa ją stworzyć?

cały skrypt:
  1. <?
  2.     //--- WRZUCENIE PLIKU DO TABLICY ---
  3.     $filename='lekcje/'.$katalog.'/'.$plik.'.txt';
  4.     $file = file($filename); 
  5.     for( $i=0  ;  $i<(count($file)-2)  ;  $i++){
  6.         $tresc[] = chop($file[$i+2]);
  7.     }
  8.     $ile=count($tresc);
  9.  
  10.     //--- PRZGOTOWANIE PLIKU DO TESTU ---
  11.     if($_GET['akcja2'] == 'poczatek'){
  12.         for($i=0  ;  $i<$ile  ;  $i++){
  13.             $filename='lekcje/'.$katalog.'/'.$plik.'.txt';
  14.             $file = file($filename); 
  15.             $co = explode("|", $tresc[$i]);
  16.             $nowy = $co[0].'|'.$co[1].'|'.$co[2].'|0'; 
  17.             $file[$i+2] = $nowy."rn";
  18.             $file = implode("",$file); 
  19.             $fp = fopen($filename , "w");flock($fp,2); 
  20.             fputs( $fp , $file); 
  21.             flock($fp,3);fclose($fp); 
  22.         }
  23.     }
  24.     //--- TYTUŁ ---
  25.     $filename='lekcje/'.$katalog.'/'.$plik.'.txt';
  26.     $file = file($filename); 
  27.     $title = chop($file[0]); 
  28.     echo '<span class="title">'.$title.'</span>';
  29.  
  30.     //--- USTALENIE JEZYKA (EN->PL, PL->EN) ---    
  31.     if($_GET['jezyk'] == 'English -> Polski'){ $_GET['nrjezyk'] = 1; $_GET['nrjezyk2'] = 2;}
  32.     elseif($_GET['jezyk'] == 'Polski -> English'){ $_GET['nrjezyk'] = 2; $_GET['nrjezyk2'] = 1;}
  33.  
  34.     //--- FORMULARZ I HIDDEN ---
  35.     echo '
  36.     <form method="get" action="index.php">
  37.     <input type="hidden" name="katalog" value="'.$katalog.'" />
  38.     <input type="hidden" name="plik" value="'.$plik.'" />
  39.     <input type="hidden" name="akcja" value="dyktando" />
  40.     <input type="hidden" name="nrjezyk" value="'.$_GET['nrjezyk'].'" />
  41.     <input type="hidden" name="nrjezyk2" value="'.$_GET['nrjezyk2'].'" />
  42.     ';
  43.  
  44.  
  45.  
  46.     $slowko2 = explode("|", $tresc[$_GET['nr']]);
  47.     $slowko2 = $slowko2[$_GET['nrjezyk2']];
  48.     if($_GET['akcja2'] != 'poczatek'){
  49.     if($_GET['slowko2'] == $slowko2){
  50.         echo '<font color="green">Dobrze! :)</font><input type="hidden" name="bledne" value="'.$_GET['bledne'].'" /><input type="hidden" name="poprawne" value="'.++$_GET['poprawne'].'" /><br /><br /><br />';
  51.         $filename='lekcje/'.$katalog.'/'.$plik.'.txt';
  52.         $file = file($filename); 
  53.         $co = explode("|", $tresc[$_GET['nr']]);
  54.         $nowy = $co[0].'|'.$co[1].'|'.$co[2].'|1'; 
  55.         $file[$_GET['nr']+2] = $nowy."rn";
  56.         $file = implode("",$file); 
  57.         $fp = fopen($filename , "w");flock($fp,2); 
  58.         fputs( $fp , $file); 
  59.         flock($fp,3);fclose($fp); 
  60.  
  61.     }else{
  62.         echo '<font color="red">Zle! :(</font><input type="hidden" name="bledne" value="'.++$_GET['bledne'].'" /><input type="hidden" name="poprawne" value="'.$_GET['poprawne'].'" /><br /><br /><br />';
  63.     }
  64.     }
  65.     echo 'Pytanie ['.$_GET['poprawne'].'/'.$ile.'] [Poprawne: '.$_GET['poprawne'].' Błędne: '.$_GET['bledne'].']<br />
  66.     <br /><br />';
  67.  
  68.     if($_GET['poprawne'] != $ile){
  69.  
  70.     function losuj($tresc, $nrjezyk){
  71.         srand((float) microtime() * 10000000); 
  72.         global $slowko;
  73.         global $losowa_liczba;
  74.         global $slowkonr;
  75.      [b]   $losowa_liczba = array_rand ($tresc, 1);[/b] //PRZEZ TEN WERS SIE WIESZA
  76.         $slowko0 = explode("|", $tresc[$losowa_liczba]);
  77.         $slowko = $slowko0[$nrjezyk];
  78.         $slowkonr = $slowko0[3];    
  79.         if($slowkonr == 1) losuj($tresc, $nrjezyk);
  80.     }
  81.  
  82.     losuj($tresc, $_GET['nrjezyk']);
  83.  
  84.     echo '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<big><b>'.$slowko.'</b><big><br><br>
  85.     <input type="text" name="slowko2"><br><br>
  86.     <input type="hidden" name="nr" value="'.$losowa_liczba.'">
  87.     <input type="hidden" name="slowko" value="'.$slowko.'">
  88.     <input type="submit" value="Dalej">';
  89.  
  90.     }else{
  91.         echo 'Koniec testu!';
  92.     }
  93. ?>


Aha, nie iwem czememu ale cos znowu nei działa: http://3miel.ovh.org/english/index.php?kat...ish+-%3E+Polski spróbujcie czy jak dobrze odpowiecie, czy mozna dalej odpowiadac, bo u mnei sie wiesza :/

-EDIT--------
doszedłem do wniosku, że skrypt sie wiesza przy losowaniu liczby losowej.
Co moze byc przyczyną?

Ten post edytował 3miel 3.10.2005, 20:36:32
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 23:08