Jump to content
BulForum.com

Форма за контакти в HTML


AxuHopa

Recommended Posts

Здравейте,

Не знам дали темата е на подходящото място, но ако не е моля Модераторите да я приместят където е необходимо.

 

Имам малко нужда от Вашата компетентна помощ. Правя си едно сайтче, на което ми се иска да сложа бърза и проста форма за контакти, без много излишни полета, само заглавие, поле за обратен е-меил или телефон и поле за въпрос. Намерих един скрипт, естествено добавих го, но проблема е, че след натискане на бутона " Изпрати коментар" браузера ми дава грешка и не ми изпраща смс- то .

 

Та въпроса ми е ако може да някой да ми обясни какво греша и евентувално да ми покаже грешката ....

 

това е скрипта:

          <html>
<head>
<title>Форма за обратна връзка</title>
<body>

<form action="contactscript.php" method="POST">

Email:<br />
<input type="text" name="email" /><br />

Коментар:<br />
<textarea name="komentar" cols="30" rows="5">
</textarea><br />

<input type="submit" value="Изпрати коментара" />

</form>

</body>
</html>
<?php

$email = $_POST["email"];
$message = $_POST["komentar"];

mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email");

?>

          </blockquote>
         </div></div></div></div>
</div></body><?php

$email = $_POST["email"];
$message = $_POST["komentar"];

mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email");

?>

 <p></p>

 

 

 

Ето ТУК е сайтчето и грешката която ми дава.

 

Благодаря предварително за отделеното време.

Link to comment
Share on other sites

Страхотно, а има ли друг безплатен хост с FTP клиент, да поддържа PHP и е-меил.

 

И само още един въпрос... А дали е правилно написан скрипта?

 

Много живо ме интересува последния въпрос. Благодаря за бързия отговор.

Link to comment
Share on other sites

PHP скритпа, ако се разглежда отделно, е правилен, НО...

 

такива скриптове се слагат задължително в .php файлове, не в .html.

 

Като начало, ако искаш скрипта и формата да са на 1 файл, трябва да дадеш на формата следните параметри:

 

<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">

за PHP5

 

или

 

<form action="<? echo $PHP_SELF; ?>" method="post">

за по-старите версии.

 

Въпреки това, като гледам как е устроен сайтът, най-добре да се изтегли скрипта "навън". Формата нека си седи в .html страницата. Създаваш си един файл contactscript.php, а във самата форма си го оставяш както е сега

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

 

Във contactscript.php вкарваш следното:

 

<?php

$email = $_POST["email"];
$message = $_POST["komentar"];

mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email");


?>

 

Това на практика си е скрипта, който си дал. Проблемът тук е, че като се натисне "Изпрати", остава една бяла страница.

 

Хубаво е да се знае дали всичко е завършило успешно. Затова може да пробваш да промениш кода така:

 

<?php

$email = $_POST["email"];
$message = $_POST["komentar"];

if(mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email")) {


     echo("<p>Съобщението е получено</p>");
} else {
     echo("<p>Съобщението не бе получено поради грешка...</p>");
}


?>

 

Това обаче остава бяла страница с 1 ред текст. Няма да те карам да учиш php, но ако искаш да поокрасиш малко това съобщение, погледни на 1-2 места как става. За сега трябва само да се върнем обратно към формата. Това може да стане по 2 начина.

 

1) чрез линк

 

<?php

$email = $_POST["email"];
$message = $_POST["komentar"];

if(mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email")) {


     echo("<p>Съобщението е получено</p>");
} else {
     echo("<p>Съобщението не бе получено поради грешка...</p>");
}


echo("<a href=\"ПЪТ-ДО-ФОРМАТА\"> върни се обратно към страницата </a>");

?>

 

2. Чрез автоматично пренасочване.


<html>

<head>


<meta http-equiv="refresh" content="2; url=ПЪТ-ДО-ФОРМАТА">

</head>

<body>

<?php

 
$email = $_POST["email"];
$message = $_POST["komentar"];

if(mail("k1gr@abv.bg", "Съобщение от формата за контакти", $message, "From: $email")) {


     echo("<p>Съобщението е получено</p>");
} else {
     echo("<p>Съобщението не бе получено поради грешка...</p>");
}


?>

</body>

</html>

 

 

 

 

 

 

Трябва да си видиш и кода около формата, защото е яко оплескан, има head тагове в body-то (също така и други body тагове вътре). Успех ;)

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...