[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Условие с 1-2 параметрами
psynick
Доброго времени суток!

Столкнулся с такой задачей:
Есть страница-заявка, как анкета или регистрация. Несколько полей для ввода и пхп код, который отправляет информацию из этих полей на заданную почту.

Задача такая: поставить условие, если, например, в поле возраст указан возраст 18+ то вся информация отправляется на на эмейл info1@, а если 18- то на info2@

В данный момент код выглядит вот так:

Страница заявки:
<form action="anketa.php" method="post" onsubmit="return checkform(this);">
\\ html код самой заявки
<input type="submit" class="button3" lang="ru" value="Отправить" xml:lang="ru" />



Пхп файл anketa.php

<?php
$info = sprintf("%s %s
Возраст: %d лет"
,$_POST['name'],$_POST['name2'],$_POST['vozrast']);
$to = "info1@123456.ru";
$title = sprintf("Заявка");
mail($to,$title,$info);
header("Location: index.php");
?>


Плохо разбираюсь в пхп, поэтому расчитываю на Вашу помощь. Код напишу сам по подсказкам, но на данный момент плохо представляю, как это реализовать, и куда поставить это условие.

Заранее спасибо.



Спустя 9 минут, 53 секунды (20.09.2010 - 12:07) waldicom написал(а):
тогда подсказка
$возраст = (каст на инт)получить значение из формы;
$емыло = 'емыло1';  // для случая, если 18+
ежели($возраст < 18){
    $емыло = 'емыло2';  // для случая, если меньше 18
}
отправь емыло();

Спустя 4 минуты, 29 секунд (20.09.2010 - 12:11) psynick написал(а):
Не осилил... smile.gif

Условие прописывать на html странице-анкете или в php-файле (anketa.php)?

Спустя 9 минут, 11 секунд (20.09.2010 - 12:20) Mizka написал(а):

$to = ($_POST['vozrast'] == '18+') ? 'info1@' : 'info2@';

Спустя 3 минуты, 11 секунд (20.09.2010 - 12:24) waldicom написал(а):
В php конечно, ведь именно он отсылает письма.
Возьмем Ваш код и немного подправи его.

<?php
$info = sprintf("%s %s Возраст: %d лет",$_POST['name'],$_POST['name2'],$_POST['vozrast']);
$to = "info1@123456.ru";
$age=(int)$_POST['vozrast']; // входящий параметр "возраст"
if($age > 0){
if($age < 18){ // меньше 18 лет
$to = 'info2@123456.ru';
}
}
else{
echo 'не родился? или кул-хацкер?';
}
$title = sprintf("Заявка");
mail($to,$title,$info);
header("Location: index.php");
?>

Спустя 1 час, 17 минут, 47 секунд (20.09.2010 - 13:41) psynick написал(а):
Спасибо, сейчас попробую сделать условие по нескольким параметрам для конкретной заявки.

Спустя 2 минуты, 35 секунд (20.09.2010 - 13:44) Ice написал(а):
$title = sprintf("Заявка");

А вот это в спринтф зачем? Достаточно просто
$title = 'Заявка';

Это вообще по-школярски

echo 'не родился? или кул-хацкер?';

Достаточно просто хедера. Да и условия в одно объединить

Спустя 19 минут, 37 секунд (20.09.2010 - 14:04) psynick написал(а):
$to = "info1@";
$age=(int)$_POST['vozrast'];
$summa=(int)$_POST['summa1'];
if($age > 0){
if($age >= 25 && $summa >=40000 && $summa <=80000){
$to = 'info2';
}
}
else{
echo 'Укажите все данные!';
}


В итоге сделал так. Частично проверил - работает. Спасибо всем за помощь.

Спустя 2 минуты, 10 секунд (20.09.2010 - 14:06) Ice написал(а):
А почему нет верхней границы для возраста? А что будет, если я введу 123456789012 лет?
Хотя здесь нет базы, но такая строка вызовет ошибку переполнения поля.

А чтобы убрать age > 0, нужно всего лишь использовать возможности функции abs

Спустя 1 час, 33 минуты, 23 секунды (20.09.2010 - 15:39) psynick написал(а):
Цитата
использовать возможности функции abs


Такого не знаю huh.gif

Не думаю, что кто-то укажет такой длинный возраст, правильный возраст в интересах пользователя.

Спустя 4 минуты, 30 секунд (20.09.2010 - 15:44) waldicom написал(а):
Цитата (psynick @ 20.09.2010 - 14:39)
Цитата
использовать возможности функции abs


Такого не знаю huh.gif

Не думаю, что кто-то укажет такой длинный возраст, правильный возраст в интересах пользователя.

abs() там врядли будет гут, потому что от пользователя может прийти что угодно, например такой возраст: 12sd3'.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.