Sign in to follow this  
Followers 0
GRAYSTONE

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

14 posts in this topic

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by GRAYSTONE

Share this post


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;

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

Share this post


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:

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

Share this post


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')

Share this post


Link to post
Share on other sites

To АРМЕН:

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

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

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

Share this post


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

.mega tr{

background-color:#0000CC;

}

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


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>";

}

}

Share this post


Link to post
Share on other sites

Разобрался! :)

В скрипте была ошибка

Всем спасибо :cool:

Edited by GRAYSTONE

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0