Премини към съдържанието
Marko4123

Проблем с контактна форма ?

Препоръчан отговор


Здравейте ,

Използвам тази контактна форма

<?php

if (isset($_REQUEST['email']))

//if "email" is filled out, send email

  {

  //send email

  $email = $_REQUEST['email'] ;

  $subject = $_REQUEST['name'] ;

  $message = $_REQUEST['message'] ;

  mail("marko.uzunov@gmail.com", $subject,

  $message, "From:" . $email);

  echo "Thank you for using our mail form";

  }

  ?>

и имам следния проблем: Формата си работи , като изпратя съобщение ми изписва "Thank you for using our mail form" и то не презарежда цялата страница , а само дива , където се намира формата, което мен напълно ме удовлетворява. Проблемът идва от това , че когато изпратя съобщението и ми се появи надписа за успешно изпращане след като презаредя страницата си този надпис продължава да стои и при всяко презареждане ми изпраща отново съобщението ... Трябва да изляза от страницата , да я отворя на ново и тогава се маха надписът за успешно изпратено писмо. Как мога да оправя този проблем . Благодаря предварително !

Поздрави

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Опитай с $_POST[] ..на всички места , правиш проверка isset($_POST['email']) .. а на email .. name . subject ..пак с $_POST ги направи , и даже е добре да им сложиш един addslashes... Дано съм помогнал ! УСПЕХ !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Били ми показал какво точно имаш предвид , защото хич не съм наясно с php ? Благодаря предварително :)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Дори и да сложи проверка, ако при всяко презареждане се извършва повторно изпращане на формуляра, съобщението ще се изпраща отново и отново, защото на практика на сървъра ще бъдат получени същите данни и той ще извърши същите действия без да прави разлика дали си е кликнал на бутона изпрати или просто е презаредил.

В случая удобно решение е прехвърляне към друга страница или редактиране на header-a, за да се предотврати повторно изпращане при презареждане.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Еми вместо $_REQUEST[''] го замени на всякаде с $_POST['] .


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход


×

Информация

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