ugrás a tartalomhoz

SQL adatbázisból lehívás...nem tudom mi a hiba

Anonymous · 2005. Május. 23. (H), 01.45
Hello!

Amikor egy felhasználó által feltöltött képet akarok akarok megjeleníteni egy weblapon (most éppen a fórumban), akkor nem jelenik meg a kép, pedig az elérési út jó! Tapasztaltam, hogy olyan kép, amit nem az SQL adatbázisból hívok le, az viszont megjelenik a lapon.
Itt a script lényeges része:

$i = 1;
while ($user_tomb = mysql_fetch_array($user_lekerd_eredm)) {
$login_tomb[$i] = $user_tomb['login'];
$kep_tomb[$i] = $user_tomb['image'];
$i++;
}

...

if ( $hsz_bekuldoje == $login_tomb[$i] ) {
$kep_kiir=$user_images_feltolt_path ."/" .$kep_tomb[$i];
$i = $z;
} else {
$kep_kiir=$user_images_feltolt_path ."/nemreg.jpg";
}

Miért van, hogy az SQL adatbázisból vett kép nem jelenik meg, mikor jó az elérési útja?

Online látható a probléma ezen az oldalon: http://users.atw.hu/...m/temalista_link.php
(bármelyik témára kattintva)

Danci
 
1

Magát a képet adatbázisba

sayusi · 2005. Május. 23. (H), 08.53
Magát a képet adatbázisba töltöd fel vagy egy könyvtárba másolod?

Bízzál Istenben és tartsd szárazon a puskaport!" -Cromwell
2

A képek egy mappában

Anonymous · 2005. Május. 23. (H), 11.29
A képek egy mappában vannak a $user_images_feltolt_path -ban és az adatbázisban csak az elérési útjuk van.
4

szerintem kap a linked egy

sayusi · 2005. Május. 23. (H), 16.18
szerintem kap a linked egy üres karaktert valahol.
trim() a te barátod.

engem is megszívatott pár hónapja :)

Bízzál Istenben és tartsd szárazon a puskaport!" -Cromwell
3

Valami bibi van a linkeddel,

Anonymous · 2005. Május. 23. (H), 11.50
Valami bibi van a linkeddel, mert nem működik. Mit ad eredményül az
echo $kep_kiir; 
PZ
5

debug, hibakeresés

Jano · 2005. Május. 23. (H), 18.23
Próbálj meg hibakeresést csinálni. Mivel a kép URL-je egy string azt nézd meg hogy az jól állítodik-e össze. Először az oldal forrásában nézzed meg, hogy belekerül-e egyáltalán a kép url-je. Aztán nézd meg, hogy az URL jó útvonalra mutat. Aztán nézd meg hogyha relatív útvonalat használsz, hogy a HTML fájlhoz képest ott van-e a kép.

Köv lépés: ha direkt írod be a címet akkor betudja-e hozni a képet a böngésző.

Ha rájöttél, hogy nem írja ki jól a kép címét akkor elkezdhetsz a kép címének előállításának szakaszaiba, a PHP-ba echo-kat rakni, amik kíirják neked, hogy éppen mi van abban a változóban, lefut-e egy ciklus, visszaad-e egyáltalán valamit az adatbázis stb.

Egy ilyen kódrészletből nem derül ki egy idegen számára semmi, így csak találgathat, hogy mi lehet a hiba.
6

Ne hari, de a lényeges

Anonymous · 2005. Május. 23. (H), 19.38
Ne hari, de a lényeges rész télleg benne volt a scriptrészletben, persze egy idegen számára lehet hogy nem derül ki semmi belőle.

A hibakeresés már megvolt részletesen (kiírogatás, változók tartalmának összeállítása helyesen, stb.), az egyedüli ami még nem volt, az, hogy a kép címét írom a böngészőbe. Mikor ezt megcsináltam, a következőt írta:
Nincs jogosultság a lap megtekintéséhez

Valószínűleg ez lehet a probléma, de ez miért lehet? (nincs levédve semmilyen módon a mappa, amiben a képek vannak, azok nem írásvédettek és semmi ilyesmi)

Amiket meg akarok jeleníteni, azok GIF fájlok. Ezzel is lehet esetleg valami probléma? Mert egy kép van ami megjelenik, az meg JPG. Na meg azt direkt hívom meg, nem SQL adatbázisból (ahogy fenn is látható).

Az igazi URL: http://gytk.atw.hu/includes/forum/temalista_link.php (bármelyik témára kattintva)
7

Jogok

attlad · 2005. Május. 23. (H), 19.54
Konkrétan milyen jogokkal rendelkeznek a képfájlok?

Attila
8

Nekem fogalmam sincs! Azt

Anonymous · 2005. Május. 23. (H), 20.57
Nekem fogalmam sincs! Azt hogy lehet megnézni?

Danci
9

Re

attlad · 2005. Május. 23. (H), 21.25
FTP program kiírja, pl. ha a Total Commandert használod, akkor ha jól emlékszem az is kiírja vagy számmal pl. 644 vagy vmi ilyesmit kéne mutatnia: rw-r--r-- a fájlok neve mellett, de Fájl menü -> Attribútumok módosításával tudod is állítani. Vagy próbáld ki azt, hogy beírod: chmod 644 egyikkepneve.gif ezután megnézed, hogy az a kép megjelenik-e.

Attila
10

Nagyon, nagyon szépen

Danci · 2005. Május. 23. (H), 21.46
Nagyon, nagyon szépen köszönöm! Télleg hozzáférési hiba volt!
Közben regisztráltam:)

Még 1 kérdés: Hogy tudom a php fájlban, akkor amikor a felhasználó feltölti a képet scripttel megváltoztatni az attribútumokat erre a 644-re megváltoztatni?

Az jó, hogy mikor feltölti a képet, akkor egy ilyen script:

if (is_uploaded_file($_FILES['feltoltes']['tmp_name'])) {
$user_images_feltolt_path='images';
$image_path = $user_images_feltolt_path . "/" . $_FILES['feltoltes']['name'];
//print "útvonal: " . ($image_path) . "| ";
move_uploaded_file($_FILES['feltoltes']['tmp_name'], $image_path) or die ("Nem sikerült az áthelyezés!");
chmod ($image_path,0644);
print "A kép feltöltése sikeresen befejeződött!<br>";
}

------------------------------------------------------------------

Mindenki a hegytetőn akar élni, anélkül hogy tudná, hogy a boldogság a meredély megmászásában rejlik...
11

Megoldódott:) Jó, ahogy

Danci · 2005. Május. 23. (H), 22.37
Megoldódott:) Jó, ahogy írtam:)

------------------------------------------------------------------

Mindenki a hegytetőn akar élni, anélkül hogy tudná, hogy a boldogság a meredély megmászásában rejlik...
12

MySQL CONCAT_WS, CONCAT nem megy

PiG · 2005. Jún. 2. (Cs), 09.38
Sziasztok!

Problémám a következő:
SELECT CONCAT_WS(' ',ugyfel_veznev,ugyfel_kernev) AS nev FROM ugyfelek WHERE ugyfel_id='2'

Ha ez a lekérdezés egy PHP scriptben szerepel - persze megfelelő függvényben, akkor hibát kapok, ha tök ugyanezt phpMyAdminba másolom, és végrehajtom, akkor működik. Ugyanaz a gép, uaz az sql szerver, uaz a PHP, egyik helyen megy, a másikban meg nem.

SELECT CONCAT(ugyfel_veznev,ugyfel_kernev) AS nev FROM ugyfelek WHERE ugyfel_id='2'

Na, a fenti viszont mindkét helyen megy.

SELECT CONCAT(' ',ugyfel_veznev,ugyfel_kernev) AS nev FROM ugyfelek WHERE ugyfel_id='2'

Na, ez sem megy, szóval az egyszeres idézőjel (') körül van vmi gond, de mi?

Tud vki megoldást?

MySQL 4.1.3b-beta-nt
phpMyAdmin 2.6.2-pl1
PHP Version 4.3.8

Köszi:
P][G
13

Karakter kódolás!!!

Anonymous · 2005. Jún. 2. (Cs), 11.49
A space helyére ez kell:
CONVERT(' ' USING utf8)
Már ha ez a kódolásod...

vagyis:
SELECT CONCAT_WS(CONVERT(' ' USING utf8),ugyfel_veznev,ugyfel_kernev) AS nev FROM ugyfelek WHERE ugyfel_id='2'

Én is jót szórakoztam a problémával annak idején! :-)
Üdv
Zoli
14

Köszi a választ!

PiG · 2005. Jún. 2. (Cs), 15.54
Köszi a választ! Közben megerőltettem az agyamat és eszembe jutott, hogy már volt dolgom hasonló problémával. A te megoldásodat nem próbáltam ki, mert az élet bonyolultsága miatt, azon a gépen, ahol a tesztelést végzem és a tényleges szerveren más a kódolás. Szóval nem lenne jó, ha folyton át kéne irogatni. Mindenesetre régebben a következő megoldást használtam (bár nem tudom, hol találtam rá) és működött, működik most is:
SELECT CONCAT_WS(0x20,ugyfelek.ugyfel_veznev,ugyfelek.ugyfel_kernev) AS nev FROM ugyfelek WHERE ugyfel_id='4'

Szóval a hexadecimális kódot beírva (idézőjelek nélkül) megy.
Azért köszi!

P][G