Идея такая - чтобы особо не заморачиваться и не связывать эти формы - решил просто связать их по IP адресу пользователя, но не пойму, как отправить $ip на почту. Надеюсь, вы мне поможете. Отблагодарю $ на телефон
Вот код, который отправляет все на почту:
<?php
$info = sprintf("
Телефон: %s", $_POST['phone']);
$to = "@mail.ru"; //почта
$title = sprintf("Часть1; Тел — %s",$_POST['phone']); // вот тут, в титл, нужно подставить еще и IP адрес.
mail($to,$title,$info);
header("Location: step2.html"); // рекдирект на вторую форму
?>
Заранее всем спасибо за помощь.
Спустя 6 минут, 11 секунд (29.06.2010 - 13:25) tomash написал(а):
psynick
Генерируйте для каждого пользователя uid, на форуме уже обсуждалась генерация уникальных id.
Можно создать подпись для первой части и отдавать во вторую! Например с помощью md5! Способов много, по IP не самый надежный
Генерируйте для каждого пользователя uid, на форуме уже обсуждалась генерация уникальных id.
Можно создать подпись для первой части и отдавать во вторую! Например с помощью md5! Способов много, по IP не самый надежный
Спустя 28 минут, 2 секунды (29.06.2010 - 13:53) psynick написал(а):
Я не понимаю, как связать эти заявки - да и не хочу их связывать.
Пробовал сделать через uniqid - сгенерированный код первой заявки отличается от кода второй заявки (что, кстати, логично).
Пробовал сделать через uniqid - сгенерированный код первой заявки отличается от кода второй заявки (что, кстати, логично).
$title = sprintf("%s Часть1;", uniqid());
$title = sprintf("%s Часть2;", uniqid());
Спустя 6 минут, 19 секунд (29.06.2010 - 13:59) tomash написал(а):
psynick
Цитата (psynick @ 29.06.2010 - 10:53) |
Пробовал сделать через uniqid - сгенерированный код первой заявки отличается от кода второй заявки (что, кстати, логично). |
Логично)))
$sig = uniqid()
header("Location: step2.html?sig=".$sig)
Соответсвенно во второй заявке
$sig=$_GET['sig']
uniqid() я использовал для примера)) можно что-то понадежней, например добавить $_POST['phone']
$sig = md5(uniqid().$_POST['phone']);
Потом сравнить подписи и все)
Спустя 1 час, 25 минут, 46 секунд (29.06.2010 - 15:25) psynick написал(а):
Не понял самой идеи...
Получили уникальный номер, подставили его в адресс второй заявки.
Получили уникальный номер из первой заявки, правильно понимаю?
А как теперь подставить его в титл первой и второй заявки?
$sig = uniqid()
header("Location: step2.html?sig=".$sig)
Получили уникальный номер, подставили его в адресс второй заявки.
$sig=$_GET['sig']
Получили уникальный номер из первой заявки, правильно понимаю?
А как теперь подставить его в титл первой и второй заявки?
Спустя 8 минут, 23 секунды (29.06.2010 - 15:33) psynick написал(а):
Делал вот так:
//1я часть
<?php
$info = sprintf("
Телефон: %s ",$_POST['phone']);
$sig = uniqid();
$to = "@gmail.com";
$title = sprintf("Часть1;".$sig);
mail($to,$title,$info);
header("Location: step2.html?sig=".$sig);
?>
// часть2
<?php
$info = sprintf(
"
e-mail: %s" ,$_POST['mail']);
$sig=$_GET['sig'];
$to = "@gmail.com";
$title = sprintf("Часть2;".$sig);
mail($to,$title,$info);
header("Location: final.php");
?>
Спустя 5 минут, 59 секунд (29.06.2010 - 15:39) tomash написал(а):
psynick
//часть1
<?php
$info = sprintf("
Телефон: %s ",$_POST['phone']);
$sig = uniqid();
$to = "@gmail.com";
$title = "Часть1".$sig
mail($to,$title,$info);
header("Location: step2.html?sig=".$sig);
?>
//часть2
<?php
$info = sprintf(
"
e-mail: %s" ,$_POST['mail']);
$sig=$_GET['sig'];
$to = "@gmail.com";
$title = "Часть2".$sig
mail($to,$title,$info);
header("Location: final.php");
?>
Спустя 6 минут, 43 секунды (29.06.2010 - 15:46) psynick написал(а):
tomash
Без изменений, как и в моем варианте - Часть1 приходит с уникальным номером, Часть2 - без.
Пример:
Часть1-4c29ea72216dd
Часть2-
Без изменений, как и в моем варианте - Часть1 приходит с уникальным номером, Часть2 - без.
Пример:
Часть1-4c29ea72216dd
Часть2-
Спустя 5 минут, 8 секунд (29.06.2010 - 15:51) tomash написал(а):
Йоханый бабай! )))) слона то и не увидел)) Вы же не передаете во второй файл php, а в html)
А Вам sig нужно во второй скрипт передать)
header("Location: step2.html?sig=".$sig);
А Вам sig нужно во второй скрипт передать)
Спустя 3 минуты, 19 секунд (29.06.2010 - 15:55) psynick написал(а):
Кажется я понял, сейчас проверю. Действительно, страницы то на html
Спустя 5 минут, 47 секунд (29.06.2010 - 16:00) psynick написал(а):
Идею понял, но реализовать не получилось, а именно отправить sig во второй скрипт.
Первый скрипт называется send.php
Второй - send2.php
Они, соответственно, подключаются к html страницам (ну все как обычно).
Первый скрипт называется send.php
Второй - send2.php
Они, соответственно, подключаются к html страницам (ну все как обычно).
Спустя 27 минут, 30 секунд (29.06.2010 - 16:28) tomash написал(а):
Можете sig из первого файла спрятать в какой-то hidden в step2.html, а потом в передать в ПХП
Спустя 5 минут, 5 секунд (29.06.2010 - 16:33) psynick написал(а):
А можно примерчик, а то я плохо представляю, как это сделать.
Спустя 4 минуты, 24 секунды (29.06.2010 - 16:37) tomash написал(а):
psynick
А как у Вас формируется html? Шаблонизатор или php или руками?
А как у Вас формируется html? Шаблонизатор или php или руками?
Спустя 3 минуты, 2 секунды (29.06.2010 - 16:40) psynick написал(а):
Я понимаю саму суть. Нужно создать Hidden поле, отправить в это поле значение sig и потом со второй формы, как, скажем, телефон, отправить это значение sig уже на почту. Но програмно я не знаю, как это реализовать
Спустя 1 минута, 15 секунд (29.06.2010 - 16:42) psynick написал(а):
Руками сделана html страница.
<form action="send.php" method="post" onsubmit="return checkform(this);">
Спустя 4 минуты (29.06.2010 - 16:46) tomash написал(а):
можно так
<input type = "hidden" value = "<?php echo $_GET['sig'];?>">
Спустя 16 минут, 26 секунд (29.06.2010 - 17:02) psynick написал(а):
Делаю так:
(изменил html формат на php)
в странице step2.php добавил строчку:
В первом скрипте (send.php)
Во втором:
Не работает
(изменил html формат на php)
в странице step2.php добавил строчку:
<input type = "hidden" id="sig" name="sig" value = "<?php echo $_GET['sig'];?>">
В первом скрипте (send.php)
<?php
$info = sprintf("
Телефон: %s ",$_POST['phone']);
$sig = uniqid();
$to = "@gmail.com";
$title = "Часть1".$sig
mail($to,$title,$info);
header("Location: step2.php?sig=".$sig);
?>
Во втором:
$title = sprintf("Часть2; %s",$_POST['sig']);
Не работает
Спустя 13 минут, 30 секунд (29.06.2010 - 17:16) psynick написал(а):
Хотя если на странице step2.php открыть исходный код (после перехода на нее с step1.html) - мы увидим:
<input type = "hidden" id="sig" value = "4c29ff838a393">
Спустя 2 минуты (29.06.2010 - 17:18) psynick написал(а):
header("Location: step2.php?sig=".$sig);
уже не нужна, достаточно
header("Location: step2.php);
верно?
Туплю, конечно, нужна.
Спустя 7 минут, 28 секунд (29.06.2010 - 17:25) tomash написал(а):
Блин! Я что то туплю сегодня))) Я с html редко работаю))) Нужно step2.html переименовать в step2.php. Или формы которые заполняються добавить в php файлы.
step1.php
<form>
// наша форма
</form>
<?php
if (isset($_POST['то что нам нужно']))
{
// выполняем логику
header("Location: step2.php?sig=".$sig);
}
?>
step2.php
<form>
// наша следующая форма
<input type = "hidden" id="sig" name="sig" value = "<?php echo $_GET['sig'];?>">
</form>
<?php
if (isset($_POST['то что нам нужно']))
{
// выполняем логику
header("Location: final.php);
}
?>
Спустя 1 минута, 51 секунда (29.06.2010 - 17:27) tomash написал(а):
id="sig"????? name = "sig"
Спустя 5 минут, 33 секунды (29.06.2010 - 17:32) psynick написал(а):
Тоже туплю
Изменял файл step2.html, а заливал step2.php и не понимал, почему нет изменений.
Все заработало, сделал немножко другим способом - только вот проблема:
sig отображается в виде первой цифры "4". Не 13 символов, а 1
Изменял файл step2.html, а заливал step2.php и не понимал, почему нет изменений.
Все заработало, сделал немножко другим способом - только вот проблема:
sig отображается в виде первой цифры "4". Не 13 символов, а 1
Спустя 2 минуты, 22 секунды (29.06.2010 - 17:35) psynick написал(а):
Все, разобрался. Все работает! Спасибо огромное, как мне Вас отблагодарить?
Спустя 1 минута, 16 секунд (29.06.2010 - 17:36) tomash написал(а):
psynick
Рад был помочь!
Рад был помочь!