ugrás a tartalomhoz

Segítség php-írásban - űrlap küldése emailben

richx · 2011. Aug. 2. (K), 07.58
Sziasztok!
Nem igazán vagyok otthon a php-ban. Eddig már sikerült összehoznom egy küldő űrlapot, és egy jegyzettömbben megcsinálni hozzá a php-t.
Most viszont egy bonyolultabbra lenn szükségem. Abban kérném a segítségetek, hogy ha tudjátok, írjátok meg nekem az alábbi űrlapnak a php kódját. azt szeretném, ha el tudnám küldetni a saját e-mail címemre, és egy külön php fájlt szeretnék létrehozni.
Nagyon köszönöm a segítségetek!

Íme a HTML:
  1. <html>  
  2. <head>  
  3. </head>  
  4. <body  
  5.  style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);"  
  6.  leftmargin="0" topmargin="0" alink="#000099"  
  7.  link="#c4341e" vlink="#990099">  
  8. <center>  
  9. <div style="text-align: left;"><br>  
  10. </div>  
  11. <table  
  12.  style="text-align: left; width: 400px;" border="0"  
  13.  cellpadding="2" cellspacing="2">  
  14.   <tbody>  
  15.     <tr>  
  16.       <td  
  17.  style="width: 100px; font-weight: bold;">Neme:</td>  
  18.       <td style="width: 100px;"><input  
  19.  name="Nem" value="ferfi" type="radio">F&eacute;rfi</td>  
  20.       <td style="width: 100px;"><input  
  21.  name="Nem" value="No" type="radio">&nbsp;Nő</td>  
  22.     </tr>  
  23.   </tbody>  
  24. </table>  
  25. <table  
  26.  style="text-align: left; width: 400px;" border="0"  
  27.  cellpadding="2" cellspacing="2">  
  28.   <tbody>  
  29.     <tr>  
  30.       <td  
  31.  style="width: 100px; font-weight: bold;">&Eacute;letkor:</td>  
  32.       <td><input  
  33.  name="eletkor" value="18ig" type="radio">&nbsp;18  
  34. alatt</td>  
  35.       <td><input  
  36.  name="eletkor" value="40ig" type="radio">&nbsp;18-40</td>  
  37.       <td><input  
  38.  name="eletkor" value="40plusz" type="radio">&nbsp;40  
  39. felett</td>  
  40.     </tr>  
  41.   </tbody>  
  42. </table>  
  43. <table  
  44.  style="text-align: left; width: 400px;" border="0"  
  45.  cellpadding="2" cellspacing="2">  
  46.   <tbody>  
  47.     <tr>  
  48.       <td><span  
  49.  style="font-weight: bold;">Lakhely: &nbsp;</span>  
  50. &nbsp; &nbsp; </td>  
  51.       <td style="text-align: center;"><input  
  52.  maxlength="100" size="40" name="lakhely"  
  53.  value="telep&uuml;l&eacute;s"></td>  
  54.     </tr>  
  55.     <tr>  
  56.       <td><span  
  57.  style="font-weight: bold;">E-mail:</span></td>  
  58.       <td style="text-align: center;"><input  
  59.  size="40" name="email"></td>  
  60.     </tr>  
  61.   </tbody>  
  62. </table>  
  63. <br>  
  64. <hr style="width: 50%; height: 2px;"><big><span  
  65.  style="font-weight: bold;">Hol  
  66. tal&aacute;lkozott vel&uuml;nk/hallott r&oacute;lunk?</span></big><br>  
  67. <br>  
  68. <table  
  69.  style="text-align: left; width: 400px;" border="0"  
  70.  cellpadding="2" cellspacing="2">  
  71.   <tbody>  
  72.     <tr>  
  73.       <td><input  
  74.  name="ismeros" value="ismeros" type="checkbox">ismerős  
  75. &aacute;ltal</td>  
  76.       <td><input  
  77.  name="kereso" value="kereso" type="checkbox">internetes  
  78. kereső(pl.google)</td>  
  79.       <td><input  
  80.  name="facebook" value="facebook" type="checkbox">facebook</td>  
  81.     </tr>  
  82.   </tbody>  
  83. </table>  
  84. <table  
  85.  style="text-align: left; width: 400px;" border="0"  
  86.  cellpadding="2" cellspacing="2">  
  87.   <tbody>  
  88.     <tr>  
  89.       <td><input  
  90.  name="expressz" value="expressz" type="checkbox">expressz.hu</td>  
  91.       <td><input  
  92.  name="jofogas" value="jofogas" type="checkbox">jofogas.hu</td>  
  93.       <td><input  
  94.  name="startapro" value="startapro" type="checkbox">startapro.hu</td>  
  95.     </tr>  
  96.   </tbody>  
  97. </table>  
  98. <br>  
  99. <table  
  100.  style="text-align: left; width: 550px;" border="0"  
  101.  cellpadding="2" cellspacing="2">  
  102.   <tbody>  
  103.     <tr>  
  104.       <td><input  
  105.  name="egyeb" type="checkbox">egy&eacute;b  
  106. hirdető oldal: <input size="15"  
  107.  name="hirdeto" value="melyik?"></td>  
  108.       <td><input  
  109.  name="egyeblap" value="egyeblap" type="checkbox">egy&eacute;b  
  110. lap.hu oldal: <input size="15"  
  111.  name="laphu" value="melyik?"></td>  
  112.     </tr>  
  113.   </tbody>  
  114. </table>  
  115. <br>  
  116. <hr style="width: 50%; height: 2px;">  
  117. <table style="text-align: left; width: 55%;"  
  118.  border="0" cellpadding="2" cellspacing="2">  
  119.   <tbody>  
  120.     <tr>  
  121.       <td  
  122.  style="text-align: center; font-weight: bold;">Ismerte  
  123. kor&aacute;bban az Iplik&aacute;tort?</td>  
  124.       <td  
  125.  style="text-align: center; font-weight: bold;">&nbsp;Rendelt  
  126. m&aacute;r től&uuml;nk?</td>  
  127.       <td style="text-align: right;"><span  
  128.  style="font-weight: bold;">Sz&iacute;vesen  
  129. aj&aacute;nlan&aacute; m&aacute;snak</span>  
  130. term&eacute;keinket?</td>  
  131.     </tr>  
  132.     <tr>  
  133.       <td style="text-align: center;"><input  
  134.  name="ismerte" value="igen" type="radio">igen  
  135. &nbsp; &nbsp; <input name="ismerte"  
  136.  value="nem" type="radio">nem</td>  
  137.       <td style="text-align: center;"><input  
  138.  name="rendelt" value="igen" type="radio">igen  
  139. &nbsp; &nbsp;<input name="rendelt"  
  140.  value="nem" type="radio">nem</td>  
  141.       <td style="text-align: center;"><input  
  142.  name="ajanlana" value="igen" type="radio">igen  
  143.       <input name="ajanlana"  
  144.  value="nem" type="radio">nem</td>  
  145.     </tr>  
  146.   </tbody>  
  147. </table>  
  148. <br>  
  149. <big><span  
  150.  style="font-weight: bold;">K&eacute;rem  
  151. v&aacute;lasszon az  
  152. al&aacute;bbiak  
  153. k&ouml;z&uuml;l:</span></big><br>  
  154. <br>  
  155. <table style="text-align: left; width: 50%;"  
  156.  border="1" cellpadding="0" cellspacing="0">  
  157.   <tbody>  
  158.     <tr>  
  159.       <td>Mennyire  
  160. el&eacute;gedett az oldal kin&eacute;zet&eacute;vel?</td>  
  161.       <td>Mennyire  
  162. tal&aacute;lta hasznosnak az inform&aacute;ci&oacute;kat?</td>  
  163.       <td>Hogyan  
  164. &eacute;rt&eacute;keli &aacute;rainkat?</td>  
  165.     </tr>  
  166.     <tr>  
  167.       <td><input  
  168.  name="oldal" value="5" type="radio">Nagyon  
  169. tetszik</td>  
  170.       <td><input  
  171.  name="hasznos" value="5" type="radio">Nagyon  
  172. hasznosak, &aacute;tl&aacute;that&oacute;</td>  
  173.       <td><input  
  174.  name="ar" value="1" type="radio">T&uacute;l  
  175. alacsonak</td>  
  176.     </tr>  
  177.     <tr>  
  178.       <td><input  
  179.  name="oldal" value="4" type="radio">J&oacute;</td>  
  180.       <td><input  
  181.  name="hasznos" value="4" type="radio">Hasznos,  
  182. de  
  183. bonyolult</td>  
  184.       <td><input  
  185.  name="ar" value="2" type="radio">T&ouml;bbet  
  186. &eacute;rne</td>  
  187.     </tr>  
  188.     <tr>  
  189.       <td><input  
  190.  name="oldal" value="3" type="radio">Rendben  
  191. van</td>  
  192.       <td><input  
  193.  name="hasznos" value="3" type="radio">Hi&aacute;nyos</td>  
  194.       <td><input  
  195.  name="ar" value="3" type="radio">Megfelelő</td>  
  196.     </tr>  
  197.     <tr>  
  198.       <td><input  
  199.  name="oldal" value="2" type="radio">Van  
  200. mit  
  201. jav&iacute;tani</td>  
  202.       <td><input  
  203.  name="hasznos" value="2" type="radio">Nem  
  204. vettem  
  205. haszn&aacute;t</td>  
  206.       <td><input  
  207.  name="ar" value="4" type="radio">Kiss&eacute;  
  208. dr&aacute;ga, de megfizethető</td>  
  209.     </tr>  
  210.     <tr>  
  211.       <td><input  
  212.  name="oldal" value="1" type="radio">Nem  
  213. tetszik</td>  
  214.       <td><input  
  215.  name="hasznos" value="1" type="radio">Nem  
  216. tudom</td>  
  217.       <td><input  
  218.  name="ar" value="5" type="radio">T&uacute;l  
  219. dr&aacute;ga</td>  
  220.     </tr>  
  221.   </tbody>  
  222. </table>  
  223. <br>  
  224. <br>  
  225. <big><span  
  226.  style="font-weight: bold;">Jel&ouml;lje be,  
  227. melyik  
  228. kedvezm&eacute;nyt szeretn&eacute; ig&eacute;nybe venni:<br>  
  229. <br>  
  230. </span></big>  
  231. <table style="text-align: left; width: 55%;"  
  232.  border="1" cellpadding="2" cellspacing="2">  
  233.   <tbody>  
  234.     <tr>  
  235.       <td>  
  236.       <table  
  237.  style="width: 290px; text-align: left; margin-left: auto; margin-right: auto;"  
  238.  border="0" cellpadding="2" cellspacing="2">  
  239.         <tbody>  
  240.           <tr>  
  241.             <td style="text-align: center;"><input  
  242.  name="akcio1" value="igen" type="checkbox"></td>  
  243.           </tr>  
  244.           <tr align="center">  
  245.             <td><input  
  246.  name="akcio2" value="igen" type="checkbox"></td>  
  247.           </tr>  
  248.           <tr align="center">  
  249.             <td><input  
  250.  name="akcio3" value="igen" type="checkbox"></td>  
  251.           </tr>  
  252.         </tbody>  
  253.       </table>  
  254.       </td>  
  255.       <td>  
  256.       <table  
  257.  style="width: 290px; text-align: left; margin-left: auto; margin-right: auto;"  
  258.  border="1" cellpadding="2" cellspacing="2">  
  259.         <tbody>  
  260.           <tr>  
  261.             <td>Megrendelő adatai:</td>  
  262.           </tr>  
  263.         </tbody>  
  264.       </table>  
  265.       <table  
  266.  style="width: 290px; text-align: left; margin-left: auto; margin-right: auto;"  
  267.  border="1" cellpadding="2" cellspacing="5">  
  268.         <tbody>  
  269.           <tr>  
  270.             <td>N&eacute;v:</td>  
  271.             <td><input  
  272.  size="30" name="nev" value="megrendelő neve"></td>  
  273.           </tr>  
  274.           <tr>  
  275.             <td>C&iacute;m:</td>  
  276.             <td><input  
  277.  size="30" name="cim" value="megrendelő c&iacute;me"></td>  
  278.           </tr>  
  279.           <tr>  
  280.             <td>Telefon:</td>  
  281.             <td>+36 <input  
  282.  maxlength="11" size="25" name="telefon"></td>  
  283.           </tr>  
  284.           <tr>  
  285.             <td>E-mail</td>  
  286.             <td><input  
  287.  size="30" name="email"></td>  
  288.           </tr>  
  289.         </tbody>  
  290.       </table>  
  291. *megrendelő adatainak kit&ouml;lt&eacute;se k&ouml;telező!<br>  
  292.       </td>  
  293.     </tr>  
  294.   </tbody>  
  295. </table>  
  296. <br>  
  297. <span style="font-weight: bold;">&Iacute;rja  
  298. meg  
  299. v&eacute;lem&eacute;ny&eacute;t az oldallal kapcsolatban</span><br  
  300.  style="font-weight: bold;">  
  301. <span style="font-weight: bold;">Mi  
  302. hi&aacute;nyzik? Min  
  303. v&aacute;ltoztatna?</span><br>  
  304. <textarea cols="50" rows="6"  
  305.  name="velemeny"></textarea><br>  
  306. <br>  
  307. <input name="hirlevel" value="igen"  
  308.  type="checkbox"> <span  
  309.  style="font-weight: bold;">feliratkozom a  
  310. h&iacute;rlev&eacute;lre.  
  311. /Alkalmank&eacute;nti lev&eacute;l friss  
  312. akci&oacute;kr&oacute;l,  
  313. v&aacute;ltoz&aacute;sokr&oacute;l/</span><br>  
  314. <br>  
  315. <input color="red" name="submit"  
  316.  value="Adatok elk&uuml;ld&eacute;se" type="submit">  
  317. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  
  318. &nbsp;<input name="Elk&uuml;ld"  
  319.  value="T&ouml;rl&eacute;s" type="reset"><br>  
  320. <img src="images/vonal2.gif"><br>  
  321. </center>  
  322. </body>  
  323. </html>  
 
1

Ez inkább állás rovat. Ezek a

inf · 2011. Aug. 2. (K), 08.38
Ez inkább állás rovat. Ezek a fórumok arra valóak, hogy ha a php tanulásában elakadtál, akkor segítséget nyújtsanak, nem pedig arra, hogy mással csináltasd meg a munkádat.
2

igazad van

richx · 2011. Aug. 2. (K), 09.28
Igazad van, azért tettem így be mindent, mert ami nekem kellene, lehet hogy nem tudnám elmagyarázni.

Igazából nekem a rádio gombbal van gondom. Nem tudom hogyan írjam meg a php-t mert a parancsokat nem tudom hozzá. ha ebben tud valaki segíteni, már fél siker.

Egy külön php fájlt hozok létre jegyzettömbből. Eddig jól csinálom? :) A szöveges mezők változóit ki tudom írni, csak a checkboxhoz és a radio buttonhoz kellene kód.

Tehát lényegében ennyi lenne a segítség szükségem. Ha lehetne, konkrét, ideillő példával.
Nagyon köszönöm, és elnézést a kellemetlenségért.
3

de ha

richx · 2011. Aug. 2. (K), 09.29
de ha valaki megcsinálná nekem kompletten, fizetnék is érte.
ha nem, hát beérem a példával is :)
4

PHP alapok (php kézikönyv).

Hidvégi Gábor · 2011. Aug. 2. (K), 09.36
PHP alapok (php kézikönyv).
5

köszönöm

richx · 2011. Aug. 2. (K), 09.46
Köszönöm, de ez nekem nem segít.
Ha lehetne konkrét példát/választ, megköszönném!
6

Enélkül nem fogod megérteni a

Hidvégi Gábor · 2011. Aug. 2. (K), 09.49
Enélkül nem fogod megérteni a példát.
7

próbáljuk meg...

Peete · 2011. Aug. 2. (K), 10.58
tehát, van egy űrlapod. Az űrlap
  1. <form method="post" action="feldolg.php"//a feldolg.php lesz a külön fájl..  
  2. //ide jönnek az input elemek, és az elküld gomb  
  3. </form>  
szerkezetű.

Egyszerű űrlap: egyetlen szöveges input:
  1. <form method="post" action="feldolg.php">  
  2.     <label>Név:</label>  
  3.     <label><input type="text" name="nick" value="" /></label>  
  4.         <label><input type="submit" value="Mehet!" /></label>  
  5. </form>  
ez így egy darab név címke, egy text beviteli mező, és egy Mehet! feliratú gomb..

Lássuk a feldolg.php-t: a szöveges input elemnek van egy "neve", ez az egyedi azonosító, a name="valami", erre tudsz hivatkozni.
  1. <?php  
  2. $nev = $_POST['nick']; //a $nev változóba kerül az, amit beírtál  
  3. ?>  
Megjegyzés: a beviteli elemeknek adható egy "value", ez a kezdeti értéket jelenti..
pl: az előzőben: ha a "nick"-nevű text típusú input value-jét átírnád mondjuk:
  1. <label><input type="text" name="nick" value="Józsi" /></label>  

akkor eleve be lenne írva, hogy Józsi, a gombra kattintással pedig a Józsi karakterlánc kerülne a $nev változóba..

A radio és a checkbox:

előző példa kibővítve egy "Nemet" választó és egy kérek hírlevelet kérdéssel.
  1. <form method="post" action="feldolg.php">  
  2.     <label>Név:</label>  
  3.     <label><input type="text" name="nick" value="" /></label>  
  4.     <label>Nemed:</label>  
  5.         <label>Férfi</label>  
  6.         <label><input type="radio" name="sex" value="pasi" /></label>  
  7.         <label>Nő</label>  
  8.         <label><input type="radio" name="sex" value="hölgy" /></label>  
  9.     </label>  
  10.     <label>  
  11.         <input type="checkbox" name="jelolo" value="előfizet" />Kérek hírlevelet!  
  12.     </label>  
  13.       
  14.     <input type="submit" value="Mehet!" />  
  15. </form>  

A rádiógombok: minden variációnak ugyanaz szerepel a name-tagjában. És adva van mindegyikhez egy egyedi, egymástól különböző value-érték.

A checkbox: ha pl kettő lenne az űrlapon: mindegyiknek egyedi neve van, és általában egyedi value értéke.

A feldolg.php

Az elvet úgy mondanám, hogy: "a name-re hivatkozunk, és a value-t kapjuk"
  1. <?php  
  2. $nev = $_POST['nick'];  
  3. $sex = $_POST['sex'];  
  4. $hirlevel = $_POST['jelolo'];  
  5. ?>  
Megfigyelhető, hogy a $_POST['valami'] -ben a "name"-ekre hivatkozunk.
Az értékadás után, a változók tartalma:
$nev = //amit beleírtunk a 'dobozba'
$sex = //ha a férfit ikszeltük be, akkor a a hozzá tartozó value-t kikeresve láthatjuk, hogy $sex = "pasi"; ha a nőt, akkor $sex = "hölgy";
$hirlevel = //ha beikszeltük, akkor $hirlevel = "előfizet"; ha nem ikszeltük be, akkor semmi.

Remélem, a példa helyes, és érthető...
9

Nagyszerű

richx · 2011. Aug. 2. (K), 11.28
A szövegbevitelt már tudom, a checkbox és a radio nem volt ediig érthető. eddig.
Tehát hogyha csinálok egy komplett űrlapot, pl egy kérdőívet, akkor utána egy külön szöveges fájlba megcsinálom a feldolgoz.php-t?!

Akkor már csak annyi segítség kellene, hogy egy rész a php végére, ami hogyha rányomnak a küldésre, az elküldi nekem a kitöltött kérdőív adatait.

Valamint jó lenne, ha utána kapnának egy üzenetet, pl Köszönjük hogy kitöltötte a kérdőívet. És egy vissza a kezdőlapra gomb.
De az is elég ha a küldés gomb megnyomása után egyből vissza dob a honlap kezdőlapjára.

Ez hogy nézne ki?
14

isset($_POST['submit'])

pkadam · 2011. Aug. 2. (K), 12.13
Az űrlap elküldését úgy tudod ellenőrizni, hogy adsz a submit gombnak egy nevet (pl. "submit", ha csak egy űrlap van az adott oldalon), majd az isset($_POST['submit'])-tal ellenőrzöd, és ha true, akkor elküldték, tehát kiírathatod a kitöltés megköszönését, és elrejtheted az űrlapot (ha egy fájlban van a feldolgozó és az űrlapmegjelenítő kód). Ilyenkor elég if (isset($_POST['submit'])) {...} formában használni, nem szükséges a ==true.

A levélküldős megoldásra már Petee kolléga említette a mail() függvényt, azt tudod tanulmányozni.
16

Az azért nem olyan

kuka · 2011. Aug. 2. (K), 12.31
Az azért nem olyan egyértelmű. A submit gomb nyomkodásán kívül az űrlap küldés történhet
  • Enter leütéssel olyan űrlapmezőn ahol az Enternek nincs feladata (jelenlegi Firefox, Opera, Chrome elküldi az első submit gombot, de valamelyik régebbi változata nem tette)
  • submit() metódus hívással (Firefox, Opera, Chrome nem küld submit gombot)
(Ha kimaradt valami megköszönném ha valaki pótolná.)

Személy szerint én a metódust szoktam vizsgálni, feltéve, hogy POSTot használok:
  1. if ($_SERVER['REQUEST_METHOD']=='POST') { /* űrlap feldolgozás */ }  
30

Egyszerűbb, ha más

inf · 2011. Aug. 2. (K), 15.10
Egyszerűbb, ha más Controller.action végzi az űrlap feldolgozását és más a kiírást, így nem akad össze...
8

Google...

Blintux · 2011. Aug. 2. (K), 11.19
Az a durva, hogy FORM->PHP kombóra számtalan példa van a neten, csak jól kell rákeresni. Kb. három szó a te esetedben.
De had segítsek

Rögtön a legelső találat kielégíti minden igényedet szerintem.
10

hasznos

richx · 2011. Aug. 2. (K), 11.34
Valóban nagyon hasznos amit mutattál, én nem találtam volna rá :P
Gyorsan átfutottam és majd még átnézem, de olyat nem találtam, hogy a submit gombra kattintva elküldje nekem az eredményt az e-mail címemre.


Egy másik kérdés: Mindegy, hogy egy különálló php fájlt hozok létre, vagy pedig beillesztem a html-be/elé?

Köszönöm!
12

Én inkább egybe

pkadam · 2011. Aug. 2. (K), 12.04
Sok tutorialban külön fájlt szoktak megadni a feldolgozásra, de nálam az a best practice, hogy a fájl elejére rakom. Így nem lesz minden űrlaphoz két külön fájl (pláne, hogy ha valami gond van a kitöltéssel, akkor úgyis szükség lesz a beviteli mezőkre újra). Ezáltal bár az adott fájl bonyolultabb lesz, de a fájlstruktúra könnyebben áttekinthető.
13

mail()

Blintux · 2011. Aug. 2. (K), 12.09
mail() függvény

Az űrlaptól kapott változókat már csak szépen át kell adni ennek a függvénynek és már küldi is a mailt.
Kódot nem írok, az oldalon van számtalan példa erre is.
11

"És egy vissza a kezdőlapra gomb."

Peete · 2011. Aug. 2. (K), 12.00
nos, a vissza a kezdőlapra c. gombot úgy mondják szépen, hogy link.
Amennyiben ez az információ előtted ismeretlen volt, akkor valószínűleg nem kéne még üzleti célú honlapokat készítened. (az más kérdés, hogy -ha jól tudom- valamikor az ezredforduló táján már elavultnak nevezték a html table elem, mint pozicionáló felhasználását...)

Őszintén szólva, nem tudom, nem vagyok régi felhasználó ezen az oldalon, szóval fogalmam sincs, mi itt a "módi", de valahogy nincs kedvem megcsinálni helyetted a munkádat!
1.) ha saját cég: ne szenvedj vele, megéri alkalmazni valakit a feladatra.
2.) ha ez a munkád, tehát pénzért elvállaltad az oldalt, nos, akkor ez emberfüggő, de szerintem lehetne benned annyi gerinc, hogy szólsz a megbízódnak, hogy "bocsi, kevés hozzá a tudásom".
Ugyanis, a jelenlegi produktumod alapján úgy ítélem meg [bár nem feltétlenül mérvadó, hogy mit mondok], hogy ebből így csak egy közepesen összetákolt, hírből sem szabványkövető oldal lesz..

Na, de hogy valami építőt is mondjak: levelet küldeni a php mail() függvényével lehet. Vagy itt egy cikk innét, a weblaborról
15

Saját cég

richx · 2011. Aug. 2. (K), 12.30
Saját cég, emberre nincs pénz.
A jelenleg összetákolt honlapom pedig: Iplikator.hu

Köszönöm, aki segített!
19

Egy-két tipp a jobbá

deejayy · 2011. Aug. 2. (K), 12.48
Egy-két tipp a jobbá tevéshez:
- Times New Roman betűtípus csak nagyon kevés weboldalon és design-on mutat jól. Itt pl. nem
- az Arial még elmegy, de a kettőt pláne nem érdemes keverni. (nyilván a tipográfiai szabályok sokkal szofisztikáltabbak, én most csak pár specifikusan erre a weboldalra vonatkozó dolgot emelek ki)
- a halvány képeken alig látszik a szöveg
- a beszúrt képeknek mindegyiknek valamilyen más kerete van (hol kerekített, hol halványított, hol mindkettő, hol meg valami pontozott vonalak)
- akcio.html nem működik

Egyébként erre a célra nyilvánvalóan egy webshop lenne a legjobb eszköz.
32

Próbálj meg telepíteni egy

inf · 2011. Aug. 2. (K), 15.22
Próbálj meg telepíteni egy joomla+virtuemart-ot vagy egy zencart-ot (ezek ingyenes webshop rendszerek), elméletileg még te is meg tudod csinálni php kódolás nélkül. Ha abban elakadtál, akkor szólj!
17

Nekem az a véleményem az

deejayy · 2011. Aug. 2. (K), 12.36
Nekem az a véleményem az eddigi tapasztalatok alapján, hogy a kérdező meglepően udvarias [a többi zöldfülűhöz képest biztosan], nem követelőzik, megpróbál tapogatózni, hogy merre induljon.

Én még nem olvastam olyat ebben a threadben, hogy pénzes lenne a dolog, nem tudom Te miből vontad le a következtetést.

Minden esetre a kérdező messze példát mutat azok előtt, akik már mondjuk hónapok óta itt vannak, és a stílusuk nem éri el az elégségest sem.

Így szerintem abszolút nem érdemes támadóan fellépni az ilyenek ellen, mert akkor tényleg az jön le a külvilág felé, hogy milyen bunkók itt a kezdőkkel (függetlenül a kérdező hozzáállástól; mert az elismerem, hogy sajnos vannak itt olyanok, akiknek nem nagyon engednék topicot nyitni).

Így - ha érdemi tanácsot nem is fűztem a threadhez - én kérnék elnézést.

Na de mégis (egy nagyon primitív megoldás, ha csak neked kell a mail):
  1. ob_start();  
  2. print_r($_POST);  
  3. $level = ob_get_clean();  
  4. mail('sajat##kukac##email.cimed''Jott valami cucc'$level);  
18

$level = print_r($_POST,

Poetro · 2011. Aug. 2. (K), 12.40
  1. $level = print_r($_POST, TRUE);  
20

Hopp tényleg. Olyan régen

deejayy · 2011. Aug. 2. (K), 12.50
Hopp tényleg. Olyan régen használom ezt a parancsot, hogy azóta nem néztem a manuált :D
21

Nagyon köszönöm!

richx · 2011. Aug. 2. (K), 13.31
Köszönöm deejayy!
Ma sokat tanultam, és egészítettem ki a meglévő információimat.
Köszi a hasznos jótanácsokat, ilyenekre szükségem is lenne, csak még nem kérdeztem senkit, de te most megválaszoltad nekem.
az akciok.html még nincs kész, azért nem működik.
A betűtípusokat pedig átnézem és keresek hozzávalót.
A képek különbözőek, ez tény, próbáltam tartalomhoz illően igazítani őket.

Valamint ha már így megnézted, nincs ötleted, miért nem működik rendesen IE-el? Nemtudom ez mekkora hátrány, és a "weboldal megtekintése Firefox, vagy Chrome böngészővel ajánlott" felirat "kiküszöbölné" a hibát?!

De igazából ez nem idevaló kérdés, tehát nem várok rá választ :)

Viszont ötleteket, kritikákat szívesen fogadok!

Mégegyszer köszi mindent!
22

A következtetést

Peete · 2011. Aug. 2. (K), 13.42
abból vontam le, hogy kimásoltam a kérdező kódját, és megnéztem, mégis miről van szó. Aztán, mivel egy speciális dologról van szó, végignéztem a Google-találatokat, és megtaláltam -az azóta a kérdező által belinkelt- oldalt. (meg mondjuk alapból látszik a kódban a "megrendelő" kifejezés.)

Az álláspontoddal egyetértek; (bár mivel nem régóta vagyok itt regisztrálva, nem tudok viszonyítani túl sok korábbi kérdezőhöz, bár tény, hogy e téma kérdésében semmilyen kivetnivalót nem találok magam sem.)és egyáltalán nem szándékoztam támadóan fellépni, amennyiben mégis sikerült, akkor ezúton elnézést kérek a kérdezőtől és mindenki mástól is!

Ez esetben pedig, produktívat is írva:
A legegyszerűbb feldolgoz.php /tfh: az űrlapon két dolog van: egy input type="text" és egy textarea; nevük: nick és mail/ ekkor a feldolgoz.php tartalma:
  1. <?php  
  2. if (isset($_POST['nick']) && isset($_POST['mail']) ) {  
  3. $nick = $_POST['nick'];  
  4. $szov = $_POST['mail'];  
  5. $akinekkuldom = "email##kukac##cim.hu";  
  6. $cim = "Üzenet a valami.hu-ról";  
  7. $tartalom = "Új üzenet érkezett! <br />Az üzenet:".$szov."<br/> Feladó:".$nick;  
  8.    
  9. mail($akinekkuldom$cim$tartalom);   
  10. echo 'az emailt elküldtük!<a href="kezdolapurl">Vissza a kezdőlapra</a>';  
  11. else {  
  12. echo "hiba! minden mező kitöltése kötelező";  
  13. echo '<a href="űrlapurl">Visszalépés, újra megpróbálom kitölteni.</a>';   
  14. }  
  15. ?>  
23

biztonság

Poetro · 2011. Aug. 2. (K), 13.53
Azért érdemes kicsi figyelmet szentelni a biztonságra, és validálni, hogy a nick az tényleg egy és pontosan egy email cím.
25

Kedves Poetro!

Peete · 2011. Aug. 2. (K), 14.14
amennyiben nekem szólt a megjegyzésed.. a Feladó elég szerencsétlen szóhasználat volt valóban.. én csak azt akartam egy kóddal szemléltetni, hogy működik a mail függvény: adatokat bekérünk, megnézzük, hogy léteznek-e, ha igen, adott szövegkörnyezetté alakítjuk összefűzéssel, majd a mail() fügvénnyel elküldöm.

Alapvetően természetesen igazad van: a feladó emailcímét szükséges lenne ellenőrizni!

Viszont én csak egy teljesen egyszerű, jön egy levél esetet akartam írni:
"
Új üzenet érkezett!
Az üzenet: Ide az a szöveg kerül, amit a küldő a feldolgozandó űrlapon beírt a textarea-ba.
Feladó: Józsi
"

szóval a kódomban a $_POST['nick'] nem feltétlenül emailcím, csak egy nicknév, amit bekértem a felhasználótól..
(csak azért létezik, hogy szerepeljen a kódban a "hogy ellenőrizzünk le egynél több inputot" kérdésre válasz)
Bocs a félreérthetőségért!
24

Azért én ezt nem tenném: if

kuka · 2011. Aug. 2. (K), 13.59
Azért én ezt nem tenném:
  1. if (isset($_POST['nick']) && isset($_POST['mail']) ) {  
  2.   // feldolgozás  
  3. else {  
  4.   echo "hiba! minden mező kitöltése kötelező";  
  5.   echo '<a href="űrlapurl">Visszalépés, újra megpróbálom kitölteni.</a>';  
  6. }  
Itt üres mezők esetén is teljesül a feltétel, úgyanis
Interactive shell

php > $_POST['nick'] = '';
php > echo isset($_POST['nick']);
1
26

jogos, bocs..

Peete · 2011. Aug. 2. (K), 14.35
ez most így hirtelen nem esett le..
empty($nev) - vel lesz a helyes!
27

eddig:

richx · 2011. Aug. 2. (K), 14.42
Jelenleg ezt hoztam össze az előző megrendelőlap mására, az itt kapott infókkal.
tehát a feldolgoz.php így néz ki: nem akartam tulbonyolitani, hiszen az előző űrapküldőm ilyen adatokkal is működött:
  1. <?php  
  2. if (isset ($_POST['nev']) && isset($_POST['bekuldo_email']))  
  3. {    
  4. $nem = $_POST['nem'];    
  5. $eletkor = $_POST['eletkor'];  
  6. $lakhely = $_POST['lakhely'];  
  7. $bekuldo_email = $_POST['bekuldo_email'];  
  8. $ismeros = $_POST['ismeros'];  
  9. $kereso = $_POST['kereso'];  
  10. $facebook = $_POST['facebook'];  
  11. $expressz = $_POST['expressz'];  
  12. $jofogas = $_POST['jofogas'];  
  13. $startapro = $_POST['startapro'];  
  14. $egyeb = $_POST['egyeb'];  
  15. $hirdeto = $_POST['hirdeto'];  
  16. $egyeblap = $_POST['egyeblap'];  
  17. $laphu = $_POST['laphu'];  
  18. $ismerte = $_POST['ismerte'];  
  19. $rendelt = $_POST['rendelt'];  
  20. $ajanlana = $_POST['ajanlana'];  
  21. $oldal = $_POST['oldal'];  
  22. $hasznos = $_POST['hasznos'];  
  23. $ar = $_POST['ar'];  
  24. $akcio1 = $_POST['akcio1'];  
  25. $akcio2 = $_POST['akcio2'];  
  26. $akcio3 = $_POST['akcio3'];  
  27. $nev = $_POST['nev'];  
  28. $cim = $_POST['cim'];  
  29. $telefon = $_POST['telefon'];  
  30. $rendelo_email = $_POST['rendelo_email'];  
  31. $velemeny = $_POST['velemeny'];  
  32. $hirlevel = $_POST['hirlevel'];  
  33. mail ('info##kukac##iplikator.hu''Kérdőív',   
  34. "Név: $nev   
  35. Email: $bekuldo_email   
  36. Telefonszám: $telefon   
  37. Település: $lakhely <br/>  
  38. Hogyan talált ránk? <br/>  
  39. $ismeros  
  40. $kereso  
  41. $facebook  
  42. $expressz  
  43. $jofogas  
  44. $startapro  
  45. $egyeb <br/>  
  46. Ebben a hirdetőben: $hirdeto  
  47. $egyeblap<br/>  
  48. Ebben a lap.hu oldalban: $laphu  
  49. Ismerte korábban is az iplikátort? $ismerte  
  50. Rendelt már tőlünk? $rendelt  
  51. Szívesen ajánlaná másoknak termékünket? $ajanlana  
  52. <br>  
  53. Mennyire elégedett az oldal kinézetével? $oldal  
  54. Mennyire találta hasznosnak az informácikat? $hasznos  
  55. Hogyan értékeli árainkat? $ar  
  56. <br/>  
  57. Ezt az akciót választotta:   
  58. $akcio1  
  59. $akcio2  
  60. $akcio3  
  61. <br/>  
  62. Rendelő adatai:  
  63. Név: $nev  
  64. Cím: $cim  
  65. Telefonszám: $telefon  
  66. E-mail cím: $rendelo_email  
  67. <br/>  
  68. Vélemény az oldallal kapcsolatban:  
  69. $velemeny  
  70. Feliratkozik a hírlevélre: $hirlevel .  
  71. date('d/m/Y H:i:s'), "FROM: $bekuldo_email Reply-To: $bekuldo_email"); }  
  72.   
  73. ?>    
Azonban a submit gomb megnyomása után ez az üzenet fogad:
Parse error: syntax error, unexpected T_STRING in /home/papprich/public_html/kerdoiv/feldolgoz.php on line 71

Persze lehet h én akarom tul egyszerűen összehozni, pedig már így sikerült.
28

Használj szintaxis színezésre

kuka · 2011. Aug. 2. (K), 14.50
Használj szintaxis színezésre képes szövegszerkesztőt (illetve itt a Weblaboron a [colorer] BBCode taget) és máris látszik, hogy hiányzik a záró idézőjel:
  1. mail ('info##kukac##iplikator.hu''Kérdőív',  
  2. "Név: $nev  
  3. // ...  
  4. Feliratkozik a hírlevélre: $hirlevel" . // <-- itt kell zárni az idézőjelet  
  5. date('d/m/Y H:i:s'), "FROM: $bekuldo_email Reply-To: $bekuldo_email"); }  
29

igen

richx · 2011. Aug. 2. (K), 15.03
Valóban elnéztem :)

Mostmár minden stimmel, és az e-mailt is megkapom, olyan formában, ahogy szeretném, mivel a formán is változtattam. A sok <br/>-t kiszedtem, mert megjelenítette az e-mailben, és anélkül is sima enterrel tud tenni sortörést.

Azonban van mégegy gond, aminek szerintem mélyrehatoló hibája van.

Az űrlap kitöltői, ha a kitöltéshez használnak "ő" "ű" ezt kapom:

pl: teniszüt&#337;, gépjárm&#369;vezet&#337; bádogúszó

érdekes, a sima hosszú ékezetek jók :S

Mi lehet a hiba oka?
33

karakterkódolás

inf · 2011. Aug. 2. (K), 15.28
Egységesen utf-8 headereket kéne kiküldened, a fájlokat meg utf-8 bom nélkül formában feltenni a szerverre. pl ha notepad++ -t leszeded, abban is be tudod állítani, hogy hogyan mentse le őket.
34

hiba

richx · 2011. Aug. 2. (K), 15.36
Tehát akkor a HTML-ben van a hiba!

NVU-ban szerkesztem, már ehhez szoktam hozzá. Ott van egy olyan opció, hogy "Mentés, és a karatkerkódolás megváltoztatása"
Ez lenne a megoldás?
Ha igen, akkor csak a már meglévő html-t elmentem UTF-8 kódolásba?
35

Nem teljesen. Van olyan,

inf · 2011. Aug. 2. (K), 15.54
Nem teljesen.

Van olyan, hogy utf8 bommal meg bom nélkül. Nem tudom, hogy a te editorod melyikkel menti, ha a bom is bent marad, az probléma, mert minden oldal elején látszani fog.

A php-ban is header-t kell kiküldeni minden oldal legelején:
  1. header('content-type: text/html; charset=utf-8');  
És az email-be is be kell tenni egy header-t a karakterkódolásról.
  1. $headers  = 'MIME-Version: 1.0' . "\r\n";  
  2. $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";  
  3.   
  4. mail($to$subject$message$headers);  
36

Off-topic tanács

kuka · 2011. Aug. 3. (Sze), 08.59
NVU-ban szerkesztem
A NVU fejlesztését rég megszüntették, az utolsó stabil verzió 2005-ből származik. Azóta volt pár változás a web életében. Esetleg nézz rá a KompoZerre, az egy újraírt NVU alapú szerkesztő folytatása, tehát elméletileg ismerősnek kellene majd tűnjön neked. Bár a KompoZer utolsó stabil verziója 2007-es, úgyhogy az sem igazan friss. De hátha nem generál ilyen ronda kódot, mert ezzel minket is és a böngészőket is csak kínozod.
37

Off

Poetro · 2011. Aug. 3. (Sze), 11.05
Azért a böngészőket se kell félteni, elvégre réges-rég, egy arany színű robot megmondta már:
We seem to be made to suffer. It's our lot in life.
31

ha jól tudom- valamikor az

inf · 2011. Aug. 2. (K), 15.18
ha jól tudom- valamikor az ezredforduló táján már elavultnak nevezték a html table elem, mint pozicionáló felhasználását...


Az tény, hogy elavult, de sajnos van amikor nincs más lehetőség. Futottam már bele olyan problémába, amit csak táblázattal tudtam megoldani (css3 nélkül)...