GRAYSTONE Posted November 25, 2004 Report Share Posted November 25, 2004 Уже второй день пытаюсь сделать форму обратной связи на сайт, а результат почти нулевой. Файл отправки сообщения работает. Мне нужно передать данные (переменные) из формы этому файлу, чтобы тот направил адресату. Может кто знает как? Quote Link to post Share on other sites
butch Posted November 25, 2004 Report Share Posted November 25, 2004 Переменные из формы хранятся в глобальных массивах $_POST или $_GET, в зависимости от того метод POST или GET использовался при отправке формы. Например, значение элемента формы с именем "myname", отправленного методом ПОСТ будет хранится в $_POST ["myname"]. Далее все необходимые переменные передаются в функцию отправки почтового сообщения, которая как я понимаю у Вас хранится в отдельном файле. Для этого этот самый файл должен быть подключен к скрипту, обрабатывающему данные из формы. Это делается с помощью функций include_once() или require_once(). Quote Link to post Share on other sites
GRAYSTONE Posted November 26, 2004 Author Report Share Posted November 26, 2004 Переменные из формы хранятся в глобальных массивах $_POST или $_GET, в зависимости от того метод POST или GET использовался при отправке формы. Например, значение элемента формы с именем "myname", отправленного методом ПОСТ будет хранится в $_POST ["myname"]. Далее все необходимые переменные передаются в функцию отправки почтового сообщения, которая как я понимаю у Вас хранится в отдельном файле. Для этого этот самый файл должен быть подключен к скрипту, обрабатывающему данные из формы. Это делается с помощью функций include_once() или require_once(). ← Огромное спасибо! Заработало!!!!! Quote Link to post Share on other sites
butch Posted November 26, 2004 Report Share Posted November 26, 2004 не за что. Если что обращайтесь Quote Link to post Share on other sites
GRAYSTONE Posted November 29, 2004 Author Report Share Posted November 29, 2004 (edited) Еще вопрос по формам в php. Я сделал pop-up окно при клике на submit на javascript. Но дело в том, что идет обращение к скрипту без передачи данных формы. Можно сделать так, чтобы передать данные из формы? Чует мое сердце, что придется рисовать форму на javascript Edited November 29, 2004 by GRAYSTONE Quote Link to post Share on other sites
APMEH Posted November 29, 2004 Report Share Posted November 29, 2004 Еще вопрос по формам в php. Я сделал pop-up окно при клике на submit на javascript. Но дело в том, что идет обращение к скрипту без передачи данных формы. Можно сделать так, чтобы передать данные из формы? Чует мое сердце, что придется рисовать форму на javascript ← передавай данные через GET т..е открывай окно например url: "mymegacoolwindow.php" а что бы туда передать какие-нить данные вот так: mymegacoolwindow.php?megauid=243835623986&action=add_post что бы получить эти данные в скрипте юзаем вот это: _GET["megauid"] _GET["add_post"] только лучше делать проверку перед использованием переменных... проверку на существование можно делать вот так: !empty(_GET["megauid"])?megauid=_GET["megauid"]:megauid=false; если эти переменные пойдут в базу, то надо делать дополнительные обработки строк... Quote Link to post Share on other sites
APMEH Posted November 29, 2004 Report Share Posted November 29, 2004 нидхелп? велкам2емайл Quote Link to post Share on other sites
GRAYSTONE Posted November 29, 2004 Author Report Share Posted November 29, 2004 передавай данные через 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. Я покопался в инете, но ничего путного не нашел... Quote Link to post Share on other sites
APMEH Posted November 29, 2004 Report Share Posted November 29, 2004 Неа... и 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. Я покопался в инете, но ничего путного не нашел... ← что мешает написать: win=window.open("[email protected]&myMegaMessage=hii!","child",'width=350,height=200,toolbar=0,location=0,status=1,scrollbars=0, resizable=no') Quote Link to post Share on other sites
GRAYSTONE Posted December 1, 2004 Author Report Share Posted December 1, 2004 To АРМЕН: Я пока не проверил на работоспособность. Забил на поп-ап и сделал без него хоть и менее красиво получилось У меня другой вопрос уже по HTML. Надеюсь, не сочтете за офф. Просто неохота новую тему создавать из-за одного вопроса Можно ли с помощью CSS задать определенный стиль ячеек для всей таблицы? То есть задать class в теге TABLE и не прописывать его в каждую ячейку. Quote Link to post Share on other sites
APMEH Posted December 2, 2004 Report Share Posted December 2, 2004 Можно ли с помощью CSS задать определенный стиль ячеек для всей таблицы? То есть задать class в теге TABLE и не прописывать его в каждую ячейку. .mega tr{ background-color:#0000CC; } Quote Link to post Share on other sites
GRAYSTONE Posted January 31, 2005 Author Report Share Posted January 31, 2005 При обращении к скрипту, выдается нижеследующее: Mailer Error: Language string failed to load: recipients_failed [email protected] В чем может быть проблема? Да, скрипт все тот же. Для передачи данных формы на почту. Quote Link to post Share on other sites
GRAYSTONE Posted January 31, 2005 Author Report Share Posted January 31, 2005 На всякий случай привожу текст скрипта. Возможно в нем есть ошибки. 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>"; } } Quote Link to post Share on other sites
GRAYSTONE Posted February 1, 2005 Author Report Share Posted February 1, 2005 (edited) Разобрался! В скрипте была ошибка Всем спасибо Edited February 1, 2005 by GRAYSTONE Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.