Witam,
Poszukuję osoby, która pomogłby mi przerobić ten skrypt.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<title>nNiepytany numer</title>
<LINK REL=stylesheet HREF="styl.css" TYPE="text/css">
</head>
<body bgcolor="#FFFFFF">
<?php
require("config.php");
#######################################################################
#----------------- sprawdzam poprawnosc danych
#-przedzial losowania
$waga=true; //zmienna pomocnicza
if($p_przedzialu>=$k_przedzialu || $p_przedzialu<1 || $k_przedzialu>60 )
{ echo "<p><cite>Bł±d - Ľle podany przedział.<br>Liczby powinny być z zakresu [1; 60]</cite></p>"; $waga=false;}
#czas blokowania
if($ileDni>($k_przedzialu-$p_przedzialu-1) || $ileDni<0)
{ echo "<p><cite>Niepoprawny czas blokowania.<br> Liczba nie może być większa od różnicy krańców przedziału pomniejszon± o jeden.<br>Liczba zero oznacza rezygnację z opcji!!</cite></p>"; $waga=false;}
#godzina losowania
if((int) $godz_losowania>23 || $godz_losowania<0)
{ echo "<p><cite>Niepoprawna godzina losowania.<br>Podaj liczbe z zakresu [0;23].</cite></p>"; $waga=false;}
#dni losowania
if(
($poniedzialek!=0 && $poniedzialek!=1) ||
($wtorek!=0 && $wtorek!=1) ||
($sroda!=0 && $sroda!=1) ||
($czwartek!=0 && $czwartek!=1) ||
($piatek!=0 && $piatek!=1) ||
($sobota!=0 && $sobota!=1) ||
($niedziela!=0 && $niedziela!=1) ||
($poniedzialek==0 && $wtorek==0 && $sroda==0 && $czwartek==0 && $piatek==0 && $sobota==0 && $niedziela==0))
{echo "<p><cite>Bł±d w ustawieniach "Dni losowania
"</cite></p>"; $waga=false;}
$tab_d; //tablica dni tygodnia
if($poniedzialek==1) $tab_d[0]="Monday"; else $tab_d[0]="";
if($wtorek==1) $tab_d[1]="Tuesday"; else $tab_d[1]="";
if($sroda==1) $tab_d[2]="Wednesday"; else $tab_d[2]="";
if($czwartek==1) $tab_d[3]="Thursday"; else $tab_d[3]="";
if($piatek==1) $tab_d[4]="Friday"; else $tab_d[4]="";
if($sobota==1) $tab_d[5]="Saturday"; else $tab_d[5]="";
if($niedziela==1) $tab_d[6]="Sunday"; else $tab_d[6]="";
if($waga) //jesli dobrze ustawione to wszystko wyswietle
{
$dataNowa=date("Ymd"); //pobieram datę aktualną
$dataStara;
$numer; //niepytany numer
$plik=fopen("dane.txt","r"); //odczytuję plik i pobieram dane do tablicy
$numer=$tab[0];
$dataStara=$tab[1];
//jeśli data jest większa od odczytanej i godzina większa od 6 losuję liczbę
//w sobotę i niedzielę nie losuję
$waga_dnia=false;
for($i=0; $i<=6; $i++) //spr czy w dany dzien losuje
{ if($tab_d[$i]==$dzien)
{$waga_dnia=true; break;}
}
if($waga_dnia==true)
{
if($dataNowa>$dataStara && $godzinaNowa>=$godz_losowania)
{
$numer=rand($p_przedzialu,$k_przedzialu); //losuję nowy numer i spr czy nie byl przez ostatnie $ileDni juz wylosowany
#-jesli ustawione na zero to nie sprawdzam powtarzalnosci
if($ileDni!=0)
{
for($i=2; $i<=$ileDni+2; $i++)
{
if($tab[$i]==$numer)
{
$numer=rand($p_przedzialu, $k_przedzialu); $i=1; //jeśli numer juz byl to daje $i=1 bo nastopi $i++
//i znowu zavcczne liczyc od $i=2
}
}
}
//do pierwszego elementu za ostatnim zapisuję wartość numeru. Ponieważ tablica ma
rozmiar $ileDni+1 bo dochodzi $tab[0] gdzie jest data, zatem zapisuje do $tab[$il
eDni+2]
//teraz zapiszę nowe dane do pliku
$plik=fopen("dane.txt","w"); $zap=fwrite($plik, "$numer;$dataNowa;$numer;");
for($i=2; $i<=60; $i++)
{
$zap=fwrite($plik, "$tab[$i];"); }
}
}
}
echo "<CENTER><FONT face='Verdana' style='font-size: 10pt'>Dzi¶ jest <b>".date(d
.".".m
.".".Y
)."</b>. <br><br>Niepytany numer to:</font><br><br><b><FONT style='font-size: 36pt'>$numer</FONT></b></CENTER>";
<p><CENTER><font face="Verdana" style="font-size: 8pt">Numer losowany jest z przedziału ['.$p_przedzialu.', '.$k_przedzialu.'].';
if($ileDni!=0)
echo '<br>Następne wyst±pienie numeru jest możliwe nie wcze¶niej niż za '.++$ileDni.' dni.';
echo '<br><br>Losowanie numeru następuje o godzinie '.(int
)$godz_losowania.'<sup>00</sup> dnia następnego';
if($poniedzialek==1
&& $wtorek==1
&& $sroda==1
&& $czwartek==1
&& $piatek==1
&& $sobota==1
&& $niedziela==1
) {echo".";}
else if($poniedzialek==0 || $wtorek==0 || $sroda==0 || $czwartek==0 || $piatek==0 || $sbota==0 || $niedziela==0)
{
echo ' z wyj±tkiem:<br>';
if($poniedzialek==0
) echo "poniedziałku; "; if($wtorek==0
) echo "wtorku; "; if($sroda==0
) echo "¶rody; "; if($czwartek==0
) echo "czwartku; "; if($piatek==0
) echo "pi±tku; "; if($sobota==0
) echo "soboty; "; if($niedziela==0
) echo "niedzieli; ";
}
if($full_luz!=0 && $full_luz!=1)
echo'<p><cite>Błędnie podana warto¶ć w zmiennej $full_luz </cite></p>';
if($no_full_luz!=0 && $no_full_luz!=1)
echo'<p><cite>Błędnie podana warto¶ć w zmiennej $no_full_luz </cite></p>';
# - opcja wszyscy zwolnieni
if($full_luz==1 && $no_full_luz==0)
echo "<br>Wylosowanie numeru ".$k_przedzialu." oznacza, że danego dnia wszyscy s± zwolnieni z odpowiedzi!";
# - opcja nikt niezwolniony
if($full_luz==0 && $no_full_luz==1)
echo "<br>Wylosowanie numeru ".$k_przedzialu." oznacza, że danego dnia nikt nie jest zwolniony z odpowiedzi!";
# - opcja nikt niezwolniony i wszyscy zwolnieni
if($full_luz==1 && $no_full_luz==1)
{
echo "<br>Wylosowanie numeru ".--$k_przedzialu." oznacza, że danego dnia nikt nie jest zwolniony z odpowiedzi!"; echo "<br>Wylosowanie numeru ".++$k_przedzialu." oznacza, że danego dnia wszyscy s± zwolnieni z odpowiedzi!"; }
echo'</font></CENTER></p> ';
//wypis numerów które się pojawiły
$plik=fopen("dane.txt","r");
if($ile_wyswietlic>0 && $ile_wyswietlic<=60)
{
echo '<CENTER><FONT face="Verdana" style="font-size: 8pt"><br>Ostatnich '.$ile_wyswietlic.' wylosowanych numerów:<br>';
$waga;
for($i=2, $j; $i<$ile_wyswietlic+2; $i++)
{
if($waga) $j=$i;
if($j>30
) {echo"<br>"; $waga=false; $j=1;} }
echo'</FONT></b></CENTER>'; }
else if($ile_wyswietlic<0 || $ile_wyswietlic>60)
echo "<p><cite>Bł±d w ustawieniach w "Liczba dni wy
¶
;wietlanych
".<br>Liczba powinna być z przedziału [0; 60].<br>Wpisanie liczby "0" oznacza rezygnację z opcji!</cite></p>";
?>
<body>
Chodzi o to, żeby zamiast jednego losowanego numerka były trzy, i żeby wyniki losowań był zapisany w pliku wyniki.txt. Skrypt pochodzi ze strony Eduseeka. Z góry bardzo dziękuje za pomoc.
Pozdrawiam,
pobierak
Przenoszę
---
nospor
Edycja:Moze chociaż ktoś wie jak zrobić, żeby skrypt ten brał pod uwagę wylosowane numery z dwóch plikow, wyniklos.txt i wyniklos2.txt, aby numery z tych dwóch plików nie były już więcej wylosowane. Z góry dzięki.
Ten post edytował pobierak 4.10.2005, 15:22:34