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