Kryszic
4.09.2012, 14:37:18
Witam
mam następującą linijke w kodzie:
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/',
i wszystko gra. Na końcu tej linijki musze wstawić zmienną z liczbą kiedy robie to tak
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/7/',
jest dobrze ale iedy chce zeby to szlo ze zmiennej tak jak poniżej to nie dziala
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$idg.'/',
nie znam sie na programowaniu obiektowym prawdopodobnie zle wstawilem zmienna czy ktos moze mi pomoc
Z góry dzieki
CuteOne
4.09.2012, 14:41:33
To nie ma nic wspólnego z obiektówką..
//wstaw tego var_dump'a przed $xx = array(
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$idg.'/',
Kryszic
4.09.2012, 14:45:20
No ale to co mi wkleiles to nic nie daje dalej jest blad przeciez nic nie zmieniles
SyntaxError: JSON.parse: unexpected character
moze za malo kodu wkleilem poprzednio
'script_url' => $this->getFullUrl().'/',
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/3/', 'upload_url' => $this->getFullUrl().'/files/3/',
'param_name' => 'files',
trzeba za ta "3" podstawic zmienna dokladniej mowiac z $_GET[idg]
CuteOne
4.09.2012, 14:48:59
..... brak mi słów - z łaski swojej mogłeś chociaż zobaczyć do czego służy var_dump()
Odpal ten skrypt tak jak normalną stronę (adres.pl/plik.php?idg=4) i zobacz co wywali
Kryszic
4.09.2012, 14:51:48
ale ja tak zrobilem jak mi napisales i wlasnie dalej mam
po wywolaniu skryptu
SyntaxError: JSON.parse: unexpected character
viking
4.09.2012, 15:09:36
Kod który tu wkleiłeś nie ma nic wspólnego z komunikatem błędu. Poszukaj przyczyny w JSON, czyli np
json_encode
Kryszic
4.09.2012, 17:38:45
to skoro nie ma nic wspolnego to czemu sie pojawia w chwili gdy wstawiam zmienna
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$idg.'/',
kiedy jest tak
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/7/',
to jest ok
jak robie nawet tak zeby nie bylo
$idg=7;
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$idg.'/',
jest znowu błąd
Greg0
4.09.2012, 18:30:48
Bo ta tablica jest pewnie konwertowana do JSONa
CuteOne
4.09.2012, 19:28:34
1. Mówiłem odpal skrypt tak jak normalną stronę nie przez ajaxa
2. Pokaż cały kod z $_GET
3. Pokaż cały kod podczas ustawiania zmiennej (to co wyżej napisałeś z tym $idg=7)
scanner
4.09.2012, 19:40:20
=> Przedszkole
Kryszic
4.09.2012, 19:46:16
Dobra jetsem na takim etapie aktualnie
class UploadHandler
{
/*
w miejsce "7" musze wstawic zmienna $_GET[idg] ale kiedy to robie to wywala mi bląd że gdzies cos jest niedomkniete itp
Parse error: syntax error, unexpected '"' in /var/www/html/users/g/l/gloswww/stary.glospasleka.pl/image/php/upload.class.php on line 31
*/
var $zmienna="7";
function nazwafunkcji()
{
}
protected $options;
function __construct($options=null) {
'script_url' => $this->getFullUrl().'/',
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$this->zmienna.'/', 'upload_url' => $this->getFullUrl().'/files/'.$this->zmienna.'/',
'param_name' => 'files',
CuteOne
4.09.2012, 21:11:33
protected $get;
function __construct($options=null) {
$this->get = $_GET;
$this->options = array('a' => $this->get['aaa']); }
od razu mówię, że taki zapis jest nie właściwy (nawet jeżeli działa)
scanner
4.09.2012, 22:25:24
Kryszic, pokaż URL jakim to wywołujesz.
Czy na pewno na indeksie idg masz wartość w GET?
Kryszic
4.09.2012, 22:35:05
Pewnei tu wssztsko gra
... image/php/index.php?idg=7
No i kod razem z wywolaniem
class UploadHandler
{
public $zmienna;
public function ss ($zmienna)
{
$this->zmienna = $zmienna;
// return $this->zmienna;
}
protected $options;
function __construct($options=null) {
'script_url' => $this->getFullUrl().'/',
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$this->zmienna.'/', 'upload_url' => $this->getFullUrl().'/files/'.$this->zmienna.'/',
'param_name' => 'files',
//------------- wywolanie
$upload_handler = new UploadHandler();
$upload_handler-> ss ($_GET['idg']);
za cholere nei wiem czemu wartosc $_GET nie chce wejsc do funkcji construct
scanner
4.09.2012, 22:54:16
Jak krowie na miedzy:
linijka 22: Tworzysz nowy obiekt klasy UploadHandler, co powoduje magiczne wywołanie metody __construct().
Metoda __construct() tworzy jakiś zestaw danych, używając między innymi właściwości $zmienna.
Właściwość $zmienna jest niezainicjowana żadną wartością.
Linijka 23: Ustawiasz wartość właściwości $zmienna na wartość odczytana z GET.
Widzisz zaburzony ciąg chronologiczny?
Kryszic
4.09.2012, 22:58:33
a czy możesz mi powiedziec w prost co mam zmienic ? ja jestem grafikiem i walcze z tym od godziny 16:00
ja sobie to jutro na spokojnie przeanalizuje ale teraz robi sie coraz pozniej a jescze musze dwa projekkty zrobic
scanner
4.09.2012, 23:06:51
Zabezpiecz $_GET['idg'] żeby Ci ktoś krzywdy nie zrobił jakims *injection, przekaż je jako drugi parametr do konstruktora, użyj tego parametru zamiast $this->zmienna.
Wywal $zmienna z właściwości
Wywal ss()
I skoro jesteś grafikiem, to gdzie jest programista? Jak trzeba coś na obrazku poprawić, to on się tym zajmuje?
Kryszic
4.09.2012, 23:22:14
a jak to przekazac jako drugi parametr do konstruktora?
Ja nigdy nie zajmowałem się programowaniem obiektowym a ty używasz takiego języka jak to nby było wszystko oczywiste
markonix
4.09.2012, 23:32:15
Cytat(Kryszic @ 5.09.2012, 00:22:14 )

a jak to przekazac jako drugi parametr do konstruktora?
Ja nigdy nie zajmowałem się programowaniem obiektowym a ty używasz takiego języka jak to nby było wszystko oczywiste
Po przecinku..
Mało to ma wspólnego z obiektówką.
Kryszic
4.09.2012, 23:33:59
a czy tu ma cos zmienic?
$upload_handler = new UploadHandler();
$upload_handler-> ss ($_GET['idg']);
no i pozniej jak wywolac ten parametr i wstawic zamaist $this->zmienna?
scanner
4.09.2012, 23:36:23
<?php
class UploadHandler {
protected $options;
function __construct($options=null, $idg) {
'script_url' => $this->getFullUrl().'/',
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/'.$idg.'/', 'upload_url' => $this->getFullUrl().'/files/'.$idg.'/',
'param_name' => 'files',
// ...
}
// ...
}
//------------- wywolanie
$idg = (int) $_GET['idg']; // najprosciej, pod warunkiem, ze idg ma tylko inty
$upload_handler = new UploadHandler(null, $idg);
//...
Jeszcze raz zapytam, gdzie jest Twój programista? Bo męczysz się z czymś, o czym pojęcia nie masz, co nie powinno leżeć w Twoim zakresie zainteresowań. chyba, że robisz za team jednoosobowy - wtedy współczuję projektowi.
Kryszic
5.09.2012, 08:46:58
Podstawiłem to co mi dałeś i jak wywołuję skrypt sam skrypt z bzpośredneigo adresu to wsztsko działa jednak jak odpalam wszystko przez stronę to coś nie łapie mam błąd
SyntaxError: JSON.parse: unexpected character
scanner
5.09.2012, 10:26:29
Proponuję, abyś przetestował stronę z włączonym dodatkiem Firebug (dla Firefoxa) lub w Chrome - Narzędzia dla programistów - zakładka bodajże "Network" - zobaczysz tam bezpośredni request jaki idzie do serwera oraz response przez ten serwer zwracany. Wtedy możesz wkleić response tutaj i zobaczymy co masz popsute.
Kryszic
5.09.2012, 13:32:15
No własnei ale to jest ajax wszytsko dzieje sie asynchronicznie wiec ak wgrywam zdjecia dzieje sie to bez przeladowania strony i firebug nic nei pokazuje
cos sie dzieje nie tak kiedy konstruktor dostaje dwie wartosci bo jak jest po staremu i wpisuje na na sztywno np "7" do
'upload_dir' => dirname($_SERVER['SCRIPT_FILENAME']).'/files/7/',
//--- to jest ok
To co mi wkleileś działa przy bezpośredniim dojściu w adresie przegladarki do skryptu ale jak przechodzi przez ajax to ejst bląd
scanner
5.09.2012, 14:22:27
Problem z rozumieniem tekstu czytanego widzę.
Na przykładzie Chrome i Narzędzi dla programistów ( [Ctrl]+[Shift] + [I] ):

Konsola pokazuje każdy request który wychodzi z przeglądarki i ma w 4literach czy to jest grafika, ajax, czy modlitwa do Latającego Potwora Spaghetti.
Kryszic
5.09.2012, 15:09:45
dobra juz czaje tak to wyglada
[16:06:09.420] POST
http://domena/image/php/ [HTTP/1.1 200 OK 1804ms]
po kliknieciu w to mam
Nagłówki odpowiedzi
Δ1804ms
X-Powered-By:PHP/5.3.16Vary:User-AgentServer:ApacheDate:Wed, 05 Sep 2012 14:06:11 GMTContent-Type:text/htmlContent-Length:4220Connection:close
Nagłówki żądania
16:07:55.682
X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0 (Windows NT 6.0; rv:15.0) Gecko/20100101 Firefox/15.0Referer:http://domena/edycja_mc/index.php?id=hurt_zdj&idg=7Pragma:no-cacheHost:domenaContent-Type:multipart/form-data; boundary=---------------------------16541483331115Content-Length:662988Connection:keep-aliveCache-Control:no-cacheAccept-Language:pl,en-us;q=0.7,en;q=0.3Accept-Encoding:gzip, deflateAccept:application/json, text/javascript, */*; q=0.01
scanner
5.09.2012, 19:21:11
To jest request. a response jakiś masz?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.