Autor | Zpráva | ||
---|---|---|---|
visionic Profil * |
#1 · Zasláno: 10. 9. 2016, 19:07:40
Dobrý den,
nevím si rady, jak zakomponovat do hotového řešení, proměnnou $_GET['promenna'] ve scriptu volajicim pres JavaScript. Mám nějaký drag&drop upload, který automaticky po upuštění souboru, soubor nahraje na server dle mého scriptu. zkrácená ukázka: JS: dropbox.filedrop({ // The name of the $_FILES entry: paramname:'pic', maxfiles: 20, maxfilesize: 8, url: 'post_file.php', uploadFinished:function(i,file,response){ $.data(file).addClass('done'); // response is the JSON object that post_file.php returns } }); PHP: $promenna = $_GET[promenna]; $upload_dir = '../images/galerie/'.$promenna.'/'; $allowed_ext = array('jpg','jpeg','png','gif'); URL: www.domena.cz/index.php?prom1=galerie&promenna=2
Dokonce me ani nezarazi, ze ta promenna nefunguje, kdyz php soubor vyvolavam JS a spoustim script jinak. Ale outázkou je, jak $_GET[promenna], dostat do toho php souboru. Dekuji za pomoc. |
||
Keeehi Profil |
1) Nemá to být
$_GET[promenna] ale $_GET['promenna']
2) Url se ti neshoduje s tou v JS. index.php a post_file.php
visionic: „Dokonce me ani nezarazi, ze ta promenna nefunguje, kdyz php soubor vyvolavam JS a spoustim script jinak.“ To s tím nemá co dělat. Server nerozlišuje, kdo o daný soubor požádal. |
||
visionic Profil * |
#3 · Zasláno: 12. 9. 2016, 10:06:23
„1) Nemá to být
$_GET[promenna] ale $_GET['promenna'] “
v prvem pripade jde o ukazku. „2) Url se ti neshoduje s tou v JS. index.php a post_file.php “
nevim proc by v url mel byt post_file.php kdyz ho na index.php vyvolavam ajaxem. a otázka zněla, jak tu proměnnou $_GET['promenna'] dostanu do post_file.php když ho pouze vyvolávám javascriptem pres index.php.
|
||
Keeehi Profil |
#4 · Zasláno: 12. 9. 2016, 10:44:39
visionic:
Takže myslíš toto? maxfiles: 20, maxfilesize: 8, url: 'post_file.php?promenna=<?php echo $_GET['promenna']; ?>', Ještě pozor, že to není escapované a taky by tomu slušela funkce urlencode. |
||
visionic Profil * |
#5 · Zasláno: 12. 9. 2016, 11:09:43
Ano myslim, ale toto reseni a nevim proc mi nefunguje :(. mozna je to proto, ze script mam v samotnem JS?
|
||
Keeehi Profil |
#6 · Zasláno: 12. 9. 2016, 11:51:08
visionic:
To bude samozřejmě tím. 1) To není php soubor, takže se php nemůže interpretovat, 2)musel by jsi tu proměnnou nejdříve dostat do url toho JS. Řešení může být více. Nastíním 2 1) <script href="javascript.php?promenna=<?php echo $_GET['promenna']; ?>"></script> externí JS zůstane tak jak jsi ho upravil podle [#4], jen se mu změní přípona z javascript.js na javascript.php 2) url: 'post_file.php?promenna='+location.href.match(/promenna=([^&]*)/) ? encodeURIComponent(location.href.match(/promenna=([^&]*)/)[1]) : '', |
||
visionic Profil * |
#7 · Zasláno: 12. 9. 2016, 16:08:15
Report:
pouzil jsem reseni cislo 1, ktere jsem jeste doupravil. post_file.php $promenna = $_GET[promenna]; $upload_dir = '../images/galerie/'.$promenna.'/'; index.php (v příkladu od keeehiho bylo href= a já opravil na src=) echo '<script src="js/script.php?promenna='.$_GET['promenna'].'"></script>'; script.php url: 'post_file.php?promenna=<?php echo $_GET['promenna']; ?>', pro ostatní, který se ocitli ve stejném problému jako já, ještě přidejte escapování. Děkuji keeehimu za rady a pomoc. |
||
Časová prodleva: 8 let
|
0