Pomoć - Pretraga - Članovi - Kalendar
Puna verzija: Generisanje CSV fajla
Dizajn Zona > Tehnike > Server scripting
Psyche
Cao, potredno je da otvorim veliki broj naloga (2000), pa nameravam to da izvedem tako sto cu PHP-om generisati sirovi CSV sa korisnickim podacima i onda ga uvesti kao .txt.

Fajl bi dakle trebalo da izgleda ovako:

firstname, lastname, email, username, password
Anonimni, Ispitanik, ispitanik0001@mojdomen.com, ispitanik0001, 8394
Anonimni, Ispitanik, ispitanik0002@mojdomen.com, ispitanik0002, 2134
...
Anonimni, Ispitanik, ispitanik2000@mojdomen.com, ispitanik2000, 9903


To radim ovom petljom:

CODE
<?php

function randomkeys()
{
$pattern = "1234567890";
for($i=0;$i<4;$i++)
{
$key .= $pattern{rand(0,9)};
}
return $key;
}
$lozinka = randomkeys(4);

for ($i=1; $i <=2000;$i++)

echo "Anonimni, Ispitanik, ispitanik$i@mojdomen.com, ispitanik$i, $lozinka <br /> ";
?>


E sad, imam 2 problema:

1. kako i gde da uglavim randomkeys funkciju pa da svaki red dobije svoju jedinstvenu lozinku
2. kako da imam ovaj format za brojeve: 0001 umesto 1, 0056 umesto 56...

Hvala!
kodi
1)
OMG, pa ubaci $lozinka = randomkeys(4); unutar petlje.......

2)
CODE
<?php
for($i=0;$i<4;$i++){
    echo sprintf("%04d",$i)."<br/>";
}

?>

0000
0001
0002
0003

ps, ako ti je lozinka vec cetvorocifreni broj, i ako su tu samo cifre a ne i slova
onda generisi random broj sa mt_rand(0,9999) pa isforsiraj vodece nule kao pod 2.
Psyche
Pa ako mislis posle for ($i=1; $i <=2000;$i++) onda mi isprinta samo jedan red i to 2001 biggrin.gif
kodi
si cuo ti za uglaste zagrade?
mislim, ovo je bas ono... bas bas osnovno, ove se uci posle hello world...

ako hoces da ti se vise od jedne linije izvrsava u petlji onda uradis ovo
CODE
petlja(){
    komanda 1;
    komanda 2;
    komanda n;
}



quote of the day:
Give me a fish and I eat for a day. Teach me to fish and I eat for a lifetime.
Psyche
Hvala, hvala.
kodi
srecno sa testiranjem naloga smile.gif
Psyche
Uvezla sam naloge i sve radi OK biggrin.gif

Ovako sam to napravila.

CODE

<?php

for($i=1;$i<2001;$i++) {
echo "Anonimni, Ispitanik, ispitanik".sprintf("%04d",$i)."@mojdomen.com,
ispitanik".sprintf("%04d",$i).", ".mt_rand(1000,9999)."<br />";
}
?>
kodi
sta ti tacno nije jasno?


edit:
omg, he is a she biggrin.gif
Psyche
Sad mi je sve jasno rolleyes.gif
ivanhoe
malo napomena: podrska za gomilu korisnika na sajtu obicno ne radi otvaranjem gomile naloga, nego pomocu .htaccess i mod_rewrite i jednog naloga (i malo php-a). Posto su ti ispitanici anonimni mogla si slobodno da ih furas sve na isti mail, I guess?
Psyche
Koristim Moodle, u njega sam ovo uvezla, a tamo mi je podesena zabrana dupliranja email adresa. Te adrese ce biti onemogucene i tu su samo zato sto je email jedno od zahtevanih polja.

Dalje, radi se o tome sto upitnike u okviru istog mogu da popunjavaju samo registrovani korisnici. Ponekad, sem studenata, iste ce popunjavati i eksterni ispitanici. Oni moraju da se loguju preko ovih fake naloga. Naravno, njihove aktivnosti ce biti strogo organicene i dobijace samo na lokalnom nivou (konkretnog upitnika) dozvole da mu pristupe.

Login podaci ce se printati izvan samog Moodle-a sa uputstvom. Proveravacu da li je taj i taj user_ID vec registrovan u tabeli sa odgovorima i da li je sesija trenutno otvorena, ako nije - osoba koja dodje na stranicu dobice nasumicno odabran jedan od naloga iz klastera i mogucnost da se uloguje preko njega na taj konkretan upitnik. Ili ce im nalozi biti deljeni licno i davani na privremeno koriscenje.

E, sad to tek treba da sprovedem u delo, pa ako na ovoj tacki jos uvek logickog razmatranja ovo nije dobra zamisao neka neko vice wink.gif


1. Sifre ce se menjati s vremena na vreme, to je vrlo lako, generisem samo ponovo fajl i izdam komandu za update preko Moodle admin interfejsa.

2. Pored password kolone, stavila sam jos jednu pin u kojoj se cuvaju duplikati lozinki samo za ove naloge ali nisu kriptovani posto ne znam kako da vratim kriptovanu lozinku iz password kolone.

Ali to cu tek da odradim kasnije, za sada je i ovo dovoljno.

Hvala na pomoci!
Ovo je "lo-fi" verzija našeg glavnog sadržaja. Da biste videli punu verziju, sa svim informacijama, formatiranjem ili slikama, molimo vaskliknite ovde.
Invision Power Board © 2001-2013 Invision Power Services, Inc.