ugrás a tartalomhoz

HTML űrlap + a fájlfeltöltés problémái

a.d.a.m · 2006. Ápr. 29. (Szo), 11.13
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ő:
  1. <?php  
  2. session_start();  
  3. if ( $_POST['kuldes'] == "feltolt" )  
  4. {  
  5. unset($_SESSION['return']);  
  6. if (isset($_FILES["kep"]["tmp_name"]) == true)  
  7.     {  
  8.     if ($_FILES["kep"]["size"]>=3000001)  
  9.         {  
  10.         $_SESSION['return'] = "false";  
  11.         echo "<script>window.alert('A kép feltöltése sikertelen! A feltöltött kép mérete nem megfelelő!');</script>";  
  12.         }  
  13.     else  
  14.         {  
  15.         move_uploaded_file($_FILES["kep"]["tmp_name"], "hirdetesek/".$_FILES["kep"]["name"]);  
  16.         $_SESSION['return'] = $_FILES["kep"]["name"];  
  17.         echo "<script>window.alert('A kép feltöltése sikeresen befejeződött!');</script>";  
  18.         }  
  19.     }  
  20. else  
  21.     {  
  22.     $_SESSION['return'] = "false";  
  23.     echo "<script>window.alert('A kép feltöltése sikertelen');</script>";  
  24.     }  
  25.   
  26. $keys = array_keys($_POST);  
  27. $count = count($_POST);  
  28. for ( $array_index=0; $array_index<=($count-1); $array_index++ )  
  29.     {  
  30.         if ($keys[$array_index]!="MAX_FILE_SIZE" or $keys[$array_index]!="s")  
  31.             {$_SESSION[$keys[$array_index]] = $_POST[$keys[$array_index]];}  
  32.         else  
  33.             {}  
  34.     }  
  35.   
  36. echo "<script>window.location.replace('felad-elado-felsz.php?s=".$_POST['s'].$link."');</script>";  
  37. }  
  38. ?>  
  39. <html>  
  40.   
  41. <head>  
  42. <title>Hirdet&eacute;s felad&aacute;s: elad&oacute; felszerel&eacute;s</title>  
  43. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">  
  44. <meta name="generator" content="Microsoft FrontPage 5.0">  
  45. <meta name="description" content="Lovat, felszerelést eladna, vagy venne? Adja fel hirdetését nálunk!">  
  46. <meta name="keywords" content="Lovas, lóvásár, eladó ló, apróhirdetés, lovassport ">  
  47. </head>  
  48.   
  49. <script>  
  50. function feltolt()  
  51.     {  
  52.     document.adatok.kuldes.value="feltolt";  
  53.     document.adatok.submit();  
  54.     }  
  55. function elkuld()  
  56.     {  
  57.     document.adatok.kuldes.value="elkuld";  
  58.     return formCheck(document.adatok);  
  59.     }  
  60. function formCheck(formobj){  
  61.     var fieldRequired = Array("megr_nev""megr_cim""penz""fajta""neme""alkalmas""elerhetoseg");  
  62.     var fieldDescription = Array("Megrendelő neve""Megrendelő címe""Pénzfeladás módja""Fajta""Neme""Mire vaLÓ""Elérhetőség");  
  63.     var alertMsg = "Kérem töltse ki az alábbi mező(ke)t:\n";  
  64.       
  65.     var l_Msg = alertMsg.length;  
  66.       
  67.     for (var i = 0; i < fieldRequired.length; i++){  
  68.         var obj = formobj.elements[fieldRequired[i]];  
  69.         if (obj){  
  70.             switch(obj.type){  
  71.             case "select-one":  
  72.                 if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){  
  73.                     alertMsg += " - " + fieldDescription[i] + "\n";  
  74.                 }  
  75.                 break;  
  76.             case "select-multiple":  
  77.                 if (obj.selectedIndex == -1){  
  78.                     alertMsg += " - " + fieldDescription[i] + "\n";  
  79.                 }  
  80.                 break;  
  81.             case "text":  
  82.             case "textarea":  
  83.                 if (obj.value == "" || obj.value == null){  
  84.                     alertMsg += " - " + fieldDescription[i] + "\n";  
  85.                 }  
  86.                 break;  
  87.             default:  
  88.             }  
  89.             if (obj.type == undefined){  
  90.                 var blnchecked = false;  
  91.                 for (var j = 0; j < obj.length; j++){  
  92.                     if (obj[j].checked){  
  93.                         blnchecked = true;  
  94.                     }  
  95.                 }  
  96.                 if (!blnchecked){  
  97.                     alertMsg += " - " + fieldDescription[i] + "\n";  
  98.                 }  
  99.             }  
  100.         }  
  101.     }  
  102.   
  103.     if (alertMsg.length == l_Msg){  
  104.         formobj.action = "hirdetes.php";  
  105.         formobj.submit();  
  106.         return true;  
  107.     }else{  
  108.         alert(alertMsg);  
  109.         return false;  
  110.     }  
  111. }  
  112. </script>  
  113.   
  114. <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" background="images/hatter.jpg">  
  115. <form name="adatok" method="post" enctype="multipart/form-data">  
  116.           
  117.     <p style="line-height:120%; margin-top:15pt; margin-bottom:0%;" align="center"><img src="images/fej-b1.gif" width="100%" border="0"></p>  
  118.     <p align="center" style="line-height:90%;"><font size="5"><b><i>APR&Oacute;HIRDET&Eacute;S FELAD&Aacute;S:&nbsp;&nbsp;&nbsp;&nbsp;ELAD&Oacute; FELSZEREL&Eacute;S</i></b></font></p>  
  119.     <p align="justify" style="line-height:120%; margin-top:0; margin-bottom:0;">A hirdet&eacute;s sz&ouml;veg&eacute;nek elk&uuml;ld&eacute;s&eacute;t&nbsp;k&ouml;vetően adja fel a hirdet&eacute;s &aacute;r&aacute;t&nbsp;(<font color="red"><b>1000 Ft / hirdet&eacute;s</b></font>, k&eacute;t h&oacute;napra) belf&ouml;ldi posta utalv&aacute;nyon (r&oacute;zsasz&iacute;n csekken) - ennek postai k&ouml;lts&eacute;ge jelenleg 5000 Ft-os &ouml;sszeg felad&aacute;s&aacute;ig 245 Ft - az al&aacute;bbi c&iacute;mre: <b>D&oacute;zsa Tam&aacute;s K&aacute;roly - 6401 Kiskunhalas, Pf. 311</b>, vagy banki &aacute;tutal&aacute;ssal: &nbsp;<b>OTP Bank Rt. Kiskunhalasi Fi&oacute;k 11773322-00527598</b> sz&aacute;m&uacute; sz&aacute;ml&aacute;ra. A p&eacute;nz meg&eacute;rkez&eacute;s&eacute;t k&ouml;vetően a hirdet&eacute;s megjelenik a honlapon, majd a megadott c&iacute;mre eljuttatjuk sz&aacute;ml&aacute;nkat.</p>  
  120.     <hr align="center" color="#FF9830" style="border-width:2; border-style:solid;">      
  121.     <p align="center" style="line-height:90%;"><font color="red"><b><i>K&eacute;rj&uuml;k a kereszttel jel&ouml;lt rovatokat minden esetben t&ouml;lts&eacute;k ki! K&ouml;sz&ouml;nj&uuml;k!</i></b></font></p>  
  122.     <table width="664" align="center" bordercolordark="#707070" bordercolorlight="silver" class="namo-table" cellspacing="0" style="border-collapse:collapse;">  
  123.         <tr>  
  124.             <th width="660" class="namo-th" bgcolor="#FF9830" colspan="2" style="border-width:1; border-color:black; border-style:solid;">                              
  125.   
  126.                 <p align="left" style="margin-left:2pt;">Sz&aacute;ml&aacute;z&aacute;shoz sz&uuml;ks&eacute;ges adatok:</p>  
  127.             </th>  
  128.         </tr>  
  129.         <tr>  
  130.             <th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">  
  131.                 <p align="left" style="margin-left:2pt;">Megrendelő neve <font color="red"><b>#</b></font></p>  
  132.             </th>  
  133.             <td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  134.                 <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>  
  135.             </td>  
  136.         </tr>  
  137.         <tr>  
  138.             <th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">  
  139.                 <p align="left" style="margin-left:2pt;">C&iacute;me <font color="red"><b>#</b></font></p>  
  140.             </th>  
  141.             <td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  142.                 <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>  
  143.             </td>  
  144.         </tr>  
  145.         <tr>  
  146.             <th width="142" bgcolor="#CCCCCC" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  147.                 <p style="margin-left:2pt;" align="left">P&eacute;nzfelad&aacute;s m&oacute;dja <font color="red">  
  148.                 #</font></p>  
  149.             </th>  
  150.             <td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  151.                 <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> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<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>  
  152.             </td>  
  153.         </tr>  
  154.         <tr>  
  155.             <th width="660" colspan="2" bgcolor="#FF9830" style="border-width:1; border-color:black; border-style:solid;">                              
  156.   
  157.                 <p align="left" class="namo-sublist">   
  158.                             Hirdet&eacute;sben megjelenő sz&ouml;veg:</th>  
  159.         </tr>  
  160.         <tr>  
  161.             <th width="142" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">  
  162.   
  163.                 <p align="left" style="margin-left:2pt;">Megnevez&eacute;s <font color="red"><b>#</b></font></p>  
  164.             </th>  
  165.             <td width="515" style="border-width:1; border-color:black; border-style:solid;">  
  166.   
  167.                 <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>  
  168.         </tr>  
  169.         <tr>  
  170.             <th width="142" bgcolor="#CCCCCC" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  171.   
  172.                 <p style="margin-left:2pt;" align="left">Tudni val&oacute;</p>  
  173.             </th>  
  174.             <td width="515" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  175.   
  176.                 <p style="line-height:120%; margin-top:0; margin-bottom:0; margin-left:1mm;"><i><font size="2">K&eacute;rj&uuml;k p&aacute;r sorban mutassa be a&nbsp;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>  
  177.             </td>  
  178.         </tr>  
  179.         <tr>  
  180.             <th width="142" class="namo-th" bgcolor="#CCCCCC" height="26" style="border-width:1; border-color:black; border-style:solid;">                              
  181.   
  182.                 <p align="left" style="margin-left:2pt;">Ir&aacute;ny&aacute;r (Ft)</p>  
  183.             </th>  
  184.             <td width="515" class="namo-th" height="26" style="border-width:1; border-color:black; border-style:solid;">  
  185.   
  186.                 <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>  
  187.         </tr>  
  188.         <tr>  
  189.             <th width="142" class="namo-th" bgcolor="#CCCCCC" height="26" style="border-width:1; border-color:black; border-style:solid;">  
  190.                 <p align="left" style="margin-left:2pt;">El&eacute;rhetős&eacute;g <font color="red"><b>#</b></font></p>  
  191.             </th>  
  192.             <td width="515" class="namo-th" height="26" style="border-width:1; border-color:black; border-style:solid;">  
  193.   
  194.                 <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>  
  195.             </td>  
  196.         </tr>  
  197.         <tr>  
  198.             <td width="660" height="24" align="right" colspan="3" class="namo-th" style="border-width:1; border-color:black; border-style:solid;">  
  199.         <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>  
  200.                 <p align="center" style="margin-top:10pt; margin-bottom:10pt;"><font size="2"><input type="button" onClick="elkuld();" value="Elküldés"> </font></p>  
  201.             </td>  
  202.         </tr>  
  203.         <tr>  
  204.             <th width="165" class="namo-th" bgcolor="#CCCCCC" style="border-width:1; border-color:black; border-style:solid;">  
  205.                 <p align="left" style="margin-left:2pt;">K&eacute;p</p>  
  206.             </th>  
  207.             <td width="492" class="namo-th" colspan="2" style="border-width:1; border-color:black; border-style:solid;">  
  208.                 <p align="left" style="line-height:120%; margin-left:1mm;"><font size="2"><i>Hirdet&eacute;s&eacute;ben&nbsp;egy k&eacute;pet is elhelyezhet (max. 3 Mbyte), adja meg annak hely&eacute;t</i></font><i>:</i>  
  209.                 <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>  
  210.         </td>  
  211.         </tr>  
  212.     </table>  
  213. </form>  
  214. <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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font><img src="images/nyil-nyito.gif" width="96" height="38" border="0"></a></p>  
  215. </body>  
  216.   
  217. </html>  
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