Šta je novo?

PHP sendmail

  • Začetnik teme Začetnik teme merlin
  • Datum pokretanja Datum pokretanja

merlin

Čuven
Učlanjen(a)
25.07.2000
Poruke
1,245
Poena
649
Imam jednu skriptu koja radi ali bi trebao neke stvari da izmenim, ali očigledno PHP nije stvar sa kojom se snalazim.
Umesto polja za poruku (message) hteo bi da stavim nekoliko polja u koja bi se ukucavao neki tekst. Nije problem da se napravi polje u formi nego da se pošalje njegov sadržar (bar je meni problem).

<html>
<body>
<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
{
//send email
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;

mail( "[email protected]", "Subject: $subject",
$message, "From: $email" );
echo "Thank you for using our mail form";
}
else
//if "email" is not filled out, display the form
{
echo "<form method='post' action='sendmail.php'>
Email: <input name='email' type='text' /><br />
Subject: <input name='subject' type='text' /><br />
Message:<br />
<textarea name='message' rows='1' cols='10'>
</textarea><br />

<input type='submit' />
</form>";
}
?></body>
 </html>
 
Potrebno je da formiras nesto ovako>
/* message */
$message =( "
<html>
<head>
<title>Poruka</title>
</head>
<body>
<h2>Poruka </h2>
<table>
<tr>
<td align='right' width='150px'>Prezime i ime:</td><td align='left'> $ime</td>
</tr>
</table>
</body>
</html>
");
pri cemu je $ime na pr ime koje si pokupi sa forme.
Samo dodajes odgovarajuci broj kontrola na formi, prikupljas podatke i slazes u telo poruke. Naravno, ovo je pod pretpostavkom da saljes poruku u HTML formatu.
 
Nije meni problem da napravim formu evo ima jednu. Problem je kako da napravim fajl sendmail.php da mi stigne sadržaj svih polja na mail.

<html>
<form method="post" action="sendmail.php">
<p style="margin-top: 0; margin-bottom: 0">
polje1:<input name="polje1" type="text" size="30" /><br />
polje2:<input name="polje2" type="text" size="30" /><br />
polje3:<input name="polje3" type="text" size="20" /><br />
polje4:<input name="polje4" type="text" size="20" /><br />
<input type="submit" style="font-family: Tahoma" />
</p>
</form>

I bolje moderator da ovo nije prebacivao u programiranje.
 
Napravi jedan dokument> sendmail.php i sacuvaj ga pored html dokumenta. PHP dokument bi trebalo da pocne ovako:

<?php
//Prikuplja podatke iz html dokumenta
$polje1=$_POST["polje1"];
$polje2=$_POST["polje2"];
$polje3=$_POST["polje3"];
$polje4=$_POST["polje4"];

//ispisuje podatke u novi html dokument
echo $polje1;
echo $polje2;
echo $polje3;
echo $polje4;
?>

Upravo je na mestu gde treba da bude. Moderator ima pravo.
Pozdrav.
 
Nije da nisam tražio rešenje po raznim forumima, ali izgleda da meni ovo baš ne ide.

Napravio sam dva fajla jedan send.htm gde je forma u kojoj se upisuju podaci i sendmail.php koji to treba da šalje.
E sad meni stigne mail ali prazan.
Gde da stavim
echo $polje1;
echo $polje2;
echo $polje3;
echo $polje4;

Gledao sam kako su to drugi radili i mogu da pogledam njihov htm fajl ali ne i ono šta su pisalu u php fajlu.

send.htm
<html>
<form method="post" action="sendmail.php">
<p style="margin-top: 0; margin-bottom: 0">
polje1:<input name="polje1" type="text" size="30" /><br />
polje2:<input name="polje2" type="text" size="30" /><br />
polje3:<input name="polje3" type="text" size="20" /><br />
polje4:<input name="polje4" type="text" size="20" /><br />
<input type="submit" style="font-family: Tahoma" />
</p>
</form>

sendmail.php
<?
$polje1=$_POST["polje1"];
$polje2=$_POST["polje2"];
$polje3=$_POST["polje3"];
$polje4=$_POST["polje4"];
mail( "[email protected]", "Email Subject", $message, "From: $email" );
print "Congratulations your email has been sent";?><?
?>
 
U pozivu
mail( "[email protected]", "Email Subject", $message, "From: $email" );
promenljiva
$message
je sadržaj maila. Ti nigde nisi ništa ubacio u tu promeljivu, zato ti i šalje prazan mail.

sendmail.php
<?
$polje1=$_POST["polje1"];
$polje2=$_POST["polje2"];
$polje3=$_POST["polje3"];
$polje4=$_POST["polje4"];
$message = $polje1 . $polje2 . $polje3 . $polje4;
mail( "[email protected]", "Email Subject", $message, "From: $email" );
print "Congratulations your email has been sent";?><?
?>

Sada će slati sadržaj. Samo vidi ako hoćeš da malo formatiraš sadržaj da ne bi bili sadržaji polja zalepljeni jedan za drugi i to je to.

Poz.

p.s. braća Hrvati napravili ok sajt na http://php.com.hr/vodic gde ima objašnjeno lepo o slanju preko POST i GET, a jezik nam dođe blizak 😉
 
Poslednja izmena:
:Klanjanje

To je to. Kako je jednostavno kad sad pogledaš 🙂

Moraću što se tiče PHP-a da krenem od početka. Koliko sam uspeo da pokupim informacije sa raznih strana ovo su sad otvorena vrata za spamere. Ali da ne gušim dalje zahvalan sam i na ovoj pomoći, za ozbiljnie stvari ću morati da potrošim dosta više vremena na učenje.

Hvala.
 
Nazad
Vrh Dno