[tablice] tylko pierwszy?
[tablice] tylko pierwszy?
czesc. mam taki problem:
roszerzenia.php - > tutaj trzymam rozszerzenia i ich opisy (do takiej malej przegladarki) w takiej formie:
$ext["<format>"] = "<opis>";
i teraz mam problem, bo w narzedziu konfiguracyjnym do tejze przegladarki robie listing wszystkich rozrzezen i ich opisow w takiej formie:
[php]<?php
include ("rozszerzenia.php");
echo "<h3>Edycja tablicy rozszerzeń</h3><br><hr><br><br><form method=post action=\"writec.php?what=ext\">
<table border=1 cellspacing=2 align=center><tr><th>Numer</th><th>Rozszerzenie</th><th>Opis</th></tr>";
$q = 1;
foreach ($ext as $key => $value) { echo "<tr><td>$q</td><td>$key</td><td><input type=text name=\"$key\" value=$value></td></tr>"; $q++; }
?>[/php]
no i nie zabardzo mi to wychodzi bo do komorki, tam gdzie ma byc opis wpisuje mi tylko pierwszy wyraz opisu, odcinajac reszte!
czy wiecie jak temu zarardzic?
roszerzenia.php - > tutaj trzymam rozszerzenia i ich opisy (do takiej malej przegladarki) w takiej formie:
$ext["<format>"] = "<opis>";
i teraz mam problem, bo w narzedziu konfiguracyjnym do tejze przegladarki robie listing wszystkich rozrzezen i ich opisow w takiej formie:
[php]<?php
include ("rozszerzenia.php");
echo "<h3>Edycja tablicy rozszerzeń</h3><br><hr><br><br><form method=post action=\"writec.php?what=ext\">
<table border=1 cellspacing=2 align=center><tr><th>Numer</th><th>Rozszerzenie</th><th>Opis</th></tr>";
$q = 1;
foreach ($ext as $key => $value) { echo "<tr><td>$q</td><td>$key</td><td><input type=text name=\"$key\" value=$value></td></tr>"; $q++; }
?>[/php]
no i nie zabardzo mi to wychodzi bo do komorki, tam gdzie ma byc opis wpisuje mi tylko pierwszy wyraz opisu, odcinajac reszte!
czy wiecie jak temu zarardzic?
Re: [tablice] tylko pierwszy?
Wszystko mi wskazuje na problem w pliku rozszerzenia.php... daj go na forum
Re: [tablice] tylko pierwszy?
[php]<?php
$ext = array();
$ext["php"] = "Plik PHP Hypertext Protocol";
$ext["txt"] = "Plik tekstowy";
$ext["jpg"] = $ext["jpeg"] = "Obrazek JPEG";
$ext["gif"] = "Obrazek GIF";
$ext["htm"] = $ext["html"] = "Strona internetowa HTML";
$ext["ace"] = "Archiwum ACE";
$ext["aif"] = $ext["aifc"] = $ext["aiff"] = "Plik audio AIFF";
$ext["ani"] = "Animacja";
$ext["arj"] = "Archiwum ARJ (RAR)";
$ext["asf"] = "Wideo ASF";
$ext["asp"] = "Plik aktywnej strony serwera";
$ext["avi"] = "Wideo AVI";
$ext["bat"] = "Plik wsadowy MS-DOS";
$ext["bmp"] = "Bitmapa BMP";
...
?>[/php]
i jeszcze troche rozszerzen, w sumie dokladnie 61
ps. yay! to moj setny post!
$ext = array();
$ext["php"] = "Plik PHP Hypertext Protocol";
$ext["txt"] = "Plik tekstowy";
$ext["jpg"] = $ext["jpeg"] = "Obrazek JPEG";
$ext["gif"] = "Obrazek GIF";
$ext["htm"] = $ext["html"] = "Strona internetowa HTML";
$ext["ace"] = "Archiwum ACE";
$ext["aif"] = $ext["aifc"] = $ext["aiff"] = "Plik audio AIFF";
$ext["ani"] = "Animacja";
$ext["arj"] = "Archiwum ARJ (RAR)";
$ext["asf"] = "Wideo ASF";
$ext["asp"] = "Plik aktywnej strony serwera";
$ext["avi"] = "Wideo AVI";
$ext["bat"] = "Plik wsadowy MS-DOS";
$ext["bmp"] = "Bitmapa BMP";
...
?>[/php]
i jeszcze troche rozszerzen, w sumie dokladnie 61
ps. yay! to moj setny post!
-
Grzegorz Winiarski
- Nowy

- Posty: 147
- Rejestracja: pt lut 27, 2004 10:36 pm
- Lokalizacja: Kraków
Re: [tablice] tylko pierwszy?
Musisz jedynie poprawić funkcje echo wewnątrz pętli foreach na taką:
[php]
<?php
echo "<tr><td>$q</td><td>$key</td><td><input
type=text name=\"$key\" value=\"$value\"></td></tr>";
?>
[/php]
[php]
<?php
echo "<tr><td>$q</td><td>$key</td><td><input
type=text name=\"$key\" value=\"$value\"></td></tr>";
?>
[/php]
Re: [tablice] tylko pierwszy?
w morde... blad w html... teraz rozumiem, zamiast szukac bledow w rzeczach podstawowych zawsze doszukuje sie usterek w tych co bardziej zaawansowanych kwestiach... w kazdym razie dzieki!
Re: [tablice] tylko pierwszy?
staraj sie jednak oddzielac htmla od php bo wtedy jest latwiej, czytelniej i nie wychodza ci takie buraczki
jak ten powyzej bo wszystko zobaczysz co zle w htmlu w przegladarce 
Re: [tablice] tylko pierwszy?
Jak ja mam jakiś taki błąd to zawsze robię podgląd źródła i HTML-owe błędy wychodzą od razu...
Re: [tablice] tylko pierwszy?
dobra - teraz mam problem z php - chodzi o zapisywanie samej tablicy. niby wszystko powinno dzialac ok, ale jak juz cos zapisuje to robi mi bajzel z pliku rozszerzenia.php. oto kody plikow:
formularz wysylajacy:
[php]<?php
include ("rozszerzenia.php");
echo "<h3>Edycja opisów tablicy rozszerzeń</h3><br><hr><br><br><form method=post action=\"config.php?write=ext&config=3\">
<table border=1 cellspacing=1 align=center bordercolor=black><tr><th><div>lp</div></th>
<th><div>Rozszerzenie</div></th><th bgcolor=#eeeeee><div>Opis</div></th></tr>";
$q = 1;
foreach ($ext as $key => $value) {
echo "<tr><td><div>$q</div></td><td align=center><div>$key</div></td>
<td><input type=text name=\"pext[$q]\" value=\"$value\" class=\"q\" size=80></td></tr>";
$q++;
}
echo "</table><br><hr><div align=right>Żeby dodać nowe rozszerzenia należy edytować plik rozszerzenia.php ręcznie.</div>"; break;
?>[/php]
a teraz skrypt:
[php]<?php
include ("rozszerzenia.php");
$count = count($ext);
for ($i=1; $i<$count; $i++)
{
$text[$i] = $_POST['pext'][$i];
}
$zaczep = fopen("rozszerzenia.php", "r+");
rewind($zaczep);
fwrite ($zaczep, "<?php\n// tablica rozszerzen - modyfikowac wedle potrzeb lub uzywajac panelu konfiguracyjnego\n\n\$ext = array();\n\n");
$q=0;
foreach ($ext as $key => $value)
{
fwrite ($zaczep, "\$ext[$key] = \"$text[$q]\";\n");
$q++;
}
fclose ($zaczep);
?>[/php]
ps. wszystko znajduje sie w jednym pliku - akcje wywolywane sa za pomoca get-a
formularz wysylajacy:
[php]<?php
include ("rozszerzenia.php");
echo "<h3>Edycja opisów tablicy rozszerzeń</h3><br><hr><br><br><form method=post action=\"config.php?write=ext&config=3\">
<table border=1 cellspacing=1 align=center bordercolor=black><tr><th><div>lp</div></th>
<th><div>Rozszerzenie</div></th><th bgcolor=#eeeeee><div>Opis</div></th></tr>";
$q = 1;
foreach ($ext as $key => $value) {
echo "<tr><td><div>$q</div></td><td align=center><div>$key</div></td>
<td><input type=text name=\"pext[$q]\" value=\"$value\" class=\"q\" size=80></td></tr>";
$q++;
}
echo "</table><br><hr><div align=right>Żeby dodać nowe rozszerzenia należy edytować plik rozszerzenia.php ręcznie.</div>"; break;
?>[/php]
a teraz skrypt:
[php]<?php
include ("rozszerzenia.php");
$count = count($ext);
for ($i=1; $i<$count; $i++)
{
$text[$i] = $_POST['pext'][$i];
}
$zaczep = fopen("rozszerzenia.php", "r+");
rewind($zaczep);
fwrite ($zaczep, "<?php\n// tablica rozszerzen - modyfikowac wedle potrzeb lub uzywajac panelu konfiguracyjnego\n\n\$ext = array();\n\n");
$q=0;
foreach ($ext as $key => $value)
{
fwrite ($zaczep, "\$ext[$key] = \"$text[$q]\";\n");
$q++;
}
fclose ($zaczep);
?>[/php]
ps. wszystko znajduje sie w jednym pliku - akcje wywolywane sa za pomoca get-a
-
Grzegorz Winiarski
- Nowy

- Posty: 147
- Rejestracja: pt lut 27, 2004 10:36 pm
- Lokalizacja: Kraków
Re: [tablice] tylko pierwszy?
Nie możesz w ten sposób dopisywać kodu PHP do pliku rozszerzenia.php.
Najlepszym rozwiązaniem będzie wrzucić wszystkie rozszerzenia do bazy danych ewentualnie do pliku .txt
Najlepszym rozwiązaniem będzie wrzucić wszystkie rozszerzenia do bazy danych ewentualnie do pliku .txt
Re: [tablice] tylko pierwszy?
grzegorz mowisz o czyms takim zebym mogl to rozpakowywac przez exploda?
hmm myslalem o tym wiesz ale jakos zdecydowalem sie to zrobic tak.
a dlaczego nie moge tak pisac kodu? przeciez tworzony plik bedzie po prostu ciagiem znakow, ktore utworza kod.
hmm myslalem o tym wiesz ale jakos zdecydowalem sie to zrobic tak.
a dlaczego nie moge tak pisac kodu? przeciez tworzony plik bedzie po prostu ciagiem znakow, ktore utworza kod.
Re: [tablice] tylko pierwszy?
hath! rozwiazalem juz problem!
tylko przed chwila okazalo sie ze nie dziala
plik rozszerzenia.txt:
[php]<?php
txt|plik tekstowy
gif| obrazek gif
... // itd.
?>[/php]pobieranie rozszerzen:[php]<?php
$zaczep = fopen ("rozszerzenia.txt", "a+"); $n=0;
while (!feof ($zaczep)) {
$exsts[$n] = fgets ($zaczep); $n++;
}
fclose ($zaczep);
$count = count($exts);
for ($n=0; $n<$count; $n++) {
$tmpvar = explode ("|", $exsts[$n]);
$ext[$tmpvar[0]] = $tmpvar[1];
}
foreach ($ext as $key => $value)
{
echo "<br>$key = > $value";
}
?>[/php]foreachem narazie sprawdzam czy dobrze wyszlo i wyskakuje mi blad
tylko przed chwila okazalo sie ze nie dziala
plik rozszerzenia.txt:
[php]<?php
txt|plik tekstowy
gif| obrazek gif
... // itd.
?>[/php]pobieranie rozszerzen:[php]<?php
$zaczep = fopen ("rozszerzenia.txt", "a+"); $n=0;
while (!feof ($zaczep)) {
$exsts[$n] = fgets ($zaczep); $n++;
}
fclose ($zaczep);
$count = count($exts);
for ($n=0; $n<$count; $n++) {
$tmpvar = explode ("|", $exsts[$n]);
$ext[$tmpvar[0]] = $tmpvar[1];
}
foreach ($ext as $key => $value)
{
echo "<br>$key = > $value";
}
?>[/php]foreachem narazie sprawdzam czy dobrze wyszlo i wyskakuje mi blad
-
Grzegorz Winiarski
- Nowy

- Posty: 147
- Rejestracja: pt lut 27, 2004 10:36 pm
- Lokalizacja: Kraków
Re: [tablice] tylko pierwszy?
Zrobiles literówke w lini 7
[php]
<?php
$count = count($exsts);
?>
[/php]
[php]
<?php
$count = count($exsts);
?>
[/php]
Re: [tablice] tylko pierwszy?
damn! zawsze trafi sie jakis glupi blad. 
mam talent do literowek.
dzieki jeszcze raz hmmmm
mam talent do literowek.
dzieki jeszcze raz hmmmm

