ugrás a tartalomhoz

Űrlap

attilalr · 2010. Júl. 26. (H), 15.05
Sziasztok!

Még új vagyok itt, azért regeltem, mert van egy kis gondom.
Szeretnék létrehozni egy Adatlap küldő scriptet, ami egy e-mail címre küldi az adatokat és a szöveges adatokon kívül tud képet is csatolni.

Ezt használom:

form.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="mail.php">
<label>
<input type="text" name="nev" id="nev" />
</label>
<p>
<label>
<input type="text" name="email" id="email" />
</label>
</p>
<p>
<label>
<input type="text" name="tel" id="tel" />
</label>
</p>
<p>
<label>
<textarea name="uzenet" id="uzenet" cols="45" rows="5"></textarea>
</label>
</p>
<p>
<label>
<input type="submit" name="mehet" id="mehet" value="mehet" />
</label>
</p>
</form>
</body>
</html>


és hozzá a php:

mail.php:

<?php
// --------------------- ADATOK ----------------

//$mailto - megadhatod hova kuldje a levelet
//pl.:
//$mailto = "tecimed##kukac##proba.hu" ;

$mailto = 'fajtkris##kukac##gmail.com' ;

//$subject - a kuldott level targya
//pl.:
//$subject = "Uzenet erkezett!" ;

$subject = "fb multimedia blog" ;

//megjelenitendo lapok, pl.
//Urlap helye: $formurl = "http://www.proba.hu/urlap.html" ;
//Hiba eseten: $errorurl = "http://www.proba.hu/hiba.html" ;
//Atiranyitas: $thankyouurl = "http://www.proba.hu/koszonjuk.html" ;

$formurl = "urlap.html" ;
$errorurl = "hiba.html" ;
$thankyouurl = "koszonjuk.html" ;

$uself = 0;

// -------------------- ADATOK VEGE ---------------

$headersep = (!isset( $uself ) || ($uself == 0)) ? "\r\n" : "\n" ;

// -------------------- MEZONEVEK -----------------

$nev = $_POST['nev'] ;
$email = $_POST['email'] ;
$tel = $_POST['tel'] ;
$uzenet = $_POST['uzenet'] ;

// -------------------- MEZONEVEK VEGE ------------


$http_referrer = getenv( "HTTP_REFERER" );

if (!isset($_POST['email'])) {
header( "Location: $formurl" );
exit ;
}

// -------------------- KOTELEZO MEZOK ------------

if (empty($nev) || empty($email) || empty($tel) || empty($uzenet)) {
header( "Location: $errorurl" );
exit ;
}

// --------------- KOTELEZO MEZOK VEGE ------------

if ( ereg( "[\r\n]", $nev ) || ereg( "[\r\n]", $email ) ) {
header( "Location: $errorurl" );
exit ;
}

if (get_magic_quotes_gpc()) {
$tel = stripslashes( $tel );
}

if (get_magic_quotes_gpc()) {
$nev = stripslashes( $nev );
}

if (get_magic_quotes_gpc()) {
$email = stripslashes( $email );
}

if (get_magic_quotes_gpc()) {
$szem = stripslashes( $uzenet );
}


// ----------------- EMAIL SZERKESZTESE ------------

$messageproper =

"Uzenet innen:\n" .
"$http_referrer\n" .
"------------------------------------------------------------\n" .
"Neve: $nev\n" .
"E-mail: $email\n" .
"Telefon: $tel\n" .
"------------------------- Uzenet -------------------------\n\n" .
"Uzenet: $uzenet\n" .
"\n\n------------------------------------------------------------\n" ;

mail($mailto, $subject, $messageproper,
"From: \"$nev\" <$email>" . $headersep . "Reply-To: \"$nev\" <$email>" . $headersep . "X-Mailer: chfeedback.php 2.08" );
header( "Location: $thankyouurl" );
exit ;

?>


Mit kell ebben átalakítani, hogy a képet is csatolja az e-mailhoz.

Köszöm!
 
1

Rengeteg mindent

Poetro · 2010. Júl. 26. (H), 23.19
A dolog attól is függ, honnan van a kép, és hogyan akarod a levélhez csatolni. De én először is elfelejteném a fenti scriptet, és használnék valami email küldő osztályt, például PHPMailer, Swift Mailer vagy Mail_Mime.
Ezek után validálnod kell a bejövő adatokat, mivel az ilyen formok, általában a spammelés melegágyai. Ha ezekkel megvagy, akkor megnézed, hogy az általad kiszemelt email küldő osztály miképp tud fájlokat csatolni az emailhez, elárulom ezt neked kézzel megírni csak a mail() függvényt használva nem lenne leányálom.
2

Köszi!

attilalr · 2010. Júl. 29. (Cs), 10.47
Nehezen, de nekem is sikerült a dolog, azért köszönöm a választ!