Jump to content
GSForum - Segélyvonal

E-mail küldõ php


tamasir

Recommended Posts

szolim

Halló!

Nem profit orientált a honlap. Egyszerűen arról van szó, hogy a látogató regisztrálva legyen, és úgy tölthesse le az ingyenes tartalmat. MySQL van, de nem szeretném ha az oldalba mélyen bele lenne nyúlva. Köszönöm a jelentkezésed, valahogy meg fogom oldani. A PHPmv2-t, az osCommerce -t, és a Vanilla-t is felszenvedtem egyedül, sok-sok olvasással.

üdv: szöllősy imre

Link to comment
Share on other sites

knetaniko

Sziasztok!

Segítségre lenne szükségem!

Egy e-mail küldőt szeretnék az oldalamra. Már csináltam hozzá egy űrlapot javascript-tel, de az a baj, hogy az az Outlook-ot tölti be, mikor a küldés gombra kattintok. Szóval azt szeretném, hogy az oldalról küldjön az én címemre egy mailt a küldő adataival. Hogyan lehetne ezt megoldani?

U.i.: A szerkesztő amit használok NVU, nem támogatja a php-t, bár feltöltéskor át tudom nevezni.

Előre is köszi minden segítséget!

Edited by h.arpad
Link to comment
Share on other sites

h.arpad

Például. De ha nem HTML-levelet szeretnél küldeni, hanem csak sima szöveget, akkor csak olvass vissza. :ötlet:

 

Ha az űrlapot beidézed, akkor abban is segíteni tudunk, hogy hogyan kerüljenek át az adatok az űrlapból a levélbe.

Link to comment
Share on other sites

knetaniko

Kedves h.arpad!

Köszönöm az eddigi segítséget és már elõre hálás vagyok a következõért is. Tudnád nekem pontosítani, hogy a kódot hová is kell pontosan beillesztenem (az ûrlapba vagy esetleg másik dok.-ot kell hozzá készíteni)? Bocsi, ha kicsit körülményes vagyok, de nem igazán vagyok otthon a php-ban.

 

Íme az ûrlap forráskódja:

 

<html>
<head>
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>urlap</title>
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(238, 119, 238);" alink="#000099" link="#000099" vlink="#990099">
<script type="text/javascript" charset="utf-8" src="http://www.extra.hu/..."></script>
<br>
<br style="font-weight: bold;">
<div style="text-align: center; font-family: Waldorf Script; font-weight: bold;">
    <big><big><font size="+1"><big><big>Itt elküldheted adataida</big></big></font><big>t</big></big></big>
</div>
<div style="text-align: center;"></div>
<br>
<!-- ****************** ûrlap innen ******************** -->
<form name="mailform"
      action="mailto:dolgozz_otthon@extra.hu?subject=jelentkezés"
      method="post" enctype="text/plain">
<!-- ** készült a ThomasWebmûhely ûrlap varázslójával ** -->
<!-- **** [url=http://mitglied.lycos.de/thomaswebmuhely/]http://mitglied.lycos.de/thomaswebmuhely/[/url] **** -->
<input name="targy" value="Jelentkezõ" type="hidden">
<table align="center" bgcolor="#fffacd" border="4" bordercolor="#ff0000" width="400">
<caption><b></b></caption>
<tbody>
<tr>
    <td> név: </td>
    <td> <input name="nev" size="20" value="Neve" type="text"></td>
</tr>
<tr>
    <td> email: </td>
    <td> <input name="email" size="20" value="E-mail címe" type="text"></td>
</tr>
<tr>
    <td> szöveg: </td>
    <td><textarea name="szoveg" rows="5" cols="20">Részletes tájékoztatást szeretnék </textarea></td>
</tr>
<tr>
    <td> </td>
    <td> <input value="elküld" type="submit"><input value="töröl" type="reset"></td>
</tr>
</tbody>
</table>
</form>
<!-- ******************* ûrlap eddig ******************* -->
<br>
<br>
<div style="text-align: center;">
    <a href="java script:history.go(-1)" style="font-weight: bold; font-family: Comic Sans MS;">Vissza</a>
</div>
</body>
</html>

Link to comment
Share on other sites

payskin

Te-jóságos-atya-úr-isten! Milyen program csinál ilyen kódot? :Sír: :fal:

 

:?:
-- vastag sortörés?!?!?

 

:?:

-ben beállítjuk félig a font tulajdonságokat, aztán berakunk egy taget, és körberakjuk -ekkel, ami micsoda is?! :pislog:

 

:?:

- középre igazítjuk a semmit?!

 

:?:

- ?!?!??

 

Nagyon bízom benne, hogy ezt nem valaki kézzel követte így el, mert akkor alapvetően rendül meg az emberekbe vetett hitem. :nem:

Link to comment
Share on other sites

h.arpad

A HTML-hez no comment... :S Én csak az űrlappal foglalkoztam.

 

A kód egyszerű, mert nem ellenőrzi a tartalmát a beírt adatoknak. :!:

A megjegyzéseket olvasd el, és helyettesíts a megfelelő értékekkel, ahol kell:

 

<!-- ******************űrlap innen***************** -->
<?php
//egyszerű ellenőrzés - ha minden mező kitöltése kötelező
if ( (isset ($_POST['nev'])) && (isset ($_POST['email'])) && (isset ($_POST['szoveg'])) ) {
$name =  stripslashes( $_POST['nev'] );
$email = stripslashes( $_POST['email'] );
$szoveg = stripslashes( $_POST['szoveg'] ); 

//üzenet tartalma
$szoveg = wordwrap($szoveg);
$messagetext = "$name ($email) küldi:\r\n $szoveg";

//címzett -- ide a te címed
$emailaddr = "valaki@domain.hu";

$headers = "From: $email" . "\r\n" .
    "Reply-To: $email" . "\r\n" .
    "X-Mailer: PHP/" . phpversion();
$subject  = "Új űrlap üzenet";  

mail( $emailaddr, $subject, $messagetext, $headers );
}
?>

<form name="mailform" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<input name="targy" value="Jelentkező" type="hidden">
  <table align="center" bgcolor="#fffacd" border="4"
bordercolor="#ff0000" width="400">
    <caption><b>
    </b></caption><tbody>
      <tr>
        <td> név: </td>
         <td> <input name="nev" size="20" value="Neve" type="text">
        </td>
      </tr>
      <tr>
        <td> email: </td>
        <td> <input name="email" size="20" value="E-mail címe"
type="text"> </td>
      </tr>
      <tr>
        <td> szöveg: </td>
        <td><textarea name="szoveg" rows="5" cols="20">Részletes
tájékoztatást szeretnék </textarea></td>
      </tr>
      <tr>
        <td> </td>
        <td> <input value="elküld" type="submit"><input value="töröl"
type="reset"></td>
      </tr>
    </tbody>
  </table>
</form>
<!-- ******************űrlap eddig***************** -->

Link to comment
Share on other sites

knetaniko

Bocsánat, nem tudtam, hogy ennyire rossz!

Egyébként a thomas webmûhely ûrlapvarázslójával készült.

 

Link to comment
Share on other sites

knetaniko

Kedves h.arpad!

Kipróbáltam a kódot amit adtál és miután feltöltöttem és kipróbáltam a küldésnél azt írja ki, hogy ez a lap nem található. Ezután megnéztem a forráskódot és teljesen kivette belõle ezt a részt:

 

<?php //egyszerû ellenõrzés - ha minden mezõ kitöltése kötelezõ
if ( (isset ($_POST['nev'])) && (isset ($_POST['email'])) && (isset ($_POST['szoveg'])) ) {
$name = stripslashes( $_POST['nev'] );
$email = stripslashes( $_POST['email'] );
$szoveg = stripslashes( $_POST['szoveg'] );
//üzenet tartalma
$szoveg = wordwrap($szoveg);
$messagetext = "$name ($email) küldi:\r\n $szoveg";
//címzett -- ide a te címed
$emailaddr = "nemirjukki_az_emailcimet@a_spamek_miatt.hu";
$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();
$subject = "Új ûrlap üzenet"; mail( $emailaddr, $subject, $messagetext, $headers );
}
?>

 

A gépemen a szerkesztõprogramban még megvan, és feltöltés után már nincs. Mi lehet a gond?

 

Légy szíves, használd a code jelölõt, õ az: IPB kép>Üdv: h.arpad

Link to comment
Share on other sites

h.arpad

A forrásban a PHP nem jelenik meg. :!: A fájlt php-ként kell elmenteni. (valami.php) A szervernek támogatnia kell a PHP-szkriptek futtatását.

 

Engem jobban érdekelne, hogy mi az a lap, ami nem található? :pislog:

Link to comment
Share on other sites

knetaniko

Szóval a kód nem jelenik ott meg, rendben. A fájl ebben a formában lett elmentve és a szerver is támogatja a php-t. Azt nem tudom milyen lap az amit nem talál, de azt írja ki error 404- a lap nem jeleníthetõ meg!

Kezdem feladni, pedig alapvetõen kitartó ember vagyok!

 

Link to comment
Share on other sites

h.arpad

Alapvetõen én is, de ez már kicsit sok. :hááát: Szóval, akkor hova is töltöd fel azt a szerencsétlen PHP-fájlt, és mit írsz be a böngészõ címsorába, hogy megjelenjen az oldal?

Link to comment
Share on other sites

Kiskalóz

Feltettem a saját oldalamra ezt a kódot. Hibátlanul üzemel. Itt már szerver gond lesz.

Az extrán nincs titva a php mail függvény?

 

Link to comment
Share on other sites

h.arpad

@knetaniko:

Nem csodálkozom, hogy nem mûködik: miért kellett lt-vel meg gt-vel (HTML-kódjukkal) helyettesíteni a < és > jeleket? Írd vissza. (Én sem úgy adtam meg!)

 

Ha ezt teszed, a szerver soha sem fogja PHP-script-ként értelmezni az action-ben szereplõ részt, és az ûrlap nem fog mûködni (olyan, mintha egy URI-t írnál be).

Link to comment
Share on other sites

payskin

Árpád, látom, buzog benned a segíteni akarás, de különleges érzéked van ahhoz, ne észleld, ki mennyit ért ahhoz, amihez segítséget kér. :):P

 

Anikónak nyilván fogalma nincs mi az az URI, mint ahogy az lt/gt-hez sincs köze (Anikó, cáfolj meg, nyugodtan). Nyilván beírta a kódodat valamibe, ami ezeket a tragikus HTML-nek is nagyon óvatosan nevezhető dolgokat állítja elő, és az lecserélte benne a kisebb nagyobb jeleket.

 

Már délelőtt a "feladom"-nál akartam írni egy hozzászólást, hogy a dolog nem így működik. Kedves Anikó, meg ne haragudj ezért, de a 0. kilométerkőnél állsz, ami a HTML-t és a PHP-t illeti, ehhez képest óriási fába vágod a fejszédet. Sajnos a webfejlesztés nem olyan, mint a Word: jaj, körlevelet kell csinálnom, még sosem csináltam ilyet, valaki mesélje el hogy kell, és követem a lépéseket. Sokkal inkább olyan, mint a nyelvtudás: ha egy szót nem beszélsz kínaiul, valószínűleg megoldhatatlan probléma elé állít, ha kínai szinkrontolmácsnak kérnek fel. Ehhez tudni kell bizonyos dolgokat. A 0. kilométerkőnél állni nem baj vagy szégyen, mindannyian onnan indultunk egykoron. De ahogy egy házat sem lehet a második emeleten elkezdeni építeni, ennek is az alapjaival kéne előbb tisztában lenni. Így nem igazán tudunk úgy segíteni, hogy megértsd vagy hasznosítani tudd. Még ha Árpád kifogyhatatlan lelkesedésből kitartóan próbálja megoldani helyetted a problémát. ;)

 

Remélem, tetszettek a metaforák, nem akartam megbántani senkit. A kedvedet meg főleg nem akartam elvenni, még ha úgy is tűnik.

Link to comment
Share on other sites

knetaniko

Kedves Balázs!

Igen, jól látod, nem értek úgy a dolgokhoz, mint ti, talán ez egyértelmű, ahogy az is, hogy ezért fordultam hozzátok segítségért. Megbántanod nem sikerült, csak az önbizalmamat ingattad meg egy kicsit. És szintén igen, a program amit használok, cserélte le a jeleket nem én, hiszen nem azért kértem a segítséget, hogy aztán önmagam feje után szerkesztgessem a kódokat.

 

Kedves Árpád!

Neked köszönöm az eddigi segítséget!

És ahogy egy okos ember mondta: " Ha nem tudsz megoldani valamit, old meg másként!"

Én is ezt fogom tenni!

Szóval mégegyszer köszönöm a segítségeteket!

Üdv: Anikó

Link to comment
Share on other sites

  • 1 month later...
Guest zolejke

Hello! Van egy problémám. Csináltam én is egy mail küldõ form-ot, szépen mûködik is, a beállításokkal nincs bajom. De szeretném megcsinálni, hogy javascript-tel ellenõrizze le az adatokat, mármint, hogy kitöltötte-e minden rublikát (neve, elérhetõség email címe). Ezt a scriptet fel is raktam a head-be, be is neveztem, de mégsem megy. Ha egy oldalban tolom össze az egészet, akkor mûködik, csak nekem beágyazott design-ba kell, és a mail.php veszi át a továbbit, majd átdob siker esetén a successful.php oldalra.

Szeretném, ha valaki tudna nekem segíteni, hogy hol rontom el. Valószínû az összefüggéseket/kapcsolásokat és az ezzel való prioritásokat nem értem. Köszönöm

Link to comment
Share on other sites

h.arpad

Kód nélkül, így látatlanba' mégis hogy segítsünk?

Link to comment
Share on other sites

Guest zolejke

Ohh, pardon, igazad van, csak nem mertem bevállalni a hülyeségemet elsőre :)

 

nos a script:

<script LANGUAGE="JavaScript">
<!-- innen
function FormCheck()
{
if(document.Formular.Name.value == "")
    {
    alert("Nincs név megadva!");
    document.Formular.name.focus();
    return false;
    }
    if(document.Formular.Email.value == "")
    {
    alert("Nincs e-mail cím megadva!");
    document.Formular.email.focus();
    return false;
    }
    if(document.Formular.email.value.indexOf('@') == -1)
    {
    alert("Hibás e-mail cím!");
    document.Formular.Email.focus();
    return false;
    }
}
// eddig -->
</SCRIPT>

 

és a többi:

    <div id="emailbox"><form name="Formular" enctype="text/plain" action="mail.php" method="post">
Your name <input type="text" name="name"><br/>
Your e-mail: <input type="text" name="email"><br/>
Your message:<br/>
<textarea name="message" cols="40" rows="5"></textarea><br/>
<input type="submit" value="Send" name="B1" onSubmit="return FormCheck(this)"><input type="reset" value="Clear" name="B2"><br/>
</form></div>

Link to comment
Share on other sites

payskin

A JS kód abba a php-ba kell, ami a formot rakja ki, nem a mail.php-be. A mail.php már csak akkor kapja meg a vezérlést, ha a form-ellenõrzése megtörtént, és minden ok.

 

Link to comment
Share on other sites

Guest zolejke

Igen, abban van benn. De mindig megéri megszennvedni vele, mert bár nem vagyok májer (sõt... :lol: ), de két napi utánajárás után már értem is a logikáját. Egészen átformáltam az elejétõl fogva, más JS-t tettem bele, picit pofásítottam, és már minden rendben! Köszönöm! 8)

Link to comment
Share on other sites

h.arpad
[...] csak nem mertem bevállalni a hülyeségemet elsõre [...]

Nem azért vagyunk itt, hogy bárkit is kigúnyoljunk, úgyhogy csak bátran.

 

A FormCheck() függvény nem vár semmilyen paramátert, ezért nem is kell neki átadni. :P A return sem kell feltétlenül elé. Elvileg hamisat ad vissza minden hibás kitöltésnél. Én még azt írnám a scriptbe, hogy egyébként igazat adjon vissza, ha minden rendben. Csak a rend kedvéért. :)

 

// [...]
if(document.Formular.email.value.indexOf('@') == -1)
    {
    alert("Hibás e-mail cím!");
    document.Formular.email.focus();
    return false;
//mindenhol
    } else {
    return true;
}
// eddig -->

 

Még valami:

A scriptben az elemek neve (name) nagy kezdõbetûvel szerepel egyik helyen, amásikon meg már nem. Az ûrlapban viszont mindenhol kicsi. Mivel itt PHP-ról van szó, és én a JavaScript-hez nem sokat értek, csak párhuzamot merészkedek vonni: a kis- és nagybetûket érdemes megkülönböztetni, és következetesen használni. Az Email és email nem ugyanaz a változó!

 

@Spányik Balázs:

Honnan tudtad melyik kód melyik fájlban van? :pislog:

Link to comment
Share on other sites

payskin

Nem tudtam, de a fenti kód a mail.php-t hívja meg, ha az ûrlap megfelelõen lett kitöltve. Innentõl kétesélyes a dolog: lehet ez az egész a mail.php-ban, ami meghívja saját magát, és attól függõen ágazik levélküldésre vagy ûrlapra, hogy a $_POST-ban van-e valami. Vagy lehet két különálló php, az egyik az ûrlap, a másik a levélküldõ, a mail.php. Programozási szempontból ez az egyszerûbb, ez tûnt tehát valószínûbbnek. Ám ebben az esetben a JS-es form ellenõrzés ugye nem lehet a mail.php-ban, mert oda már csak akkor megyünk, ha jó a form.

 

Így van ez, kedves Watson! ;):D

Link to comment
Share on other sites

  • 3 weeks later...
benji999

Sziasztok!

 

A követekezőkben kérném a segítségeteket: én is egy emailküldőt szerettem volna az oldalamra, ami sikerült is az alábbi kóddal: KÓD. De nekem még kellett egy kiegészítés, nevezetesen egy telefonszám "fül". Ezt sikerült is beillesztenem simán egy

 

<p>
Küldő Telefonszáma: <input type="text" name="telo"><br/>
<p>

sorral, ez szépen látszik is az oldalon. Aztán még odáig is eljutottam hogy a process.php ban (nálam nem mail.php a neve) beírtam, hogy ha nincs ott semmi, figyelmeztesen!

 

A probléma most jön, hogy nem tudom beilleszteni a végébe azt, hogy a megküldött üzenetben látszodjon is a telefonszám! Bemásolom az egész kódomat, ami a process.php ban van:

 

<?php

/*
*****************
fusion mail

version 1.0

fusionphp.com
*****************
*/

//variables (change these)

$youremail = "sajatmail@index.hu";
// a te mail címed, ahova a levelek menni fognak

$subject = "honlapomcime";
// a levél tárgya

$thankyou = "sikeresmail.html";
// sikeres küldés után ez fog megjelenni a küldőnek

// innentől kezdve már ne módosíts semmit
function check($postArg) { return (IsSet($_POST[$postArg]) && !Empty($_POST[$postArg])); }

if(!check('email')){
?>
Nem adtál meg mail címet, nyomd meg a VISSZA gombot.<br/>
<?php
}elseif(!check('name')){
?>
Nem adtál meg nevet, nyomd meg a VISSZA gombot.<br/>
<?php
}elseif(!check('message')){
?>
Nem adtál meg tel.számot, nyomd meg a VISSZA gombot.<br/>
<?php
}elseif(!check('telo')){
?>
Nem írtál be üzenetet, nyomd meg a VISSZA gombot.<br/>
<?php
}else{

$msg = ereg_replace("\\\'", "'", $_POST['message']);
$msg = ereg_replace('\\\"', "\"", $msg);
$message1 = "from: " . $_POST['name'] . "\nemail: " . $_POST['email'] . "\nmessage:\n" . $msg;
mail($youremail, $subject, $message1, "From: " . $_POST['email'] . "\r\nReply-to: " . $_POST['email'] . "\r\n");
?>
<meta http-equiv="refresh" content="0; url=<?echo $thankyou;?>"">
<?php
}
?>

Tehát szeretnék valakit megkérni, hogy a végét írja úgy át, hogy látszódjon a telefonszám a megküldött mailben. Előre is köszönm a segítsgeteket!

 

Benji

Edited by Spányik Balázs
Link to comment
Share on other sites

Mezofi

Ezt a sort:

$message1 = "from: " . $_POST['name'] . "\nemail: " . $_POST['email'] . "\nmessage:\n" . $msg;

Cseréled erre:

$message1 = "from: " . $_POST['name'] . "\nemail: " . $_POST['email'] . "\nmessage:\n" . $msg."\nTelefonszám:".trim($_POST['telo']);

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...