ugrás a tartalomhoz

Php - Változó üres marad for ciklusban (megoldva)

morocztamas · 2011. Okt. 31. (H), 13.00
Van ez a forrásom:
$jelzők = "jelzok.txt";
            if (file_exists($jelzők)) {
              $sor = explode ("\n", $jelzők);
              for ($sorszám = 0; $sorszám < 13; $sorszám++) {
                if (file_exists($sor[$sorszám] . "favicon.ico"))
                  $icon = $sor[$sorszám] . "favicon.ico";
                else
                  $icon = "http://morocztamas.realgameguides.com/oldalgazda/img/konyvjelzok.png";
                $contentmain = $contentmain . "<a href='" . $sor[$sorszám] . "'><img src='" . $icon . "' alt='" . $sor[$sorszám] . "' /></a>\n";
              }
            } else {
              $contentmain = "Hiba lépett fel a könyvjelzők beolvasása során.";
            }
És az összes $sor[$sorszám] változó üres lesz/marad, kivéve az elsőt, mert az az állomány címe. Mitől?


Nem az állományt adja meg így, hanem csak a címe lesz a változó tartalma.
 
1

A hiba eléggé nyilvánvaló, de

Hidvégi Gábor · 2011. Okt. 31. (H), 13.07
A hiba eléggé nyilvánvaló, de nem segítek megtalálni, remélem, a többiek sem teszik. Annyit viszont hozzáfűznék, hogy ha nem jól működik a programod, írasd ki előbb a változók típusát, majd pedig a tartalmukat:

print_r(gettype($valtozo));
print_r($valtozo);
exit;
2

Lehet, de nekem nem az.

morocztamas · 2011. Okt. 31. (H), 13.12
Azért tettem fel a kérdést, hogy megtudjam mi a gond.
3

Én csak annyit fűznék hozzá,

inf3rno · 2011. Okt. 31. (H), 13.42
Én csak annyit fűznék hozzá, hogy jó lenne eldönteni, hogy magyar vagy angol változóneveket használsz, mert a kettő együtt elég ocsmányul mutat...
7

Régen

morocztamas · 2011. Okt. 31. (H), 16.03
Régen angollal írtam, de most tértem át a magyarra. A forráskódban azért van mindkettő, mert még régebben írtam meg az alapot.
4

Matekórán kapsz egy

Hidvégi Gábor · 2011. Okt. 31. (H), 14.08
Matekórán kapsz egy egyenletet, hogy oldd meg, a végén kijön neked, hogy x = 25, de a tanárnő felvilágosít, hogy a megoldás x = 16. Mit csinálsz ilyenkor?
6

Újra neki esem

morocztamas · 2011. Okt. 31. (H), 16.01
Bár tikán jött ki rossz eredmény. Akkor pedig volt úgy, hogy hiába néztem át vagy hatszor, nem találtam meg benne a hibát.
8

Pedig itt most nincs nagyon

Hidvégi Gábor · 2011. Okt. 31. (H), 16.16
Pedig itt most nincs nagyon más választásod : )
9

Pedig már elég sokszor

morocztamas · 2011. Okt. 31. (H), 17.35
Pedig már elég sokszor átfutottam a forrást, mégis ugyanott vagyok.
12

Akkor valamit rosszul

Hidvégi Gábor · 2011. Okt. 31. (H), 18.20
Akkor valamit rosszul csinálsz, én első ránézésre kiszúrtam a hibát, ezen kívül már ketten is leírtuk, hogy nézd már meg a változók tartalmát : )
5

Tipp

gabesz666 · 2011. Okt. 31. (H), 15.06
Adok egy tippet: valóban az a $jelzők tartalma, mint amit Te szeretnél?
10

Igen, mert az a fájl

morocztamas · 2011. Okt. 31. (H), 17.35
Igen, mert az a fájl tartalma.
11

Biztos?

Schmidi · 2011. Okt. 31. (H), 18.19
Szerintem nyomj rá egy var_dump()-ot biztos ami biztos, és nézd meg az eredményét.
13

Milyen fájl tartalma?

Poetro · 2011. Okt. 31. (H), 20.29
$jelzők = "jelzok.txt";
14

Minden tesztelendő kódot

prom3theus · 2011. Nov. 2. (Sze), 13.54
Minden tesztelendő kódot érdemes így futtatni:
error_reporting(E_ALL);
ini_set('display_errors', true);
Ezeket a beállításokat (error_reporting és display_errors) megteheted jó eséllyel a .htaccess fájlban is, vagy a megfelelő php.ini-ben (értelemszerűen nem PHP kódot bemásolva, hanem az adott fájlnak megfelelő szintaktikával). Ha egyik se megoldható, akkor marad a fenti kétsornyi kód. Utóbbi esetben csak arra ügyelj, hogy ez a két sor legyen az első két sor a kódban, különben néhány hibaüzenet továbbra is rejtve maradhat.

A megjelenő hibaüzenetekből szerintem világos lesz a probléma.