Jump to content

Помогите с php!!


Recommended Posts

Уже второй день пытаюсь сделать форму обратной связи на сайт, а результат почти нулевой.:/

Файл отправки сообщения работает. Мне нужно передать данные (переменные) из формы этому файлу, чтобы тот направил адресату.

Может кто знает как? :huh:

Link to post
Share on other sites

Переменные из формы хранятся в глобальных массивах $_POST или $_GET, в зависимости от того метод POST или GET использовался при отправке формы.

Например, значение элемента формы с именем "myname", отправленного методом ПОСТ будет хранится в $_POST ["myname"].

Далее все необходимые переменные передаются в функцию отправки почтового сообщения, которая как я понимаю у Вас хранится в отдельном файле.

Для этого этот самый файл должен быть подключен к скрипту, обрабатывающему данные из формы. Это делается с помощью функций include_once() или require_once().

Link to post
Share on other sites
Переменные из формы хранятся в глобальных массивах $_POST или $_GET, в зависимости от того метод POST или GET использовался при отправке формы.

Например, значение элемента формы с именем "myname", отправленного методом ПОСТ будет  хранится в $_POST ["myname"].

Далее все необходимые переменные передаются в функцию отправки почтового сообщения, которая как я понимаю у Вас хранится в отдельном файле.

Для этого этот самый файл должен быть подключен к скрипту, обрабатывающему данные из формы. Это делается с помощью функций include_once() или require_once().

Огромное спасибо!

Заработало!!!!! :wow:

Link to post
Share on other sites

Еще вопрос по формам в php.

Я сделал pop-up окно при клике на submit на javascript. Но дело в том, что идет обращение к скрипту без передачи данных формы.

Можно сделать так, чтобы передать данные из формы?

Чует мое сердце, что придется рисовать форму на javascript :hm:

Edited by GRAYSTONE
Link to post
Share on other sites
Еще вопрос по формам в php.

Я сделал pop-up окно при клике на submit на javascript. Но дело в том, что идет обращение к скрипту без передачи данных формы.

Можно сделать так, чтобы передать данные из формы?

Чует мое сердце, что придется рисовать форму на javascript :hm:

передавай данные через GET

т..е открывай окно например url: "mymegacoolwindow.php"

а что бы туда передать какие-нить данные вот так:

mymegacoolwindow.php?megauid=243835623986&action=add_post

что бы получить эти данные в скрипте юзаем вот это:

_GET["megauid"]

_GET["add_post"]

только лучше делать проверку перед использованием переменных...

проверку на существование можно делать вот так:

!empty(_GET["megauid"])?megauid=_GET["megauid"]:megauid=false;

если эти переменные пойдут в базу, то надо делать дополнительные обработки строк...

Link to post
Share on other sites
передавай данные через GET

т..е открывай окно например url: "mymegacoolwindow.php"

а что бы туда передать какие-нить данные вот так:

mymegacoolwindow.php?megauid=243835623986&action=add_post

что бы получить эти данные в скрипте юзаем вот это:

_GET["megauid"]

_GET["add_post"]

только лучше делать проверку перед использованием переменных...

проверку на существование можно делать вот так:

!empty(_GET["megauid"])?megauid=_GET["megauid"]:megauid=false;

если эти переменные пойдут в базу, то надо делать дополнительные обработки строк...

Неа... и GETом тоже не пойдет.

При нажатии на Submit выполняется вот эта функция.

<script type="text/javascript">

<!--

function myPopup() {

win=window.open("mail.php","child",'width=350,height=200,toolbar=0,location=0,status=1,scrollbars=0, resizable=no')

win.focus();

}

//-->

</script>

А она просто обращается к файлу mail.php без передачи данных, каким бы методом они не передавались.

Мне кажется, что единственный выход это прописать "правильную" функцию для выполнения при onClick или onSubmit. :hm:

Я покопался в инете, но ничего путного не нашел...

Link to post
Share on other sites
Неа... и GETом тоже не пойдет.

При нажатии на Submit выполняется вот эта функция.

<script type="text/javascript">

<!-- 

function myPopup() {

    win=window.open("mail.php","child",'width=350,height=200,toolbar=0,location=0,status=1,scrollbars=0, resizable=no')

    win.focus();

    }

    //-->

</script>

А она просто обращается к файлу mail.php без передачи данных, каким бы методом они не передавались.

Мне кажется, что единственный выход это прописать "правильную" функцию для выполнения при onClick или onSubmit.  :hm:

Я покопался в инете, но ничего путного не нашел...

что мешает написать:

win=window.open("[email protected]&myMegaMessage=hii!","child",'width=350,height=200,toolbar=0,location=0,status=1,scrollbars=0, resizable=no')

Link to post
Share on other sites

To АРМЕН:

Я пока не проверил на работоспособность. Забил на поп-ап и сделал без него хоть и менее красиво получилось :)

У меня другой вопрос уже по HTML. Надеюсь, не сочтете за офф. Просто неохота новую тему создавать из-за одного вопроса :)

Можно ли с помощью CSS задать определенный стиль ячеек для всей таблицы? То есть задать class в теге TABLE и не прописывать его в каждую ячейку.

Link to post
Share on other sites
Можно ли с помощью CSS задать определенный стиль ячеек для всей таблицы? То есть задать class в теге TABLE и не прописывать его в каждую ячейку.

.mega tr{

background-color:#0000CC;

}

Link to post
Share on other sites
  • 1 month later...

При обращении к скрипту, выдается нижеследующее:

Mailer Error: Language string failed to load: recipients_failed [email protected]

В чем может быть проблема?

Да, скрипт все тот же. Для передачи данных формы на почту.

Link to post
Share on other sites

На всякий случай привожу текст скрипта. Возможно в нем есть ошибки.

require("class.phpmailer.php");

$fio=$_POST["fio"];

$tel=$_POST["tel"];

$adress=$_POST["adress"];

$email=$_POST["email"];

$order=$_POST["order"];

if ($fio ==""){

$name_err = "<font color=\"red\" class=\"text\">Вы не заполнили поле <b>ФИО</b>!</font><br>";

$send = "no";

}

if ($tel ==""){

$tel_err = "<font color=\"red\" class=\"text\">Вы не заполнили поле <b>Телефон</b>!</font><br>";

$send = "no";

}

if ($adress =="") {

$adress_err ="<font color=\"red\" class=\"text\">Вы не заполнили поле <b>Адрес желаемого подключения</b>!</font><br>";

$send = "no";

}

if ($send == "no") {

echo "<center>";

echo "$name_err";

echo "$tel_err";

echo "$adress_err1";

echo "<a href=\"index.php?main=order\">Вернитесь назад и повторите попытку</a><br>";

echo "</center>";

}

if ($send != "no") {

$msg= "Заявка с сайта\n";

$msg .= "ФИО:\n\t\t$fio\n";

$msg .= "Телефон:\n\t\t$tel\n";

$msg .= "Адрес:\n\t\t$adress\n";

$msg .= "E-mail:\n\t\t$email\n";

$msg .= "Заявка: \n$order\n\n\n";

$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP

$mail->Host = "smtp.pupkin.ru"; // specify main and backup server

$mail->SMTPAuth = false; // turn on SMTP authentication

$mail->Headers = "Content-type: text/html; charset=windows-koi8-r\r\n";

$mail->From = "Заявка";

$mail->FromName = "";

$mail->AddAddress("[email protected]");

//$mail->WordWrap = 50; // set word wrap to 50 characters

$mail->IsHTML(true); // set email format to HTML

$mail->Subject = "Заявка с сайта";

$mail->Body = "$msg";

$mail->AltBody = "$msg";

if (!$mail->Send())

{

echo "По техническим причинам Ваше заявка не может быть отправлена";

echo "Mailer Error: " . $mail->ErrorInfo;

exit;

}

else{

echo "<center><p class=\"text\">Уважаемый(ая) $fio, ваше сообщение было успешно отправленно.<br></p><br>";

echo "<a href=\"index.php?main=order\">Hазад</a><br></center>";

}

}

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...