HTML űrlap + a fájlfeltöltés problémái
Sziasztok!
Valamikor rég készült egy html űrlap, mivel azonban alkotója nem tulzottan értette a php, így megkért engem (vak vezet világtalant alapon), hogy ugyan készítsek már egy olyan php kódot ami feltölti az űrlapon keresztül a képet, ráadásul az űrlap adtait is elmenti egy fájlba. Ez megtörtént. Egy ideig nem is volt semmilyen gond, azonban az idő múlásával szaporodni kezdtek a jelen: hol a kép nem mentár, hol a szöveg fele hiányzott. Ezért többszörösen is átdolgozásra került az űrlap, míg végül elérte jelenlegi állapotát, ami mint egy kevéssé sem baráti e-mailból kiderült ismét nem tökéletes. Minthogy én nem vagyok túl nagy ÁSZ a PHP terén a segítségeteket szeretném kérni e probléma megoldásában.
Az oldal a www.orszagoslovasar.hu címen található, ezen belül a hirdetés feladás - eladó ló menüpont alatt.
Az oldal kódja a következő:Kérek mindenkit, hogy mondja el a véleményét, adjon tanácsot és ötletet.
Előre is köszönöm a segítségeteket!
a.d.a.m
■ Valamikor rég készült egy html űrlap, mivel azonban alkotója nem tulzottan értette a php, így megkért engem (vak vezet világtalant alapon), hogy ugyan készítsek már egy olyan php kódot ami feltölti az űrlapon keresztül a képet, ráadásul az űrlap adtait is elmenti egy fájlba. Ez megtörtént. Egy ideig nem is volt semmilyen gond, azonban az idő múlásával szaporodni kezdtek a jelen: hol a kép nem mentár, hol a szöveg fele hiányzott. Ezért többszörösen is átdolgozásra került az űrlap, míg végül elérte jelenlegi állapotát, ami mint egy kevéssé sem baráti e-mailból kiderült ismét nem tökéletes. Minthogy én nem vagyok túl nagy ÁSZ a PHP terén a segítségeteket szeretném kérni e probléma megoldásában.
Az oldal a www.orszagoslovasar.hu címen található, ezen belül a hirdetés feladás - eladó ló menüpont alatt.
Az oldal kódja a következő:
<?php
session_start();
if ( $_POST['kuldes'] == "feltolt" )
{
unset($_SESSION['return']);
if (isset($_FILES["kep"]["tmp_name"]) == true)
{
if ($_FILES["kep"]["size"]>=3000001)
{
$_SESSION['return'] = "false";
echo "<script>window.alert('A kép feltöltése sikertelen! A feltöltött kép mérete nem megfelelő!');</script>";
}
else
{
move_uploaded_file($_FILES["kep"]["tmp_name"], "hirdetesek/".$_FILES["kep"]["name"]);
$_SESSION['return'] = $_FILES["kep"]["name"];
echo "<script>window.alert('A kép feltöltése sikeresen befejeződött!');</script>";
}
}
else
{
$_SESSION['return'] = "false";
echo "<script>window.alert('A kép feltöltése sikertelen');</script>";
}
$keys = array_keys($_POST);
$count = count($_POST);
for ( $array_index=0; $array_index<=($count-1); $array_index++ )
{
if ($keys[$array_index]!="MAX_FILE_SIZE" or $keys[$array_index]!="s")
{$_SESSION[$keys[$array_index]] = $_POST[$keys[$array_index]];}
else
{}
}
echo "<script>window.location.replace('felad-elado-felsz.php?s=".$_POST['s'].$link."');</script>";
}
?>
<html>
<head>
<title>Hirdetés feladás: eladó felszerelés</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<meta name="generator" content="Microsoft FrontPage 5.0">
<meta name="description" content="Lovat, felszerelést eladna, vagy venne? Adja fel hirdetését nálunk!">
<meta name="keywords" content="Lovas, lóvásár, eladó ló, apróhirdetés, lovassport ">
</head>
<script>
function feltolt()
{
document.adatok.kuldes.value="feltolt";
document.adatok.submit();
}
function elkuld()
{
document.adatok.kuldes.value="elkuld";
return formCheck(document.adatok);
}
function formCheck(formobj){
var fieldRequired = Array("megr_nev", "megr_cim", "penz", "fajta", "neme", "alkalmas", "elerhetoseg");
var fieldDescription = Array("Megrendelő neve", "Megrendelő címe", "Pénzfeladás módja", "Fajta", "Neme", "Mire vaLÓ", "Elérhetőség");
var alertMsg = "Kérem töltse ki az alábbi mező(ke)t:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
formobj.action = "hirdetes.php";
formobj.submit();
return true;
}else{
alert(alertMsg);
return false;
}
}
</script>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" background="images/hatter.jpg">
<form name="adatok" method="post" enctype="multipart/form-data">
<p style="line-height:120%; margin-top:15pt; margin-bottom:0%;" align="center"><img src="images/fej-b1.gif" width="100%" border="0"></p>
<p align="center" style="line-height:90%;"><font size="5"><b><i>APRÓHIRDETÉS FELADÁS: ELADÓ FELSZERELÉS</i></b></font></p>
<p align="justify" style="line-height:120%; margin-top:0; margin-bottom:0;">A hirdetés szövegének elküldését követően adja fel a hirdetés árát (<font color="red"><b>1000 Ft / hirdetés</b></font>, két hónapra) belföldi posta utalványon (rózsaszín csekken) - ennek postai költsége jelenleg 5000 Ft-os összeg feladásáig 245 Ft - az alábbi címre: <b>Dózsa Tamás Károly - 6401 Kiskunhalas, Pf. 311</b>, vagy banki átutalással: <b>OTP Bank Rt. Kiskunhalasi Fiók 11773322-00527598</b> számú számlára. A pénz megérkezését követően a hirdetés megjelenik a honlapon, majd a megadott címre eljuttatjuk számlánkat.</p>
<hr align="center" color="#FF9830" style="border-width:2; border-style:solid;">
<p align="center" style="line-height:90%;"><font color="red"><b><i>Kérjük a kereszttel jelölt rovatokat minden esetben töltsék ki! Köszönjük!</i></b></font></p>
<table width="664" align="center" bordercolordark="#707070" bordercolorlight="silver" class="namo-table" cellspacing="0" style="border-collapse:collapse;">
<tr>
<th width="660" class="namo-th" bgcolor="#FF9830" colspan="2" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Számlázáshoz szükséges adatok:</p>
</th>
</tr>
<tr>
<th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Megrendelő neve <font color="red"><b>#</b></font></p>
</th>
<td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:1mm;"><input type="hidden" name="s" value="<?php echo session_id(); ?>"><input type="hidden" name="kuldes"><input type="hidden" name="hirdetes" value="elado-felszereles";"><input type="text" name="megr_nev" size="70" style="font-family:'Times New Roman';" value="<?php if(isset($_GET['s'])==true) { echo $_SESSION['megr_nev']; } ?>"></p>
</td>
</tr>
<tr>
<th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Címe <font color="red"><b>#</b></font></p>
</th>
<td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:1mm;"><input type="text" name="megr_cim" size="70" style="font-family:'Times New Roman';" value="<?php if(isset($_GET['s'])==true) { echo $_SESSION['megr_cim']; } ?>"></p>
</td>
</tr>
<tr>
<th width="142" bgcolor="#CCCCCC" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p style="margin-left:2pt;" align="left">Pénzfeladás módja <font color="red">
#</font></p>
</th>
<td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p align="left"><input type="radio" name="penz" value="bank"<?php if(isset($_GET['s'])==true) { if ($_SESSION['penz'] == "bank") {echo " checked";} } ?>><span style="font-weight: 400">bank</span> <input type="radio" name="penz" value="posta"<?php if(isset($_GET['s'])==true) { if ($_SESSION['penz'] == "posta") {echo " checked";} } ?>><span style="font-weight: 400">posta</span></p>
</td>
</tr>
<tr>
<th width="660" colspan="2" bgcolor="#FF9830" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" class="namo-sublist">
Hirdetésben megjelenő szöveg:</th>
</tr>
<tr>
<th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Megnevezés <font color="red"><b>#</b></font></p>
</th>
<td width="515" style="border-width:1; border-color:black; border-style:solid;">
<p style="margin-left:1mm;"><input type="text" name="megnev" size="70" style="font-family:'Times New Roman';" value="<?php if(isset($_GET['s'])==true) { echo $_SESSION['megnev']; } ?>"></td>
</tr>
<tr>
<th width="142" bgcolor="#CCCCCC" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p style="margin-left:2pt;" align="left">Tudni való</p>
</th>
<td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<p style="line-height:120%; margin-top:0; margin-bottom:0; margin-left:1mm;"><i><font size="2">Kérjük pár sorban mutassa be a főbb jellemzőit!</font></i><textarea name="megj" rows="5" cols="80" style="font-family:'Times New Roman';"><?php if(isset($_GET['s'])==true) { echo $_SESSION['megj']; } ?></textarea></p>
</td>
</tr>
<tr>
<th width="142" class="namo-th" bgcolor="#CCCCCC" height="26" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Irányár (Ft)</p>
</th>
<td width="515" class="namo-th" height="26" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:1mm;"><input type=text size="10" maxlength="10" name="ár" onchange=onlyNumber() style="font-family:'Times New Roman';" value="<?php if(isset($_GET['s'])==true) { echo $_SESSION['ár']; } ?>"></td>
</tr>
<tr>
<th width="142" class="namo-th" bgcolor="#CCCCCC" height="26" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Elérhetőség <font color="red"><b>#</b></font></p>
</th>
<td width="515" class="namo-th" height="26" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:1mm;"><input type="text" name="elerhet" size="70" style="font-family:'Times New Roman';" value="<?php if(isset($_GET['s'])==true) { echo $_SESSION['elerhet']; } ?>"></p>
</td>
</tr>
<tr>
<td width="660" height="24" align="right" colspan="3" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">
<div style="background-color:#CCCCCC"><font size="2"><center><input type="hidden" name="kepadat" value="<?php if($_GET['s']!="false"){echo $_SESSION['return'];}else{echo "";} ?>"><?php if(isset($_GET['s'])==true){if($_GET['s']!="false"){echo $_SESSION['return']." feltöltve.";}else{echo "";}} ?></center></font></div>
<p align="center" style="margin-top:10pt; margin-bottom:10pt;"><font size="2"><input type="button" onClick="elkuld();" value="Elküldés"> </font></p>
</td>
</tr>
<tr>
<th width="165" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="margin-left:2pt;">Kép</p>
</th>
<td width="492" class="namo-th" colspan="2" style="border-width:1; border-color:black; border-style:solid;">
<p align="left" style="line-height:120%; margin-left:1mm;"><font size="2"><i>Hirdetésében egy képet is elhelyezhet (max. 3 Mbyte), adja meg annak helyét</i></font><i>:</i>
<input type="hidden" name="MAX_FILE_SIZE" value="5000000"><input type="file" name="kep" size="35"><input type="button" onClick="feltolt();" value="Feltöltés"></p>
</td>
</tr>
</table>
</form>
<p align="right"><a href="hird-felt.html"><img src="images/nyil-elozo.gif" width="96" height="38" border="0"></a><a href="index.html"><font color="white"> </font><img src="images/nyil-nyito.gif" width="96" height="38" border="0"></a></p>
</body>
</html>
Előre is köszönöm a segítségeteket!
a.d.a.m