van _GET naar een global
hoe moet ik een _get meegeven aan
https://github.com/blueimp/jQuery-File-Upload/blob/master/index.html
(mijn file is zelfde maar veeeeeeeeel groter en in php dus makkelijker voor jullie om in deze te kijken want upload is zelfde)
zodat deze gestuurd wordt naar de class die hij dus opent
het extraheren lukt dus niet op da pagina die ik wil
uploaden werkt gewoon maar de _GET krijgen nogsteeds niet
ik wil iets dat normaal niet in dat script zit
en ja ik wil alles tegerlijk
nou ja eigelijk maar 1 dingetje :P
een _GET doorsturen naar de class van het upload script
ik heb door eerdere antwoorden nu wel mijn upload url aangepast via een omweg
volgens mij is het simpeler geoon in de file zelf maar ok ik doe het zo nu
maar probleem blijft dus hetzelfde
:(
gewoon ouderwetse php vind ik toch makkelijker dan all die js /jquery includes die dan weer op 1 of andere manier een pagina includen :P
Gewijzigd op 13/08/2019 07:59:01 door - Ariën -
inplaats van direct in de UploadHandler.php
(werkt nog niet goed maar dat krijg ik wel werkent maar probleem is nogsteeds zelfde)
link kan ik aanpassen zolang ik maar geen _GET erin zet want dat werkt dus niet
kijk ik wil gewoon simpelweg dit...
pagina.php?uploadalbum=88
dan moet hij dus de fotos laten zien uit map 88 en ook daarin uploaden
dit werkt als ik die upload link dus gewoon rechtstreeks aanpas in de UploadHandler.php
echter moet ik dus die info uit die _get halen
- Ariën - op 13/08/2019 07:47:27:
Hoe is je upload URL nou?
Kijk anders in je networktab van je browser nadat je wat uploadt. De URL naar je uploadscript dus!!
Gewijzigd op 13/08/2019 08:10:55 door - Ariën -
de link in de form?
ja die doet het wel ja
admin.php?page=upload&tab=dames&id='.$user[user_id].'';
ik zei al eerder een _POST werkt gewoon
maar ik wil dus info sturen naar die upload class zonder op die submit te drukken
de link in die url in die extra deel is nu
'upload_url' => ''.$_SERVER['DOCUMENT_ROOT'].'/server/php/dame'.$_GET['id'].'/'
de get ziet hij dus niet
Toevoeging op 13/08/2019 08:18:10:
ik denk dat ik er anders gewoon een <body onload="document.form.submit()">
zou makkelijker zijn denk ik, maar als dan internet een keertje happert dan werkt het weer niet
Zie ook: https://support.deskpro.com/en/kb/articles/how-to-inspect-ajax-requests-with-chrome-tools
Als die data wordt meegestuurd, dan kan je die in dat script gebruiken.
Gewijzigd op 13/08/2019 08:32:17 door - Ariën -
die network en upload enz werken gewoon
hij krijgt alleen die _get niet door en ik snap niet hoe ik die in die class kan krijgen??
als ik even de pagina ververs
dan krijg ik dit uit de netwerk tab
Code (php)
1
{"files":[{"name":"IMG-20190810-WA0031.jpg","size":158033,"url":"https:\/\/optinginplus.nl\/server\/php\/error\/IMG-20190810-WA0031.jpg","deleteUrl":"https:\/\/optinginplus.nl\/server\/php\/index.php?file=IMG-20190810-WA0031.jpg&_method=DELETE","deleteType":"POST","id":77,"userid":9,"type":"image\/jpeg","title":"","description":""},{"name":"IMG-20190810-WA0032.jpg","size":165085,"url":"https:\/\/optinginplus.nl\/server\/php\/error\/IMG-20190810-WA0032.jpg","deleteUrl":"https:\/\/optinginplus.nl\/server\/php\/index.php?file=IMG-20190810-WA0032.jpg&_method=DELETE","deleteType":"POST","id":101,"userid":5,"type":"image\/jpeg","title":"","description":""},{"name":"IMG-20190810-WA0033.jpg","size":180170,"url":"https:\/\/optinginplus.nl\/server\/php\/error\/IMG-20190810-WA0033.jpg","deleteUrl":"https:\/\/optinginplus.nl\/server\/php\/index.php?file=IMG-20190810-WA0033.jpg&_method=DELETE","deleteType":"POST","id":105,"userid":1,"type":"image\/jpeg","title":"","description":""},{"name":"IMG-20190810-WA0034.jpg","size":94827,"url":"https:\/\/optinginplus.nl\/server\/php\/error\/IMG-20190810-WA0034.jpg","deleteUrl":"https:\/\/optinginplus.nl\/server\/php\/index.php?file=IMG-20190810-WA0034.jpg&_method=DELETE","deleteType":"POST","id":100,"userid":5,"type":"image\/jpeg","title":"","description":""}]}
dit zijn de plaatjes die in de error map staan deze error map wordt gegeven door mijn script als hij geen get of post krijgt
Toevoeging op 13/08/2019 08:40:07:
heb je hier iets aan misschien ....
Quote:
Response Headers
access-control-allow-credentials: false
access-control-allow-headers: Content-Type, Content-Range, Content-Disposition
access-control-allow-methods: OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE
access-control-allow-origin: *
cache-control: no-store, no-cache, must-revalidate
content-disposition: inline; filename="files.json"
content-type: application/json
date: Tue, 13 Aug 2019 06:32:36 GMT
pragma: no-cache
server: nginx
status: 200
vary: Accept
x-content-type-options: nosniff
x-powered-by: PHP/7.2.21
x-powered-by: PleskLin
:authority: optinginplus.nl
:method: GET
:path: /server/php/
:scheme: https
accept: application/json, text/javascript, */*; q=0.01
accept-encoding: gzip, deflate, br
accept-language: nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7
cookie: PAPVisitorId=b3bbb83b1998f1722a6fbKVFOUcJ96JA; _ga=GA1.2.883375903.1511902384; PHPSESSID=j5eijab2k0mednv1hc542dou56; tabs=0; _pk_ref.1.ab07=%5B%22%22%2C%22%22%2C1565601152%2C%22https%3A%2F%2Fwww.google.nl%2F%22%5D; _gid=GA1.2.708553347.1565601152; _pk_id.1.ab07=d71556f0045bd76b.1563297121.20.1565601627.1565601152.
referer: https://optinginplus.nl/admin.php?page=uploadnew2&tab=dames&id=51
sec-fetch-mode: cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
x-requested-with: XMLHttpRequest
access-control-allow-credentials: false
access-control-allow-headers: Content-Type, Content-Range, Content-Disposition
access-control-allow-methods: OPTIONS, HEAD, GET, POST, PUT, PATCH, DELETE
access-control-allow-origin: *
cache-control: no-store, no-cache, must-revalidate
content-disposition: inline; filename="files.json"
content-type: application/json
date: Tue, 13 Aug 2019 06:32:36 GMT
pragma: no-cache
server: nginx
status: 200
vary: Accept
x-content-type-options: nosniff
x-powered-by: PHP/7.2.21
x-powered-by: PleskLin
:authority: optinginplus.nl
:method: GET
:path: /server/php/
:scheme: https
accept: application/json, text/javascript, */*; q=0.01
accept-encoding: gzip, deflate, br
accept-language: nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7
cookie: PAPVisitorId=b3bbb83b1998f1722a6fbKVFOUcJ96JA; _ga=GA1.2.883375903.1511902384; PHPSESSID=j5eijab2k0mednv1hc542dou56; tabs=0; _pk_ref.1.ab07=%5B%22%22%2C%22%22%2C1565601152%2C%22https%3A%2F%2Fwww.google.nl%2F%22%5D; _gid=GA1.2.708553347.1565601152; _pk_id.1.ab07=d71556f0045bd76b.1563297121.20.1565601627.1565601152.
referer: https://optinginplus.nl/admin.php?page=uploadnew2&tab=dames&id=51
sec-fetch-mode: cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
x-requested-with: XMLHttpRequest
Gewijzigd op 13/08/2019 17:43:20 door - Ariën -
Je upload-formulier bevat zo te zien een waarde die met GET wordt meegestuurd. Die werkt. Echter lijk je deze NIET mee te geven aan de URL van het uploadscript. Dit gaat via een AJAX-request, dus ergens lijkt het dat dit in de JavaScript implementatie staat van je formulier.
Laat anders de *relevante" code eens zien met hoe je het uploadformulier op het scherm tovert.
Gewijzigd op 13/08/2019 08:52:11 door - Ariën -
Uit de documentatie (stap 4):
Quote:
Edit main.js (noot: heet nu demo.js blijkbaar) and adjust the url option to the URL of your custom file upload handler. Alternatively you can remove the url option and edit index.html and adjust the action attribute of the HTML form element to the URL of your custom file upload handler.
Oftewel: verwijder de url-regel (regel 21 van https://github.com/blueimp/jQuery-File-Upload/blob/master/js/demo.js) en dan zou 'ie de form-action moeten pakken. Dan zou je dus ook de beschikking moeten hebben over je querystring (GET) parameters.
_POST wel
_GET niet
ik wil _GET
want bij _POST moet ik eerst op submit drukken
PS: ik heb die regel 21 weggehaald om te testen maar geen enkel verschil hij ziet nogsteeds de GET niet
Toevoeging op 13/08/2019 15:21:25:
is het niet iets in richting van
global $id;
ergens in een functie plaatsen
dit heb ik op zelde manier ook gedaan in agenda scripts die ik ook niet werkent kreeg
ik heb toen in de functies dat erbij gezet en toen deden ze het wel maar ik zou echt niet weten of dat hier zal werken en waar ik dat dan zou moeten doen
Doe eens wat Thomas zegt, en link naar je upload-script via de action. In die verwijzing gebruik je jouw $_GET waardes.
gimmy sec
Toevoeging op 13/08/2019 15:50:30:
ok lol dan linkt hij dus naar die pagina als ik op submit druk
dus via _POST
ik moet geen _POST ik moet _GET
Toevoeging op 13/08/2019 15:51:31:
waarde van mijn id werkt uiteraard want het is _POST
ik moet _GET hebben
Je kan ook waardes uit een URL als GET gebruiken in een action.
Zo heb ik mijn uploadsysteem ook gebouwd.
Gewijzigd op 13/08/2019 16:09:07 door - Ariën -
en daar heb ik dus niks aan
die post functie werkt gewoon
kijk hij moet bij opstarten gelijk de map openen die staat in de upload_dir in UploadHandler.php
als ik deze map gelijk aanpas dan werkt het perfect echter wil ik dus dat dit deel variable is doormiddel van de info die in de adressbalk staat van de pagina die geopent is
ik wil geen text hoeven neerzetten
met geachte users wilt u even op deze knop drukken zodat het systeem weet welke map hij moet hebben. voor uw eigen fotos
bedankt voor u begrip ....
Toevoeging op 13/08/2019 17:02:12:
ik snap er alleen niks van
sinds ik die aanpassing heb gedaan, werkt helemaal niets meer
ik kom niet eens meer op de page
ik heb alles al terug en nogsteeds kom ik er niet op
Toevoeging op 13/08/2019 17:15:33:
ok pfff het werkt weer, terug naar het probleem :D
ok lol als ik dus de get in die server/php/index.php zet en deze open dan werkt het dus op die pagina
nu moet hij dus die info laten zien in mijn pagina :P
Ik heb dat hele ding gedownload.
Mijn action in index.html aangepast naar http://mijn.testserver/<pad naar de upload functionaliteit>/upload.php?test=aap&hello=2"
In js/demo.js de regel met url: 'server/php/' uitgecomment.
In upload.php gebruik ik de standaard UploadHandler en komen de querystring parameters gewoon door volgens mij? Ook de afbeelding wordt netjes geupload.
Dus ik weet niet precies wat je verkeerd doet.
Deze handler zou je dus nog aan moeten passen aan jouw wensen en waarschijnlijk zul je ook het een en ander moeten dichttimmeren.
Als je die querystring parameters trouwens gebruikt ter identificatie van gebruikers dan ben je HEEL GEVAARLIJK BEZIG, want deze kunnen in de HTML-source door gebruikers worden aangepast. Je zou dus op die manier mogelijk afbeeldingen kunnen uploaden bij iemand anders en daarmee effectief de identiteit van de verzender kunnen vervalsen. Als het de bedoeling is dat iemand alleen in zijn eigen mapje foto's mag uploaden dan zou ik dit dus niet via GET regelen...
Verder kan je in die server/php/index.php inderdaad $_GET-waardes gebruiken voor eigen doeleinden.
En als uitbreiding op wat Thomas zegt. Ik raad ook aan om de uploadhandler sowieso te beveiligen zodat alleen mensen dit mogen gebruiken die recht hebben.
Gewijzigd op 13/08/2019 17:59:35 door - Ariën -
luister goed
post werkt
dat houd dus in dat mijn upload inderdaad werkt wat ik all in de eerste post zeg
wat ik will is dat elke user een eigen map heeft
elk nummer van de user staat in de adressbalk en daar kan het script dit dus uit vinden
hopelijk is het nu beter te begrijpen
maar ok ik heb denk ik een oplossing van iemand die blijkbaar ook zoiets had
gevonden op google echter krijg ik nog een 500 error mee en waarom weet ik ff niet :P
zal wel iets simpels zijn
https://github.com/dm/jq-file-upload/wiki/PHP-$_GET-dynamic-Directories
maar hij gaat hiermee wel goed kant op
Toevoeging op 13/08/2019 18:09:31:
ik krijg nu in mijn netwerk tab deze error
jquery.min.js:4 GET https://optinginplus.nl/server/php/index.php?id=51 500
jquery.min.js:4 POST https://optinginplus.nl/server/php/index.php?id=51 500
aan de link te zien doet hij het dus nu wel maar wordt niet geacepteerd
Toevoeging op 13/08/2019 18:14:34:
w000tttttt
hij doet het
soort van dan
door de gehele demo.js code in de upoad pagina te zetten en daarin die url aantepassen doormiddel van de _GET van die pagina
en wat kleine tweeks maake hij nu netjes mappen aan met de id in de adressbalk
ik moet hier nog wat dingen aan veranderen maar de basis die ik zocht werkt :)
pfffffff
nu eerst een bavaria :P
Toevoeging op 13/08/2019 18:51:55:
w0000000t delete doet het ook :P nou komen we ergens :P
Toevoeging op 13/08/2019 19:06:13:
het heeft even geduurd maar nu komen langzaam alle pootjes op de grond:P
aanmaken en deleten uit de database enzo werkt ook
nu alleen nog een paar extra info meegeven aan de link en wat kleine design dingetjes en dan is hij eindelijk klaar :P
Fijn dat het is gelukt.
En dit:
Quote:
wat ik will is dat elke user een eigen map heeft
elk nummer van de user staat in de adressbalk en daar kan het script dit dus uit vinden
elk nummer van de user staat in de adressbalk en daar kan het script dit dus uit vinden
Wil je dus echt op een andere manier regelen, zoals ik in mijn vorige bericht al heb uitgelegd. Bijvoorbeeld via een user-id in een sessie ofzo, maar niet via een URL die iedereen kan aanpassen...
maar dat werkt dus alleen als ik een submit deed en dat was juist niet de bedoeling
en kwa beveiliging daar is wel aan gedacht dat is mijn hooftzaak in het gehele script
dit is een admin script en dus toegang tot alle users
ik heb vanwege het testen even alle beveiliging omtrend deze files uitgezet maar
mijn upload deel kan in princiepe alleen worden geopent indien iemand is ingelogd
elk van mijn klanten heeft een eigen account id en deze wordt op meerdere manieren gecheckt
en deze wordt wel meegestuurd in de js file van het script maar niet in de adressbalk
en zelfs als iemand een manier vind om dat aan te passen dan houd mijn eigen beveiling script dat tegen
mbt tot de userids alle ids die straks worden meegegeven horen bij een account als je dus de get in de adressbalk aanpast dan opent hij die user wat dus de bedoeling is
je kan dus als je bent ingelogd best klooien met dit script maar dan snijden ze hunzelf in hun vingers :P
als klaar is laat ik wel een deel zien
want ik moet nog best veel code toevoegen en aanpassen om goed te krijgen hoe ik het wil maar het gaat goede kant op
ik moet alles ook nog responsive maken :O