Keresés
Hírlevél
 
Kiemelt témák
»Hogy viszonyul ehhez a család?
»Legjobb metodika emberi relációk tárolására
»A programozó hibája, hogy törik a programját?
»Jogosultság kezelés mezőszinten
Állás/munka
»Wordpress szakértőt keresünk
»Kamu álláshirdetők listája
»Front-end fejlesztő / Sitebuilder
»DataStore Developer
»PHP programozó, webfejlesztő munkát keres
» több téma
Tudástár
Oldalon keresés 8x írja ki az eredményt
?XML-ből sok szövegmező
?Input mezőből visszakapott adat probléma
TinyMCE és az ékezetek
?Rengeteg hasonló kép betöltése gyorsan (PHP)
Ékezetes kar. nem minden táblában jól
?Shelltreeview gond
Grafikon rajzolás probléma
?Onclick= php függvény
?Egyenes megrajzolása
?Access-ből adott xml fájl kinyerése
Listázás időpont szerint
Exportálás változó könyvtárba
*Link eredményének kiolvasása
Imagemapre képet
» több téma
Társalgó
»A programozásból jól meg lehet élni?
»MFC tanulás
»Könyvet adok-veszek
»Hogy viszonyul ehhez a család?
»Nintendo wii
»Letölthető az új Rad Studio XE és Delphi XE
»Weblap véleményezés
»Játékmotor elmélet
»Informatikai bulvárlap
»Delphi-ről C++-ra váltás
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Kép feltöltése

»

Kép feltöltése

nyitotta: snayper, idő: 2010.03.13., moderátor: moderator
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » PHP
Adatbázisok » MySQL

Sorrend:
Időzóna:
Blokkméret:
sziasztok,

a szakdolgozatomon dolgozok amiben létreszeretnék hozni egy kép feltöltést. Ftp-n szeretném tárolni és a cimét pedig adatbázisban... szeretném ugy megcsinálni hogy az adatbázisból kinyert cím alapján az ftp-n található fájlok közül kitallózza és beillessze a megadott helyre. De egyenlőre elakadtam a kép feltöltésénél . és egy hibaüzenetett kapok aminek nagyából tudom a jelentését de nem tudom kijavítani( talán már túl fáradt vagyok, de az idő szorit ).

maga a feltölt.php-m így néz ki:

<?php
$ud = "../feltoltesek/";
$uf = $ud.$_FILES['fajl']['name'];
include("config.php");
$cim= $_POST[cim];
$stilus = $_POST[stilus];
$kiadas = $_POST[kiadas];
$rendezte = $_POST[rendezte];
$szereplok = $_POST[szereplok];
$leiras = $_POST[leiras];
$kep = $_POST[kep];
if ($cim=="" || $kiadas=="" || $rendezte=="" || $szereplok=="" || $leiras=="" || $kep=="")
{ //valamelyik adat nincs kitöltve
mysql_close();
Header("Location: index.php?old=reghiba&hibakod=1");
}
else
{//végre minden jó
//mehet a regisztráció

$parancs="insert into filmek (cim, stilus, kiadas, rendezte, leiras, szereplok, kep) values('$cim', '$stilus', '$kiadas', '$rendezte', '$leiras', '$szereplok', '$_FILES['fajl']['name']')";

$keres = mysql_query($parancs);


if ($keres)
{
print("OK");
}
else {
//print("NEMNEM".mysql_error());
}

if(is_uploaded_file($_FILES['fajl']['tmp_name']))
{//megvan a fájl a temp-ben, át kell mozgatni

move_uploaded_file($_FILES['fajl']['tmp_name'],$uf);
}
else
{//nincs meg a fájl, hibát írunk ki!
//print("Fájl feltöltés nem sikerült!!!");

header("Location: index.php?old=feltoltve");

mysql_close();


}
?>

a csinos hibaüzenetem pedig így:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

a segítségeteket előre is köszönöm.
Snayper
Ezzel is próbáld meg:

<?php
if(isset($_POST["cim"]) && isset($_FILES["fajl"]) ){

$ud = "../feltoltesek/";
$uf = $ud.$_FILES['fajl']['name'];
include("config.php");
$cim= $_POST["cim"];
$stilus = $_POST["stilus"];
$kiadas = $_POST["kiadas"];
$rendezte = $_POST["rendezte"];
$szereplok = $_POST["szereplok"];
$leiras = $_POST["leiras"];
$kep = $_POST["kep"];
if (trim($cim) =="" || trim($kiadas) =="" || trim($rendezte) =="" || trim($szereplok)=="" || trim($leiras) =="" || trim($kep) ==""){ //valamelyik adat nincs kitöltve
mysql_close();
header("Location: index.php?old=reghiba&hibakod=1");
exit;
}else{//végre minden jó
//mehet a regisztráció

$sql="INSERT INTO filmek (cim, stilus, kiadas, rendezte, leiras, szereplok, kep) VALUES ('". $cim ."', '". $stilus. "', '". $kiadas. "', '". $rendezte. "', '". $leiras. "', '". $szereplok ."', '". $_FILES['fajl']['name']."')";

$keres = mysql_query($sql);


if ($keres){
print("OK");
}else {
//print("NEMNEM".mysql_error());
}

if(is_uploaded_file($_FILES['fajl']['tmp_name'])){//megvan a fájl a temp-ben, át kell mozgatni

move_uploaded_file($_FILES['fajl']['tmp_name'],$uf);
}else{//nincs meg a fájl, hibát írunk ki!
//print("Fájl feltöltés nem sikerült!!!");

header("Location: index.php?old=feltoltve");

mysql_close();
}
}

}else{
echo 'Nincs post, vagy fájl';
}
?>
okés mindjárt megnézem
most az utolsó else hivatkozás lépet érvénybe h nincs Nincs post, vagy fájl.
tudod mi lehet a gond?
A hiba ott volt, hogy hiányzott egy }-jel a végéről, és az INSERT-be ki kellene rakni a "-jeleket is.

Amit most nem javítottam, hogy védeni kellene a bevitt adatokat ha már munkának szánod.
pl.:

function tep_db_input($string) {
    if (function_exists('mysql_real_escape_string')) {
      return mysql_real_escape_string($string);
    } elseif (function_exists('mysql_escape_string')) {
      return mysql_escape_string($string);
    }

    return addslashes($string);
}

$sql="INSERT INTO filmek (cim, stilus, kiadas, rendezte, leiras, szereplok, kep) VALUES ('". tep_db_input($cim) ."', '". tep_db_input($stilus) . "', '". tep_db_input($kiadas) . "', '". tep_db_input($rendezte) . "', '". tep_db_input($leiras) . "', '". tep_db_input($szereplok) ."', '". tep_db_input($_FILES['fajl']['name'])."')";
Persze, hogy tudom. Nincs post vagy nincs fájl.

Honnan szüljem meg, hogy mik vannak a küldő oldaladon?
Esetleg a <form ....-ban nincs enctype="multipart/form-data" és akkor nincs fájl.
sajnos nem teljesen értem, de mindent leírok neked amire szükséged van a segítség nyujtáshoz...

az adatbázisomban van 1 kép sor warchar kiterjesztéssel.
és az ftp-n van egy feltoltesek mappa amibe szeretném ha feltöltené.
a formom pedig lehet hogy tényleg hibás... de ha tudod mi a hibája akkor légyszives segíts benne.

köszönöm
Még mindig nem látom a formot. Nem lehet bemásolni ide?
Akkor itt egy form is:

<form name="form" enctype="multipart/form-data" action="hulyeseg.php" method="post">
<input type="text" name="cim" value="" /><br />
<input type="text" name="stilus" value="" /><br />
<input type="text" name="kiadas" value="" /><br />
<input type="text" name="rendezte" value="" /><br />
<input type="text" name="leiras" value="" /><br />
<input type="text" name="szereplok" value="" /><br />
<input type="file" name="fajl" value="" /><br />
<input type="submit" value="Mehet" />

Ezzel nem írja ki, hogy nincs valamelyik adat.
Egyébként nem ftp-van a feltoltesek mappa, hanem a szerveren van, de ez nem befolyásolja a mostani hiba üzenetet.
ftp = file transfer protocol
köszönöm a formot és a segítséget
mindent megcsináltam amit leirtál nekem de a feltöltés még mindig nem történik meg

megprobálok mindent megadni hogy átlátható legyen az egész:

igy néz ki most a php-m:
<?php
if(isset($_POST["cim"]) && isset($_FILES["fajl"]) ){

$ud = "feltoltesek";
$uf = $ud.$_FILES['fajl']['name'];
include("config.php");
$cim= $_POST["cim"];
$stilus = $_POST["stilus"];
$kiadas = $_POST["kiadas"];
$rendezte = $_POST["rendezte"];
$szereplok = $_POST["szereplok"];
$leiras = $_POST["leiras"];
$kep = $_POST["fajl"];
if (trim($cim) =="" || trim($kiadas) =="" || trim($rendezte) =="" || trim($szereplok)=="" || trim($leiras) =="" || trim($kep) ==""){ //valamelyik adat nincs kitöltve
mysql_close();
print ("hiba");
exit;
}else{

function tep_db_input($string) {
if (function_exists('mysql_real_escape_string')) {
return mysql_real_escape_string($string);
} elseif (function_exists('mysql_escape_string')) {
return mysql_escape_string($string);
}

return addslashes($string);
}

$sql="INSERT INTO filmek (cim, stilus, kiadas, rendezte, leiras, szereplok, kep) VALUES ('". tep_db_input($cim) ."', '". tep_db_input($stilus) . "', '". tep_db_input($kiadas) . "', '". tep_db_input($rendezte) . "', '". tep_db_input($leiras) . "', '". tep_db_input($szereplok) ."', '". tep_db_input($_FILES['fajl']['name'])."')";

$keres = mysql_query($sql);


if ($keres){
print("OK");
}else {
//print("NEMNEM".mysql_error());
}

if(is_uploaded_file($_FILES['fajl']['tmp_name'])){//megvan a fájl a temp-ben, át kell mozgatni

move_uploaded_file($_FILES['fajl']['tmp_name'],$uf);
}else{//nincs meg a fájl, hibát írunk ki!
//print("Fájl feltöltés nem sikerült!!!");

header("Location: index.php?old=feltoltve");

mysql_close();
}
}

}else{
echo 'Nincs post, vagy fájl';
}
?>


igy néz ki a html:

<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="feltolt.php">
<table width="474" border="0">
<tr>
<td width="82">Film c&iacute;m:</td>
<td width="376"><input type="text" name="cim" id="cim" /></td>
</tr>
<tr>
<td>St&iacute;lus:</td>
<td><select name="stilus" id="stilus">
<option value="akcio">Akci&oacute;</option>
<option value="vigjatek">Vigj&aacute;t&eacute;k</option>
<option value="romantikus">Romantikus</option>
<option value="drama">Dr&aacute;ma</option>
<option value="horror">Horror</option>
<option value="thriller">Thriller</option>
<option value="scifi">Sci-Fi</option>
</select></td>
</tr>
<tr>
<td>Kiad&aacute;s: </td>
<td><input name="kiadas" type="text" id="kiadas" /></td>
</tr>
<tr>
<td>Rendezte: </td>
<td><input name="rendezte" type="text" id="rendezte" /></td>
</tr>
<tr>
<td>Főszereplők: </td>
<td>
<input name="szereplok" type="text" id="szereplok" /> </td>
</tr>
<tr>
<td>R&ouml;vid le&iacute;r&aacute;s a filmről: </td>
<td><textarea name="leiras" cols="60" id="leiras"></textarea></td>
</tr>
<tr>
<td>K&eacute;p felt&ouml;lt&eacute;s: </td>
<td><input type="file" name="fajl" value="" /></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<label>
<input name="kuld" type="submit" id="kuld" value="K&uuml;ld" />
</label>
</div></td>
</tr>
</table>
</form>

és így néz ki az adatbázis:

`id` int(10) NOT NULL auto_increment,
`cim` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
`stilus` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
`kiadas` year(4) NOT NULL,
`rendezte` varchar(100) character set utf8 collate utf8_unicode_ci NOT NULL,
`leiras` text character set utf8 collate utf8_unicode_ci NOT NULL,
`szereplok` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
`kep` varchar(255) character set utf8 collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)

kérlek probálj/próbáljatok meg segíteni

előre is köszönöm
A kép nem töltődik fel?
A helyes elérést kellene megadni.

$uf = $ud."/".$_FILES['fajl']['name'];
Hiányzott a perjel.


Ez is rossz:

$kep = $_POST["fajl"];
if (trim($cim) =="" || trim($kiadas) =="" || trim($rendezte) =="" || trim($szereplok)=="" || trim($leiras) =="" || trim($kep) ==""){ //valamelyik adat nincs kitöltve
$_POST["kep"] nincs, így mindíg üres lesz.


Így lenne helyes
<?php

function tep_db_input($string) {
if (function_exists('mysql_real_escape_string')) {
return mysql_real_escape_string($string);
} elseif (function_exists('mysql_escape_string')) {
return mysql_escape_string($string);
}
return addslashes($string);
}



if(isset($_POST["cim"]) && isset($_FILES["fajl"]) ){

$ud = "feltoltesek";
$uf = $ud."/".$_FILES['fajl']['name'];
include("config.php");
$cim= $_POST["cim"];
$stilus = $_POST["stilus"];
$kiadas = $_POST["kiadas"];
$rendezte = $_POST["rendezte"];
$szereplok = $_POST["szereplok"];
$leiras = $_POST["leiras"];
if (trim($cim) =="" || trim($kiadas) =="" || trim($rendezte) =="" || trim($szereplok)=="" || trim($leiras) =="" ){ //valamelyik adat nincs kitöltve
mysql_close();
print ("hiba");
exit;
}else{

$sql="INSERT INTO filmek (cim, stilus, kiadas, rendezte, leiras, szereplok, kep) VALUES ('". tep_db_input($cim) ."', '". tep_db_input($stilus) . "', '". tep_db_input($kiadas) . "', '". tep_db_input($rendezte) . "', '". tep_db_input($leiras) . "', '". tep_db_input($szereplok) ."', '". tep_db_input($_FILES['fajl']['name'])."')";

$keres = mysql_query($sql);


if ($keres){
print("OK");
}else {
//print("NEMNEM".mysql_error());
}

if(is_uploaded_file($_FILES['fajl']['tmp_name'])){//megvan a fájl a temp-ben, át kell mozgatni

move_uploaded_file($_FILES['fajl']['tmp_name'],$uf);
}else{//nincs meg a fájl, hibát írunk ki!
//print("Fájl feltöltés nem sikerült!!!");

header("Location: index.php?old=feltoltve");

mysql_close();
}
}

}else{
echo 'Nincs post, vagy fájl';
}
?>
respect

a második hibát amit írtál rájöttem mielőtt elolvastam
de az első az nem tünt volna fel soha.
viszont amikor csatlakozom az ftp-hez nem látom feltöltve a fájlt:S
és a kiadás évét is 4 nullaként jelenití meg az adatbázisban

egyébként a másik topikot azért nyitottam hátha valaki megszán mert azt hittem te már nem nézel ma fel.
hoppá bocsi... feltölti:D:D:D
csak nem a célmappába
a célmappát hol adhatom meg?

$ud = "feltoltesek";
$uf = $ud."/".$_FILES['fajl']['name'];
minden segítségedet nagyon szépen köszönöm!
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
-Állás/munka
Top pontgyűjtők
»Micu1.030
»Interlock280
»mezofi150
»Pitta_100
»Frostech0100
»szbzs.2100
»Riha60
»Akhiles50
»mrchandra50
»Bakter50
Top wikieditorok
»Sting
»Doi
»FlamingClaw
»Argathron
»Csaboka2
»Vodka
»Joexy
»Ivn
»Balucinho
»Kelemzol
» ugrás a wikire
A nap kifejezései
»Algoritmus
»Hogyan kezdjem el
»Perl
» ugrás a wikire
Hírek
»Megérkezett a PostgreSQL 9.0 kiadásra jelölt változata
»Letölthető az új Rad Studio XE és Delphi XE
»Function-X digitális művészeti találkozó és demoscene party
»Webfejlesztőknek szóló közösségi oldalt indított a Microsoft
»Letölthető a hardvergyorsított Chrome 7 első fejlesztői kiadása
» több hír
PC Fórum hírek
»Itt az első kép az AMD nyolcmagos processzoráról
»"Szuperdizájnos" érintő-egeret mutatott be a Microsoft
»Szabadalmaztatta a számítógép kikapcsolását a Microsoft
»Vírusriadót váltott ki a webezőknél a Google
»Ingyen iWiW-ezhetnek mobiljaikról a T-Mobile-osok
»Automatikusan kiválogatja legfontosabb leveleink a Google
»OOo4Kids - ingyenes Office csomag gyerekeknek
»Új, gyorsabb Core i3 és Pentium processzorokat jelentett be az Intel
Tagi blogok
»PSP
»Első Programozó
»USB
»PHP, mint sablonmotor egyszerűen