 |
Kép feltöltése


 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ím:</td>
<td width="376"><input type="text" name="cim" id="cim" /></td>
</tr>
<tr>
<td>Stílus:</td>
<td><select name="stilus" id="stilus">
<option value="akcio">Akció</option>
<option value="vigjatek">Vigjáték</option>
<option value="romantikus">Romantikus</option>
<option value="drama">Dráma</option>
<option value="horror">Horror</option>
<option value="thriller">Thriller</option>
<option value="scifi">Sci-Fi</option>
</select></td>
</tr>
<tr>
<td>Kiadá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övid leírás a filmről: </td>
<td><textarea name="leiras" cols="60" id="leiras"></textarea></td>
</tr>
<tr>
<td>Kép feltölté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ü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! |
|
| |
| RSS források |
 | - | Hírek |  | - | Cikkek |  | - | Fórumok |  | - | Állás/munka |
|
| Top pontgyűjtők |
| » | Micu | 1.030 | | » | Interlock | 280 | | » | mezofi | 150 | | » | Pitta_ | 100 | | » | Frostech0 | 100 | | » | szbzs.2 | 100 | | » | Riha | 60 | | » | Akhiles | 50 | | » | mrchandra | 50 | | » | Bakter | 50 |  |  |  |
|
| Top wikieditorok |
| » | Sting | | » | Doi | | » | FlamingClaw | | » | Argathron | | » | Csaboka2 | | » | Vodka | | » | Joexy | | » | Ivn | | » | Balucinho | | » | Kelemzol |  |  |  | » ugrás a wikire |
|
|