pošiljanje obrazca na email
 
uki 8. dec 2009 17:35:07 Pridružen od:
8. dec 2009
19 objav
1 13 0
#1

Pozdravljeni!



Mene pa zanima kako nardiš da k maš na intrnetni strani kkšn obrazc za izpovnt da pol k kliknš pošlji da ti to pošle na mail.


všeč(1) ni všeč(4) spam(0)
 
SpinX 8. dec 2009 17:41:50 Pridružen od:
17. mar 2007
2618 objav
1720 190 20
#2

//offtopic:

jaz prodajam knjige kjer so vsi taki primeri razloženi not - idealno za začetnike :)



En osnoven primer: http://www.phpeasystep.com/phptu/8.html


všeč(0) ni všeč(0) spam(0)
Developer? Bi delal v kul podjetju ? http://dlabs.si/jobs
 
Gogy 9. dec 2009 01:27:20 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
všeč(0) ni všeč(0) spam(0)
 
uki 21. dec 2009 16:47:28 Pridružen od:
8. dec 2009
19 objav
1 13 0
#4

Zanima me kako bi naredil, da bi pri spodnjem php obrazcu php ločil v drugo datoteko.



koda:

<?php

if ($POST["email"]<>'') {

$ToEmail = 'example@damain.com';

$EmailSubject = 'Site contact form ';

$mailheader = "From: ".$
POST["email"]."\r\n";

$mailheader .= "Reply-To: ".$POST["email"]."\r\n";

$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";

$MESSAGE
BODY = "Name: ".$POST["name"]."<br>";

$MESSAGE
BODY .= "Email: ".$POST["email"]."<br>";

$MESSAGE
BODY .= "Comment: ".nl2br($POST["comment"])."<br>";

mail($ToEmail, $EmailSubject, $MESSAGE
BODY, $mailheader) or die ("Failure");

?>

Your message was sent

<?php

} else {

?>

<form action="test.php" method="post">

<table width="400" border="0" cellspacing="2" cellpadding="0">

<tr>

<td width="29%" class="bodytext">Your name:</td>

<td width="71%"><input name="name" type="text" id="name" size="32"></td>

</tr>

<tr>

<td class="bodytext">Email address:</td>

<td><input name="email" type="text" id="email" size="32"></td>

</tr>

<tr>

<td class="bodytext">Comment:</td>

<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>

</tr>

<tr>

<td class="bodytext"> </td>

<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>

</tr>

</table>

</form>

<?php

};

?>



sem že probaval da bi naredil pri action povezavo na drugo datoteko kjer bi bil le zgornji php (do "Your message was sent") pa ni delovalo. :(


všeč(0) ni všeč(0) spam(0)
 
Gogy 21. dec 2009 18:46:45 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#5

tole daš v naprimer sent_email.php


<?php
$ToEmail = 'example@damain.com';
$EmailSubject = 'Site contact form ';
$mailheader = "From: ".$_POST["email"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br>";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["comment"])."<br>";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
print "Your message was sent";
?>

Tole daš v email.php


<form action="sent_email.php" method="post">
<table width="400" border="0" cellspacing="2" cellpadding="0">
<tr>
<td width="29%" class="bodytext">Your name:</td>
<td width="71%"><input name="name" type="text" id="name" size="32"></td>
</tr>
<tr>
<td class="bodytext">Email address:</td>
<td><input name="email" type="text" id="email" size="32"></td>
</tr>
<tr>
<td class="bodytext">Comment:</td>
<td><textarea name="comment" cols="45" rows="6" id="comment" class="bodytext"></textarea></td>
</tr>
<tr>
<td class="bodytext">&nbsp;</td>
<td align="left" valign="top"><input type="submit" name="Submit" value="Send"></td>
</tr>
</table>
</form>

Poskusi in sporoči


všeč(0) ni všeč(0) spam(0)
 
uki 21. dec 2009 19:47:45 Pridružen od:
8. dec 2009
19 objav
1 13 0
#6

Hvala Gogy zdei dela :) Me pa še zanima če kdo ve kako bi naredu da bi se obvestilo (Your message was sent) izpisalo v div-u pod formo?


všeč(0) ni všeč(0) spam(0)
 
Gogy 21. dec 2009 19:51:20 Pridružen od:
17. mar 2007
2491 objav
2064 252 12
#7

saj celotno kodo lahko postaviš v ta div o katerem govoriš :)



Bodi pa pozoren pri tej skripti, saj jo brez težav izrabijo za razpošiljanje spam-a s tvojega naslova ali pa vsaj tvojega IP naslova :) tvoja skripta je na ravni aplikacije LuknjaTM


všeč(0) ni všeč(0) spam(0)
 
uki 21. dec 2009 19:59:04 Pridružen od:
8. dec 2009
19 objav
1 13 0
#8

Kako pa bi lahko zaščitil skripto, da se nebi zgodilo kaj takega?


všeč(0) ni všeč(0) spam(0)
 
uki 22. dec 2009 18:33:44 Pridružen od:
8. dec 2009
19 objav
1 13 0
#9

ma kdo kakšen nasvet?


všeč(0) ni všeč(0) spam(0)
 
blackmamba 22. dec 2009 18:52:37 Pridružen od:
4. mar 2008
559 objav
392 25 11
#10

Preveri, če je $_POST["email"] res email.


function isEmail($email) {
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email);
}

Ker header emaila sestavljaš s $_POST spremenljivko, lahko kdorkoli "dopolni" email header z dodatnimi CC, BCC emaili.



Še večja luknja bi pa bila, če bi imel $ToEmail = $POST["toemail"];



A mam prav? :)


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se