X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Изменить стандартную оправку сообщений…
resurs
resurs
Topic Starter сообщение 21.2.2012, 0:20; Ответить: resurs
Сообщение #1


Здравствуйте.

Я уже обращался по подобной теме в нескольких форумах. Меня или не поймут и уводят в дебри, или я не правильно излагаю и поэтому также уводят в дебри, что я уже запутался.
Попытаюсь последовательно изложить суть проблемы, так как сам не могу реализовать.
Есть стандартная форма которая находится в файле say.html.

<div class="block1">
<form name="order_form" action="send.php" method="post" name="f1" onSubmit="return pr(order_form)">
<p class="tx1">Введите имя:<br>
<input type="text" name="name" class="in1" onFocus="this.style.background='#efedfc'" onBlur="this.style.background='#ffffff'"></p>
<p class="tx1">Введите email:<br>
<input type="text" name="email" class="in1" onFocus="this.style.background='#efedfc'" onBlur="this.style.background='#ffffff'"></p>
<p class="tx1">Введите сообщение:<br>
<textarea name="message" rows="5" cols="35" class="ta1" onFocus="this.style.background='#edeafb'" onBlur="this.style.background='#ffffff'"></textarea>
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
<input class="bt1" type="submit" value="Отправить" onClick="return checkEmail(document.order_form.email.value)"></p>
</form>
</div>

Форма находится в теги div которому присвоен class="block1". Данному Block1 задан стиль в таблице стилей style.css, фоновый рисунок poshta.gif и координаты расположения.

[CSS] .block1 {
display: inline;
float: left; /* Обтекание по правому краю */
width: 515px; /* Ширина блока */
height: 315px; /* Высота блока */
background: url("poshta.gif"); /* Цвет фона */
padding-top: 75px; /* Внутренне верхнее поле */
padding-left: 20px; /* Отступ левый-внутри блока */
margin-right: 15px; /* Отступ справа */
margin-left: 90px; /* Отступ слева */
margin-bottom: 0px; /* Наружное нижние поле */
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
}
[/CSS]

В итоге при просмотре страницы, в браузере, форма и рисунок выглядят примерно так (см. рис).

[attachment=38584:poshta1.JPG]

Если есть форма должен быть и обработчик для отправки сообщения вот файл send.php

[PHP]<?php
if (isset($_POST['$name'])) {$name = $_POST['$name'];}
if (isset($_POST['$email'])) {$email = $_POST['$email'];}
if (isset($_POST['$message'])) {$message = $_POST['$message'];}

$address = 'resurs@thebat.net';
$sub = "Мастер класс";
$mes = "Автор назвался: $name \nУказал свой адрес: $email \nСодержание письма: $message";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
?>[/PHP]


Стандартная форма стандартный обработчик.
В чем тогда проблема?
Проблема в том что мне надоела стандартная отправка сообщений.
То есть после нажатия на кнопку «ОТПРАВИТЬ» открывается новая страница с текстом (в зависимости от того как принял сервер данное сообщение), условие обработчика выдает текст «Сообщение отправлено» или «Сообщение не отправлено».

Я хочу создать еще два рисунка gif с прозрачным фоном вставить их в накладку (задав им такой же стиль расположения как и block1). До отправке сообщения рисунки или блоки должны иметь свойство невидимых.
Я думаю что это примерно должно быть выглядеть так…

<div class="block1">
<form name="order_form" action="send.php" method="post" name="f1" onSubmit="return pr(order_form)">

</form>

<div class="block2" свойство невидимых>
<div class="block3" свойство невидимых>

</div>


Теперь что должно произойти. Заполняем поля нажимаем кнопку «ОТПРАВИТЬ»
Если по условию обработчика сервер принимает данное сообщение, то форма должна стать не видимой а <div class="block2"> должен стать видимым.
В моем понимание в условии обработчика должно быть что то вроде этого.

if ($verify == 'true')
{
<form невидимый>
<div class="block2" видимый>

}
else
{
<form невидимый>
<div class="block3" видимый>

}


На рисунке это будет выглядеть так:

[attachment=38582:es.jpg]

И наоборот если сообщение не отправлено

[attachment=38583:no.jpg]

Вот в принципе и все то что хочу сделать, но не могу реализовать.

Есть также скрипты которые вставлены в теге <bodi></bodi> которые контролируют правильность заполнение полей. Если они нужны могу предоставить.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Blink
Blink
сообщение 21.2.2012, 1:01; Ответить: Blink
Сообщение #2


и все это должно происходить без перезагрузки страницы.. вам в раздел javasscript и ajax в частности. Возможно вам поможет: http://ruseller.com/lessons.php?rub_id=37&id=422
если не понятно, пишите, попробую объяснить.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
resurs
resurs
Topic Starter сообщение 21.2.2012, 1:38; Ответить: resurs
Сообщение #3


(Blink @ 21.2.2012, 04:01) *
и все это должно происходить без перезагрузки страницы.. вам в раздел javasscript и ajax в частности. Возможно вам поможет: http://ruseller.com/lessons.php?rub_id=37&id=422
если не понятно, пишите, попробую объяснить.

Да… Там так наворочено. И с браузерами проблема, и с кодировкой, и с отправкой…
А просто через PHP реализовать нельзя, у меня таких наворотов нету?
Может объединить коды, и от этого отталкиваться…
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pdbq
pdbq
сообщение 21.2.2012, 13:21; Ответить: pdbq
Сообщение #4


Многие меня осудят но была не была..
Рабочий код(кстати у вас в коде были ошибки):
[PHP]<?php
session_start();
?>
<style>
.block1 {
display: inline;
float: left; /* Обтекание по правому краю */
width: 515px; /* Ширина блока */
height: 315px; /* Высота блока */
background: url("poshta1.jpg"); /* Цвет фона */
padding-top: 85px; /* Внутренне верхнее поле */
padding-left: 20px; /* Отступ левый-внутри блока */
margin-right: 15px; /* Отступ справа */
margin-left: 90px; /* Отступ слева */
margin-bottom: 0px; /* Наружное нижние поле */
-moz-box-sizing: border-box; /* Для Firefox */
-webkit-box-sizing: border-box; /* Для Safari и Chrome */
box-sizing: border-box; /* Для IE и Opera */
}
</style>
<?php
if($_SESSION['fuck']==0)
echo"
<div class='block1'>
<form method='post'>
<p class='tx1'>Введите имя:
<input type='text' name='name' class='in1' onFocus='this.style.background='#efedfc'' onBlur='this.style.background='#ffffff''></p>
<p class='tx1'>Введите email:
<input type='text' name='email' class='in1' onFocus='this.style.background='#efedfc'' onBlur='this.style.background='#ffffff''></p>
<p class='tx1'>Введите сообщение:
<textarea name='message' rows='5' cols='35' class='ta1' onFocus='this.style.background='#edeafb'' onBlur='this.style.background='#ffffff''></textarea>


<input class='bt1' type='submit' value='Отправить' name='knopka'></p>
</form>
</div>
";
else{
if ($_SESSION['verify'] == 'true'){
echo"<div class='block1' style='background: url(es.jpg);'></div>";

echo "Отправить сообщение еще раз.";
echo "<form method='post'><input type='submit' name='ok' value='Ok'></form>";
}
else{
echo"<div class='block1' style='background: url(no.jpg);'></div>";

echo "попробовать снова.";
echo "<form method='post'><input type='submit' name='ok' value='Ok'></form>";
}
}

if(isset($_POST['knopka'])){
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

if($name!='' and $email!='' and $message!=''){
$address = 'resurs@thebat.net';
$sub = "Мастер класс";
$mes = "Автор назвался: $name \nУказал свой адрес: $email \nСодержание письма: $message";
$_SESSION['verify'] = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
$_SESSION['fuck']=1;
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=test.php'></HEAD></HTML>";
}
else echo"<script>alert('Вы не ввели данные!');</SCRIPT>";
}

if(isset($_POST['ok'])){
$_SESSION['fuck']=0;
echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=test.php'></HEAD></HTML>";
}
?>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pdbq
pdbq
сообщение 21.2.2012, 13:28; Ответить: pdbq
Сообщение #5


теперь об ошибках: в форме используете JS хотя можно использовать PHP, что для вас было бы понятнее и намного проще. К примеру выше: [PHP]<input name='knopka'>[/PHP] - это кнопка. [PHP]if(isset($_POST['knopka'])){ }[/PHP] - это её обработчик.[PHP] $_POST['$name'][/PHP] так не правильно, правильно так [PHP] $_POST['name'][/PHP] и т.п
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
resurs
resurs
Topic Starter сообщение 21.2.2012, 13:34; Ответить: resurs
Сообщение #6


Приду вечером, буду разбираться, занят на работе. Потом сообщу.
Не понятно одно гуда его вставлять полностью в html или php?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Bugnet
Bugnet
сообщение 21.2.2012, 16:45; Ответить: Bugnet
Сообщение #7


Пока просто навскидку размышления:
если просто написать скрипт в jQuery, который меняет индексы z-index в стилях через метод css - при выполнении (невыполнении) условий. Этим можно добиться, что нужная картинка окажется поверх остальных.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
resurs
resurs
Topic Starter сообщение 21.2.2012, 17:25; Ответить: resurs
Сообщение #8


Пока просто навскидку размышления:

Понятно!

1. Меня уже настораживает данный код где обозначено красным, вроде об этом речи не было.
if ($_SESSION['verify'] == 'true'){
echo"<div class='block1' style='background: url(es.jpg);'></div>";

echo "Отправить сообщение еще раз.";
echo "<form method='post'><input type='submit' name='ok' value='Ok'></form>";
}
else{
echo"<div class='block1' style='background: url(no.jpg);'></div>";

echo "попробовать снова.";
echo "<form method='post'><input type='submit' name='ok' value='Ok'></form>";
}


2. Насчет JS не знаю…
( @ 21.2.2012, 03:20) *
Есть также скрипты которые вставлены в теге <bodi></bodi> которые контролируют правильность заполнение полей. Если они нужны могу предоставить.

Посмотрите пример сами определите, так как там есть скрипты, которые проверяют пустые поля, и правильность написание емайла.
3. И вообще как корректно вставить данный код и куда (что то надо удалять, что то добавлять) в уже готовый сайт?

Короче я пока плаваю…
Подготовлю тестовый пример в натуре.
Посмотрите как оно есть на самом деле, а как должно быть Вы примерно знаете…
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pdbq
pdbq
сообщение 22.2.2012, 8:28; Ответить: pdbq
Сообщение #9


ну а сейчас то в чем проблема? копируете код, тестируете в денвере. какие проблемы? все работает как вы хотели. если не нравится [PHP]echo "Отправить сообщение еще раз.";
echo "<form method='post'><input type='submit' name='ok' value='Ok'></form>";[/PHP] то удалите, просто хотелось довести до логического конца. Удачи
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tgarl
tgarl
сообщение 22.2.2012, 12:23; Ответить: tgarl
Сообщение #10


возможно я пропустил в тексте прошу прощения, но не увидел в теме задачи чтобы без перезагрузки страницы было или как-то еще. есть файл обработчик в котором есть код [PHP]echo "<p>Сообщение отправлено";[/PHP] так почему бы не заменить на [PHP]echo "<div class="block2" свойство невидимых></div>";[/PHP] и все дела, автору я так понимаю большего и не нужно
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыРассылка ваших сообщений в контакт формы!
3 dizaynmaks 1709 18.4.2022, 9:04
автор: dizaynmaks
Открытая тема (нет новых ответов) Как изменить цветовую гамму основного шаблона?
1 partua 8157 13.11.2021, 1:40
автор: Silverspam
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыРассылка ваших рекламных сообщений по ВКонтакте/Telegram/Instagram
36 SmmAdvert 6692 4.3.2021, 13:14
автор: monsterkill11
Горячая тема (нет новых ответов) SIMsms.org - Cервис по приему СМС сообщений на Российские номера, стран Европы, США
123 simsms 30780 9.11.2020, 8:50
автор: simsms
Открытая тема (нет новых ответов) 2 100 000 сообщений на maultalk.com
Форум - с праздником!
7 ARsHi 6448 20.5.2020, 13:44
автор: ARsHi


 



RSS Текстовая версия Сейчас: 25.4.2024, 1:57
Дизайн