Autor Zpráva
visionic
Profil *
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 *
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
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 *
Ano myslim, ale toto reseni a nevim proc mi nefunguje :(. mozna je to proto, ze script mam v samotnem JS?
Keeehi
Profil
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 *
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.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: