AxuHopa Posted January 24, 2010 Share Posted January 24, 2010 Здравейте, Не знам дали темата е на подходящото място, но ако не е моля Модераторите да я приместят където е необходимо. Имам малко нужда от Вашата компетентна помощ. Правя си едно сайтче, на което ми се иска да сложа бърза и проста форма за контакти, без много излишни полета, само заглавие, поле за обратен е-меил или телефон и поле за въпрос. Намерих един скрипт, естествено добавих го, но проблема е, че след натискане на бутона " Изпрати коментар" браузера ми дава грешка и не ми изпраща смс- то . Та въпроса ми е ако може да някой да ми обясни какво греша и евентувално да ми покаже грешката .... това е скрипта: <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 More sharing options...
iVAAN Posted January 24, 2010 Share Posted January 24, 2010 Hit.bg не поддържа php, така, че няма този скрипт как да ти тръгне Link to comment Share on other sites More sharing options...
AxuHopa Posted January 24, 2010 Author Share Posted January 24, 2010 Страхотно, а има ли друг безплатен хост с FTP клиент, да поддържа PHP и е-меил. И само още един въпрос... А дали е правилно написан скрипта? Много живо ме интересува последния въпрос. Благодаря за бързия отговор. Link to comment Share on other sites More sharing options...
The AnGeL Posted January 24, 2010 Share Posted January 24, 2010 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 More sharing options...
Engineer Rangelov Posted February 23, 2010 Share Posted February 23, 2010 Не дъм специалист по WEB дизайн, но мисля че това работи. Link to comment Share on other sites More sharing options...
AxuHopa Posted March 8, 2010 Author Share Posted March 8, 2010 Не дъм специалист по WEB дизайн, но мисля че това работи. Благодарско на всички... ще дерзая Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.