Autor | Zpráva | ||
---|---|---|---|
bobo Profil |
#1 · Zasláno: 27. 1. 2008, 20:35:31 · Upravil/a: bobo
Dobrý večer,
Chtěl bych poprosit o pomoc. Mám 2 soubory,v jednom se generuje heslo a druhý povoluje stahování na základě vlozeneího hesla. jak to mám udělat aby se vygenerované heslo vložilo do daného pole v souboru2? Kamil sobour1 (generátor) <? mt_srand((double)microtime()*1000000); function generuj_heslo($delka) { $moznosti='ABCDEFGHIJKLMNOPQRSTUVWXYZ'. '0123456789' ; $heslo=""; while(strlen($heslo) < $delka) { $heslo .= substr($moznosti, mt_rand(0, strlen($moznosti) - 1), 1); } return($heslo); } $heslo=generuj_heslo(6); echo $heslo; ?> ================================= soubor2 --------- <? If ($HTTP_POST_VARS["heslo"]=="heslo"): session_start(); session_register("user_register"); $user_register = "ANO"; header("location:downloads/neco.rar"); else: if (isset($HTTP_POST_VARS["heslo"])) echo "<br><b><font size=4 color=#66FFFF>Vložili jste nesprávný kód !!!</font></b><br>" ; endif; ?> =========================================================== sobory jsou zde : soubor1: soubor2 |
||
bobo Profil |
#2 · Zasláno: 27. 1. 2008, 20:44:32 · Upravil/a: bobo
Pradíte někdo?
děkuji předem. bobik |
||
K Profil * |
#3 · Zasláno: 27. 1. 2008, 20:57:46
uloz si ho treba do session nebo si ho posli POSTem
|
||
DaveLister Profil * |
#4 · Zasláno: 27. 1. 2008, 21:05:26
uloz si ho treba do session nebo si ho posli POSTem
mam takovej blbej dotaz.... jak neco poslu POSTem bez formuláře? |
||
djlj Profil |
#5 · Zasláno: 27. 1. 2008, 21:07:06
DaveLister
Třeba pomocí CURL funkcí. |
||
bobo Profil |
#6 · Zasláno: 27. 1. 2008, 21:23:48
No,jste moc hodní,ale v php dost kloužu.... :-(
nenapsal by mi někdo nějaký příklad? |
||
bobo Profil |
#7 · Zasláno: 27. 1. 2008, 21:26:10 · Upravil/a: bobo
Potřeboval bych se něčeho chytit...
|
||
K Profil * |
#8 · Zasláno: 27. 1. 2008, 21:28:08
|
||
bobo Profil |
#9 · Zasláno: 27. 1. 2008, 21:34:35
K díky http://interval.cz/clanky/zaciname-pouzivat-sessions-v-php/ tohle jsem studoval,ale nějak se nemůžu dobrat toho, co a kam mám vložit.... :-(
|
||
bobo Profil |
#10 · Zasláno: 27. 1. 2008, 21:44:37
Může mi to někdo ukázat názorně?
|
||
K Profil * |
#11 · Zasláno: 27. 1. 2008, 21:50:14
Myslim, ze by si se mel zamyslet co vlastne chces aby to delalo, jelikoz jsem konecne pochopil v cem je problem. Nastuduj si neco o formularich, posilani dat z formularu pomoci metody POST. Tot vse.
|
||
bobo Profil |
#12 · Zasláno: 27. 1. 2008, 21:59:07
K
Je to tak,že vygenerovaný kód ze souboru gen.phpby se měl převest do pole heslo v soboru log.php a zároveň jej dostane uživatel třeba na email,nebo mobil. Tímto vygenerovanám kódem je pak zpřítupněn soubor pro stažení.takže každý uživatel má kód jedinečný který se už neopakuje. |
||
K Profil * |
#13 · Zasláno: 27. 1. 2008, 22:08:15
bobo
Jak jsem jiz psal - pochopil jsem naprosto presne co to ma delat. Budu hodny a poradim. Staci logicky premyslet - to heslo vygenerujete a zobrazite ho nejakemu uzivateli - ten ho pak musi nekam napsat aby se mu zpristupnilo stazeni. Tim ze ho nekam zapise a klikne na "odeslat" se vam to heslo odesle na script log.php. Staci pridat dalsi hidden prvek do formulare do ktereho zapisete heslo a nechate si ho poslat s tim heslem co zada uzivatel. |
||
bobo Profil |
#14 · Zasláno: 27. 1. 2008, 22:14:14
je mi líto,jsem uplně vedle..... vůbec to nechápu....
|
||
randy Profil * |
#15 · Zasláno: 27. 1. 2008, 22:23:00
Nevim jestli jsem uplne pochopil tvuj umysl, ale tady neco mas... napsal jsem to ted v rychlosti, tak nevim jestli to bude dobre, kdyby to neslo, hod to sem, jeste se na to podivam. Jinak samozrejme by to asi bylo jednodussi udelat v jednom souboru, ale patrne mas nejakej duvod k tomu mit to ve dvou souborech :-)
<?php // soubor 1 session_start(); mt_srand((double)microtime()*1000000); function generuj_heslo($delka) { $moznosti='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $heslo = ""; while(strlen($heslo) < $delka) { $heslo .= substr($moznosti, mt_rand(0, strlen($moznosti) - 1), 1); } return($heslo); } $_SESSION['password'] = generuj_heslo(6); echo 'Vaše heslo je: '.$heslo; header('Location: soubor2.php'); ?> <?php // Soubor 2 session_start(); if(isset($_POST['submit'])) { if(!empty($_POST['form_pass'])) { if(isset($_SESSION['password']) && $_POST['form_pass'] == $_SESSION['password']) { $file = "neco.rar"; header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); readfile($file); } else { echo '<br /><b><font size="4" color="#66FFFF">Vložil(a) jste nesprávný kód!!!</font></b><br />'."\n"; } } else { echo '<br /><b><font size="4" color="#66FFFF">Nevyplnil(a) jste kód!!!</font></b><br />'."\n"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-language" content="cs" /> <title>Stažení souboru</title> </head> <body> <form> <input type="text" name="form_pass" /> <input type="submit" name="submit" value="Stáhnout soubor" /> </form> </body> </html> |
||
randy Profil * |
#16 · Zasláno: 27. 1. 2008, 22:27:04
Hmm, hned jsem par chyb nasel sam :-) sorry.
Oprava: <?php // soubor 1 session_start(); mt_srand((double)microtime()*1000000); function generuj_heslo($delka) { $moznosti='ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $heslo = ""; while(strlen($heslo) < $delka) { $heslo .= substr($moznosti, mt_rand(0, strlen($moznosti) - 1), 1); } return($heslo); } $_SESSION['password'] = generuj_heslo(6); echo 'Vaše heslo je: '.$heslo.'<br />'; echo 'Za pět vteřin budete přesměrováni.'; echo '<meta http-equiv="Refresh" content="5; url=soubor2.php" />'; ?> <?php // Soubor 2 session_start(); if(isset($_POST['submit'])) { if(!empty($_POST['form_pass'])) { if(isset($_SESSION['password']) && $_POST['form_pass'] == $_SESSION['password']) { $file = "neco.rar"; header('Content-Description: File Transfer'); header('Content-Type: application/force-download'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); readfile($file); } else { echo '<br /><b><font size="4" color="#66FFFF">Vložil(a) jste nesprávný kód!!!</font></b><br />'."\n"; } } else { echo '<br /><b><font size="4" color="#66FFFF">Nevyplnil(a) jste kód!!!</font></b><br />'."\n"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-language" content="cs" /> <title>Stažení souboru</title> </head> <body> <form action="" method="post"> <input type="text" name="form_pass" /> <input type="submit" name="submit" value="Stáhnout soubor" /> </form> </body> </html> |
||
bobo Profil |
#17 · Zasláno: 27. 1. 2008, 22:29:57
Díky moc, zkusím to hnedle... :-)
|
||
bobo Profil |
#18 · Zasláno: 28. 1. 2008, 00:03:21 · Upravil/a: bobo
randy
tak jsem to zkoušel porůznu. ale jelokož to nezobrazí vygenerované heslo,nemohu ho zadat. uzivatel vlastně soubor 1 (gen.php) ani nepotřebuje vidět. např. Co uvidí je index http://php-testy.ic.cz/index2.php pro ukázku jsem vygenerovaná hesla zvyditelnil. normálně ale videt nebudou.protože generátor bude samostatný soubor a po zadání hesla (kódu) který mu přišel na email,nebo mobil ho zadá a začne stahování. jde o to,aby heslo např. 111111 nebylo v souboru1 (log.php) natvrdo.Aby mel každy uřivatel,pro dané stahování unikátní vtupní kód který mu vygeneruje soubor 1 (gen.php).ten může být spuštěn třeba mobilem nebo kliknutím na "stahuj" jakmile se stránka opět načte. když příjde jeden uživate 2x vždy bude mít jiný kód. Viz zde: http://php-testy.ic.cz/index2.php |
||
bobo Profil |
#19 · Zasláno: 28. 1. 2008, 00:15:11
Tak uč jsem to myslím vyřešil.
randy,diky tobe, Ještě jednou díky moc. |
||
Časová prodleva: 16 let
|
0