Zadejte hledaný výraz...

Nahrávání souborů

johny1976
verified
rating uzivatele
(1 hodnocení)
28. 7. 2011 22:21:10
Zdravím :)
Zakládám si webové stránky a teď programuji administrační rozhraní.
Řeším problém s nahráváním souborů.
Potřebuji mít v administračním rozhraní formulář, kterým budu nahrávat daný soubor. (O těchto souborech se celý web točí.)
Soubory potřebuji nahrávat tímto způsobem:
Ve formuláři zadám jméno, popisek, druhý popisek a vyberu soubor z počítače.
Soubor se nahraje do určité složky na server, ALE musí se nahrát nějaký odkaz i do MySQL databáze, protože soubor, jméno i popisky chci potom zobrazovat nějakým scriptem na různých místech stránky (script nejspíš bude směřovat právě do MySQL databáze) - a chci, aby se to dalo z té databáze vyvolat 1. podle kategorií, a za 2. nejnovější.
Máte někdo s něčím takovým zkušenosti? Každá rada dobrá ;)
Předem díky...
28. 7. 2011 22:21:10
https://webtrh.cz/diskuse/nahravani-souboru#reply660536
martin.mod
verified
rating uzivatele
28. 7. 2011 23:35:45
Uploaduje to, ale nechtělo se mi testovat mysql a vytvářet tabulky.. tady je kód:
Krátký popis

Dlouhý popis

---------- Příspěvek doplněn 28.07.2011 v 22:38 ----------
samotny upload jsem stahl nekde z netu (nemel jsem tolik casu), jinak bych to udelal jinak a osetril to jeste podminkama a proti mysql inject.. taky by nebyl problem dodelat kategorie uploadovanych souboru
28. 7. 2011 23:35:45
https://webtrh.cz/diskuse/nahravani-souboru#reply660535
Pokud potrebujes vygenerovat i odkaz na tento nahrany (a v mysql ulozeny) soubor, muzes pouzit ihned po INSERTu prikaz $id=mysql_insert_id(); ktery ti vrati unikatni cislo (radek) prave nove vlozeneho zaznamu. $link='http://tvujweb.cz/download.php?id='.$id;
Plati to pro vyse uvedeny kod, kde je ID nastavene na autoincrement
Jestli chces tak ti to za nejakou tu stovku dam cele dokupy, kdyztak PM :)
29. 7. 2011 07:20:23
https://webtrh.cz/diskuse/nahravani-souboru#reply660534
martin.mod
verified
rating uzivatele
29. 7. 2011 12:32:13
jee, díky :) toto se mi přesně hodí .. potřebuji při registraci uživatele mu v kategoriích vytvořit novou, defaultní. - potřeboval jsem nějak zjistit aktuální přidávané ID :)
29. 7. 2011 12:32:13
https://webtrh.cz/diskuse/nahravani-souboru#reply660533
johny1976
verified
rating uzivatele
(1 hodnocení)
29. 7. 2011 13:16:37
Díky za rychlé reakce. :)
Mám ale s kódem jeden problém. Vytvořil jsem si v databázi tabulku a do ní sloupce:
ID
JmenoSouboru
jmeno
popis
popis2
...u sloupce ID jsem nastavil index. Když ale pomocí formuláře uploaduji soubor, do ložky files se normálně uloží, ale v tabulce MySQL se mi vytvoří řádek, jež obsahuje u každého sloupce pouhou nulu. Nevíte co s tím?
Vím že zkušení programátoři se chytají za hlavu, ale tohle je můj první větší php web. Už jen to, že jsem dokázal udělat přihlašvací systém považuji za veliký úspěch :D
Tak prosím ty zkušené o nějaké rady :)
Předem děkuji...
29. 7. 2011 13:16:37
https://webtrh.cz/diskuse/nahravani-souboru#reply660532
martin.mod
verified
rating uzivatele
29. 7. 2011 13:34:00
příkaz musí být, jak jsem psal: ('','$JmenoSouboru','$jmeno','$popis','$popis2') ... první je ID a proto tam jsou jen prázdné '', protože si tam ID mysql doplní samo. a kdybys to chtěl vypsat hned po zápisu, v podstatě nemusíš ani mysql_insert_id() vůbec využít, protože máš pořád načtenou proměnnou z formuláře $JmenoSouboru .. napíšu ti zde druhý script, který bude nahrané soubory vypisovat, je to jednoduché :)
... mělo by to fungovat :) .. pokud se tvůj adresář se soubory jmenuje files
---------- Příspěvek doplněn 29.07.2011 v 13:38 ----------
a pokud budeš chtít pak soubor editovat, tak přidáš odkaz na href="edit.php?id='.$odkaz.'" .. a v editačním scriptu na začátku načteš přenesené ID :
a pak jen tak jak před tím vypíšeš data, ale do formulářů..
29. 7. 2011 13:34:00
https://webtrh.cz/diskuse/nahravani-souboru#reply660531
johny1976
verified
rating uzivatele
(1 hodnocení)
29. 7. 2011 19:07:52
Notice: Undefined index: soubor in C:Program FilesEasyPHP-5.3.3.1wwwadministrupload.php on line 29
...
Toto je hláška, kterou mi to píše v hlavičce souboru upload.php.
A toto je hláška, kterou mi to píše, když chci soubor uploadovat:
Column count doesn't match value count at row 1
-To patrně znamená, že musím přidat alespoň jeden sloupec. Když tak učiním, soubor se nahraje normálně ale v tabulce MySQL se na nově vzniklém řádku zobrazí u každého sloupečku opět jen nula. Pokud řešení již bylo výše napsáno, omlouvám se ale nejspíš jsem to nepochopil. Uvítal bych nějaký script přímo do MySQL, protože já už si s tím fakt nevím rady :/
(btw - druhý script na zobrazení obsahu funguje. Úspěšně se mi zobrazují nuly :D)
Jinak děkuji za reakce...:)
29. 7. 2011 19:07:52
https://webtrh.cz/diskuse/nahravani-souboru#reply660530
martin.mod
verified
rating uzivatele
29. 7. 2011 19:43:03
tato chybová hláška znamená, že neodpovídá počet sloupců nebo je tam nějaký mišmaš... když máš v tabulce soubory 5 sloupců a dotaz je jak jsem psal: INSERT INTO soubory VALUES ('','$JmenoSouboru','$jmeno','$popis','$popis2') nemůže být problém .. zkus vytvořit tabulku znova:
CREATE TABLE soubory (
ID INT NOT NULL AUTO_INCREMENT ,
JmenoSouboruVARCHAR ( 30 ) NOT NULL ,
jmeno VARCHAR ( 50 ) NOT NULL ,
popis VARCHAR ( 250 ) NOT NULL ,
popis2 text ( 10 ) NOT NULL ,
PRIMARY KEY ( ID )
)
---------- Příspěvek doplněn 29.07.2011 v 19:43 ----------
tento kod das do SQL prikazu v PHP My Admin...
29. 7. 2011 19:43:03
https://webtrh.cz/diskuse/nahravani-souboru#reply660529
johny1976
verified
rating uzivatele
(1 hodnocení)
8. 8. 2011 00:04:15
Dííky :) Vše funguje, jak má...
8. 8. 2011 00:04:15
https://webtrh.cz/diskuse/nahravani-souboru#reply660528
Pro odpověď se přihlašte.
Přihlásit