помощ за форма за запитване |
|
|
|
|
Публикувано на: 26.12.2011 10:42 |
|
|
Чирак
Мнения: (4)
|
Привет на всички!
Ще съм благодарна ако някой може да ми помогне. Намерих по-долната форма за контакт в "първи сайт"и тя си работи след съответната промяна. Обаче искам да добавя няколко допълнителни полета - поле 1, поле2. В тях потребителя ще въвежда само текст.
Какво трябва да добавя и променя в формата. Направих някакъв импровизиран опит, но не ми се получи.
Благодаря предварително.
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
| <?php header('Content-type: text/html; charset=utf-8');
?>
<style type="text/css">
.label{
text-align:right;
}
text-align:center;
}
background-color:yellow;
}
</style>
<?php
$to='вашият мейл адрес';//попълнете с вашия мейл адрес, напр. az@example.comЕ-мейл адресът e защитен от спам ботове.
$tema_pismo='Форма за обратна връзка: www.parvisait.com';
//това е съобщението, което ще се изписва в полето "относно" в писмата от формата за обратна връзка.
$potvyrzhdenie_tema='Потвърждение за изпратено писмо';
//това е съобщението, което ще се съдържа в полето "относно" на писмото-потвърждение, изпращано на потребителя.
$potvyrzhdenie_syobshtenie="Вашето писмо от формата за обратна връзка на www.parvisait.com беше изпратено успешно. Изпращаме ви копие от съобщението:";
//текста на писмото-потвърждение, което автоматично се изпраща на потребителя.
$blagodarya='<h2>Благодаря за проявеното внимание!</h2> <p>Съобщението Ви беше изпратено успешно и на Вашия мейл адрес бе изпратено копие от него:</p>';
//текст на съобщението, което се извежда при успешно изпращане на съобщение от формата
$problem='<h2>Имаше проблем с изпращането на съобщението Ви!</h2> <p>Проблемът най-вероятно се дължи на грешка от страна на сървъра. <br/> Молим за извинение за причиненото неудобство. <br/> Ако Ви е удобно, моля изпратете отново съобщението си.</p>';
//съобщение за грешка ако писмото не бъде изпратено поради грешка на сървъра.
$spam_no_more='<h2>Съобщението Ви съдържа непозволени символи! </h2> <p>Поради опасност от спам-атака, съобщението <strong>НЕ</strong> бе изпратено!</p>';
//в случай, че някой се опита да използва формата за спам операции, ще бъде предупреден, че е сложена защита.
$popylni='Моля, попълнете валиден мейл адрес и име.';
//ако потребителят пропусне да попълни адреса или текста на посланието си, ще бъде върнат обратно към формата.
$email='';
$body='';
$displayForm=true;
if ($_POST){
$email=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$body=stripslashes($_POST['body']);
// валидиране на e-mail адреса
$valid=eregi('^([0-9a-z]+[-._+&])*[0-9a-z]+@([-0-9a-z]+[.])+[a-z]{2,6}$',$email);
$spam=eregi("(r|n)(to:|from:|cc:|bcc:)",$body);
$headers = "MIME-Version: 1.0" . "rn";
$headers.= "Content-type: text/html; charset=utf-8"."rn";
$headers_potvyrzhdenie=$headers."From:$to"."rn";
$headers.="From:$email"."rn";
if ($email && $body && $valid && !$spam){
if (mail($to,$tema_pismo,$body,$headers) && mail($email,$potvyrzhdenie_tema,$potvyrzhdenie_syobshtenie.$body,$headers_potvyrzhdenie))
{
$displayForm=false;
echo '<p>'.$blagodarya.'</p>';
echo '<p>'.htmlspecialchars($body).'</p>';
}else
{ // съобщението не бе изпратено поради грешка на сървъра
echo $problem;
}
}else if ($spam){ // спам опит
echo $spam_no_more;
}else{ // съобщение за непопълнени полета
echo'<p><strong>'.$popylni.'</strong></p>';
}
}
if ($displayForm){
?>
<form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
<table border="0">
<tr>
<td class="label"><label for="email">Вашият мейл адрес:</label></td>
<td>
<input type="text" name="email" id="email" value="<?php echo htmlspecialchars($email); ?>" size="30"> (мейл с копие от съобщението Ви ще бъде изпратен на този адрес) </td>
</tr>
<tr>
<td class="label"><label for="body">Вашето съобщение:</label></td>
<td><textarea name="body" id="body" cols="60" rows="7">
<?php echo htmlspecialchars($body); ?> |
|
| |
---------------------------
Потребител в Mytech.bg от: 26.12.11
|
|
|
|
|
|
|
Публикувано на: 26.12.2011 11:12 |
|
|
|
|
Здравей!
Не съм сигурен какво точно искаш да правиш с допълнителните полета, но ти направих нещо примерно спрямо кодът, който си изпратила.
CODE1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
| <?php
header('Content-type: text/html; charset=utf-8');
?>
<style type="text/css">
.label{text-align:right;}
</style>
<?php
//попълнете с вашия мейл адрес, напр. az@example.comЕ-мейл адресът e защитен от спам ботове.
$to='вашият мейл адрес';
//това е съобщението, което ще се изписва в полето "относно" в писмата от формата за обратна връзка.
$tema_pismo='Форма за обратна връзка: www.parvisait.com';
//това е съобщението, което ще се съдържа в полето "относно" на писмото-потвърждение, изпращано на потребителя.
$potvyrzhdenie_tema='Потвърждение за изпратено писмо';
//текста на писмото-потвърждение, което автоматично се изпраща на потребителя.
$potvyrzhdenie_syobshtenie="Вашето писмо от формата за обратна връзка на www.parvisait.com беше изпратено успешно. Изпращаме ви копие от съобщението:";
//текст на съобщението, което се извежда при успешно изпращане на съобщение от формата
$blagodarya='<h2>Благодаря за проявеното внимание!</h2> <p>Съобщението Ви беше изпратено успешно и на Вашия мейл адрес бе изпратено копие от него:</p>';
//съобщение за грешка ако писмото не бъде изпратено поради грешка на сървъра.
$problem='<h2>Имаше проблем с изпращането на съобщението Ви!</h2> <p>Проблемът най-вероятно се дължи на грешка от страна на сървъра. <br/> Молим за извинение за причиненото неудобство. <br/> Ако Ви е удобно, моля изпратете отново съобщението си.</p>';
//в случай, че някой се опита да използва формата за спам операции, ще бъде предупреден, че е сложена защита.
$spam_no_more='<h2>Съобщението Ви съдържа непозволени символи! </h2> <p>Поради опасност от спам-атака, съобщението <strong>НЕ</strong> бе изпратено!</p>';
//ако потребителят пропусне да попълни адреса или текста на посланието си, ще бъде върнат обратно към формата.
$popylni='Моля, попълнете валиден мейл адрес и име.';
$email="";
$body="";
$displayForm=true;
if ($_POST)
{
$email=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$body=stripslashes($_POST['body']);
$customfield1=stripslashes($_POST['customfield1']);
$customfield2=stripslashes($_POST['customfield2']);
// валидиране на e-mail адреса
$valid=eregi('^([0-9a-z]+[-._+&])*[0-9a-z]+@([-0-9a-z]+[.])+[a-z]{2,6}$',$email);
$spam=eregi("(\r|\n)(to:|from:|cc:|bcc:)",$body);
$headers = "MIME-Version: 1.0" . "\r\n";
$headers.= "Content-type: text/html; charset=utf-8"."\r\n";
$headers_potvyrzhdenie=$headers."From:$to"."\r\n";
$headers_potvyrzhdenie.="To:$email"."\r\n";
$headers.="From:$email"."\r\n";
$headers.="To:$to"."\r\n";
if ($email && $body && $valid && !$spam)
{
if (mail($to,$tema_pismo,$body,$headers) && mail($email,$potvyrzhdenie_tema,$potvyrzhdenie_syobshtenie.$body,$headers_potvyrzhdenie))
{
$displayForm=false;
echo '<p>'.$blagodarya.'</p>';
echo '<p>'.htmlspecialchars($body).'</p>';
}else {
// съобщението не бе изпратено поради грешка на сървъра
echo $problem;
}
} else if ($spam)
// спам опит
echo $spam_no_more;
else
// съобщение за непопълнени полета
echo'<p><strong>'.$popylni.'</strong></p>';
}
if ($displayForm)
{
?>
<form action="" method="post">
<table border="0">
<tr>
<td class="label"><label for="email">Вашият мейл адрес:</label></td>
<td>
<input type="text" name="email" id="email" value="<?=htmlspecialchars($email)?>" size="30">
(мейл с копие от съобщението Ви ще бъде изпратен на този адрес)
</td>
</tr>
<tr>
<td><label for="customfield1">Допълнително поле 1</label></td>
<td><textarea name="customfield1" id="customfield1" cols="60" rows="7"><?=htmlspecialchars($customfield1)?></textarea></td>
</tr>
<tr>
<td><label for="customfield2">Допълнително поле 2</label></td>
<td><textarea name="customfield2" id="customfield2" cols="60" rows="7"><?=htmlspecialchars($customfield2)?></textarea></td>
</tr>
<tr>
<td class="label"><label for="body">Вашето съобщение:</label></td>
<td><textarea name="body" id="body" cols="60" rows="7"><?=htmlspecialchars($body)?> |
Ако искаш съдържанието на двете полета да бъде вмъкнато в писмото просто го вмъкваш в $body.
Поздрави!
|
| |
---------------------------
Потребител в Mytech.bg от: 11.05.09
http://www.webxmedia.eu
|
|
|
|
|
Публикувано на: 26.12.2011 12:36 |
|
|
Чирак
Мнения: (4)
|
Направих промените, обаче после на имейла ми идва съобщението само от последното боди поле. А идеята е в тези полета потребителя да въвежда различна информация, като вид, обем и т.н. Нещо като форма за запитване.
|
| |
---------------------------
Потребител в Mytech.bg от: 26.12.11
|
|
|
|
|
Публикувано на: 26.12.2011 12:43 |
|
|
|
|
Да затова ти написах да вмъкнеш полетата в "body". Ето пример за това какво трябва да промениш:
CODE1
2
3
4
5
| $email=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$body=stripslashes($_POST['body']);
$customfield1=stripslashes($_POST['customfield1']);
$customfield2=stripslashes($_POST['customfield2']);
$body.=$customfield1.$customfield2; |
|
| |
---------------------------
Потребител в Mytech.bg от: 11.05.09
http://www.webxmedia.eu
|
|
|
|
|
Публикувано на: 26.12.2011 13:11 |
|
|
Чирак
Мнения: (4)
|
Да, получи се. Благодаря.
Инфото в имейла идва слято от двете полета. Напр. ако в първото съм написала 1, а във второто 2 - те пристигат слято - 12.
Има ли начин в писмото да придобие по-разбран вид. Ето така
Поле 1: тук да е съдържанието дошло от поле 1
нов ред
Поле 2: тук да е съдържанието дошло от поле 2
|
| |
---------------------------
Потребител в Mytech.bg от: 26.12.11
|
|
|
|
|
Публикувано на: 26.12.2011 13:15 |
|
|
|
|
Ето кода:
CODE1
2
3
4
5
| $email=filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
$body=stripslashes($_POST['body']);
$customfield1=stripslashes($_POST['customfield1']);
$customfield2=stripslashes($_POST['customfield2']);
$body.=$customfield1."<br><br>".$customfield2; |
|
| |
---------------------------
Потребител в Mytech.bg от: 11.05.09
http://www.webxmedia.eu
|
|
|
|
|
Публикувано на: 26.12.2011 13:26 |
|
|
Чирак
Мнения: (4)
|
Много благодаря. Златен си. Този казус много ме тревожеше.
|
| |
---------------------------
Потребител в Mytech.bg от: 26.12.11
|
|
|