Спустя 49 минут, 36 секунд (9.02.2011 - 01:13) kovaldm написал(а):
php код формы?
Спустя 20 часов, 38 минут, 8 секунд (9.02.2011 - 21:51) Alsio написал(а):
Цитата (kovaldm @ 8.02.2011 - 22:13) |
php код формы? |
Чтобы было проще ориентироваться, сайт . Пример из раздела "Сантехнические работы". На странице есть инклюд php-формы:
<?
error_reporting(0);
function show_form()
{
?>
<script type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
<form action="" method=post enctype="multipart/form-data">
<table width="440" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" colspan="3" valign="middle" bgcolor="#CFCFCF"class="forms_captionbar">Работа:</td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<td width="180" height="24" rowspan="2" valign="top" class="forms_captiontext">Описание работ <span class="red">*</span></td>
<td width="230" height="56" rowspan="2" align="right" valign="middle"><textarea rows="3" cols="30" name="input_name[0]"><?=substr(htmlspecialchars(trim($_POST['input_name'][0])), 0, 10000);?></textarea>
<input type="hidden" name="check[]" value="1"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_santeh_service.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="30" height="32" align="center" valign="middle"></td>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<tr>
<td height="20" colspan="3" valign="middle" bgcolor="#CFCFCF"class="forms_captionbar">Контактные данные:</td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<tr>
<td width="180" height="24" valign="middle" class="forms_captiontext">Имя <span class="green">*</span></td>
<td width="230" height="24" align="right" valign="middle"><input type="text" name="input_name[1]" size="38" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][1])), 0, 500);?>">
<input type="hidden" name="check[]" value="0"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_name.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="180" height="24" valign="middle" class="forms_captiontext">Почтовый адрес <span class="red">*</span></td>
<td width="230" height="24" align="right" valign="middle"><input type="text" name="input_name[2]" size="38" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][2])), 0, 500);?>">
<input type="hidden" name="check[]" value="1"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_adress.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="180" height="24" valign="middle" class="forms_captiontext">Телефон <span class="red">*</span></td>
<td width="230" height="24" align="right" valign="middle"><input type="text" name="input_name[3]" size="38" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][3])), 0, 500);?>">
<input type="hidden" name="check[]" value="1"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_tel.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="180" height="24" valign="middle" class="forms_captiontext">E-mail <span class="green">*</span></td>
<td width="230" height="24" align="right" valign="middle"><input type="text" name="input_name[4]" size="38" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][4])), 0, 500);?>">
<input type="hidden" name="check[]" value="0"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_email.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<tr>
<td height="20" colspan="3" valign="middle" bgcolor="#CFCFCF"class="forms_captionbar">Доставка: <span class="red">*</span></td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
</tr>
<tr>
<td height="24" colspan="2" align="center" valign="middle"><input name="input_name[5]" type="radio" value="Вызов на дом" checked="checked"<?if(htmlspecialchars($_POST['input_name'][5]) == "Вызов на дом") echo ' CHECKED';?>>
Вызов на дом <input type="radio" name="input_name[5]" value="Готов привезти на личном транспорте"<?if(htmlspecialchars($_POST['input_name'][5]) == "Готов привезти на личном транспорте") echo ' CHECKED';?>>Готов привезти на личном транспорте<input type="hidden" name="check[]" value="1"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_master_delivery.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<tr>
<td height="20" colspan="3" valign="middle" bgcolor="#CFCFCF"class="forms_captionbar">Прочее:</td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
</tr>
<tr>
<td height="24" colspan="3" valign="top"><table width="440" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="310" height="24" valign="top" class="forms_captiontext">Согласен получать рассылку Клуба мастеров</td>
<td width="100" height="24" valign="middle"><input type="hidden" name="input_name[6]" value="checkbox"><input type="checkbox" name="input_checkbox_name6[0]" value="на e-mail"<?if(htmlspecialchars($_POST['input_checkbox_name6'][0]) == "на e-mail") echo ' CHECKED';?>>на e-mail<br /><input type="checkbox" name="input_checkbox_name6[1]" value="по SMS"<?if(htmlspecialchars($_POST['input_checkbox_name6'][1]) == "по SMS") echo ' CHECKED';?>>по SMS<input type="hidden" name="check[]" value="0"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_subscribe.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
</table></td>
</tr>
<tr>
<td height="5" colspan="3"></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#CFCFCF"></td>
</tr>
<tr>
<td height="5" colspan="3"></td>
</tr>
<tr>
<td colspan="3"><span class="red">*</span> Поля, обязательные для заполнения!<br />
<span class="green">*</span> Поля, рекомендуемые для заполнения</td>
</tr>
<tr>
<td height="24" colspan="3"></td>
</tr>
<tr>
<td height="24" colspan="3" align="center" valign="middle"><input name="submit" type="submit" value="Отправить" /></td>
</tr>
</table>
</form>
<?
}
function complete_mail() {
$empty_input[] = 'Описание работ';
$empty_input[] = 'Имя';
$empty_input[] = 'Почтовый адрес';
$empty_input[] = 'Телефон';
$empty_input[] = 'E-mail';
$empty_input[] = 'Доставка';
$empty_input[] = 'Согласен получать рассылку Клуба мастеров';
for ($i=0; $i<count($_POST['input_name']); $i++) {
$_POST['input_name'][$i] = substr(htmlspecialchars(trim($_POST['input_name'][$i])), 0, 100000);
if(substr(htmlspecialchars(trim($_POST['check'][$i])), 0, 1) == 1) {
if(empty($_POST['input_name'][$i])) {
$sendemail = 'No';
echo '<dd><b>Необходимо заполнить поле '.$empty_input[$i].'!</b></dd>';
}
}
}
echo '<br />';
if($sendemail == 'No') show_form();
$mess = '';
$mess .= '<b>IP адрес отправителя заявки: </b>'.$_SERVER['REMOTE_ADDR'].'<br />';
$mess .= '<b>Описание работ: </b>'.$_POST['input_name'][0].'<br />';
$mess .= '<b>Имя: </b>'.$_POST['input_name'][1].'<br />';
$mess .= '<b>Почтовый адрес: </b>'.$_POST['input_name'][2].'<br />';
$mess .= '<b>Телефон: </b>'.$_POST['input_name'][3].'<br />';
$mess .= '<b>E-mail: </b>'.$_POST['input_name'][4].'<br />';
$mess .= '<b>Доставка мастера: </b>'.$_POST['input_name'][5].'<br />';
$mess .= '<b>Согласен получать рассылку Клуба мастеров: </b>
<br />';
foreach ($_POST['input_checkbox_name6'] as $key => $value) {
$mess .= '-'.htmlspecialchars($value).'<br />';
}
// подключаем файл класса для отправки почты
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->From = 'info@masters-club.ru'; // от кого email
$mail->FromName = 'Команда Masters Club'; // от кого имя
$mail->AddAddress('info@masters-club.ru', 'info@masters-club.ru'); // кому - адрес, Имя
$mail->IsHTML(true); // выставляем формат письма HTML
$mail->Subject = 'Форма "Сантехнические работы"'; // тема письма
$mail->Body = $mess;
if($sendemail != 'No'){
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo '<center><b>Спасибо! Ваша заявка отправлена.</b></center><br />';
}
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>
Возможно, Вы подскажете, как добавить в этот код возможность перехода на "простой" вариант кода. Такой:
<?
error_reporting(0);
function show_form()
{
?>
<form action="" method=post>
<script type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
<table width="440" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="20" colspan="3" valign="middle" bgcolor="#CFCFCF" class="forms_captionbar">Контактные данные:</td>
</tr>
<tr>
<td height="5" colspan="3" valign="middle"></td>
</tr>
<tr>
<td width="180" height="24" valign="middle" class="forms_captiontext">Телефон <span class="red">*</span></td>
<td width="230" height="24" align="right" valign="middle"><input type="text" name="input_name[0]" size="38" value="<?=substr(htmlspecialchars(trim($_POST['input_name'][0])), 0, 500);?>">
<input type="hidden" name="check[]" value="1"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_tel.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="180" height="56" rowspan="2" valign="top" class="forms_captiontext">Комментарий</td>
<td width="230" height="56" rowspan="2" align="right" valign="middle"><textarea rows="3" cols="30" name="input_name[1]"><?=substr(htmlspecialchars(trim($_POST['input_name'][1])), 0, 10000);?></textarea>
<input type="hidden" name="check[]" value="0"></td>
<td width="30" height="24" align="center" valign="middle"><img src="/themes/mclub/images/question.png" width="9" height="9" border="0" class="question" onclick="MM_openBrWindow('/forms/question_comment.html','','scrollbars=yes,width=400,height=180')"/></td>
</tr>
<tr>
<td width="30" height="32" align="center" valign="middle"></td>
</tr>
<tr>
<td height="5" colspan="3"></td>
</tr>
<tr>
<td height="1" colspan="3" bgcolor="#CFCFCF"></td>
</tr>
<tr>
<td height="5" colspan="3"> </td>
</tr>
<tr>
<td height="24" colspan="3"class="forms_captiontext"><span class="red">*</span> Поля, обязательные для заполнения!</td>
</tr>
<tr>
<td height="24" colspan="3"></td>
</tr>
<tr>
<td height="24" colspan="3" align="center" valign="middle"><input type="submit" value="Отправить" name="submit"></td>
</tr>
</table>
</form>
<?
}
function complete_mail() {
$empty_input[] = 'Телефон';
$empty_input[] = 'Комментарий';
for ($i=0; $i<count($_POST['input_name']); $i++) {
$_POST['input_name'][$i] = substr(htmlspecialchars(trim($_POST['input_name'][$i])), 0, 100000);
if(substr(htmlspecialchars(trim($_POST['check'][$i])), 0, 1) == 1) {
if(empty($_POST['input_name'][$i])) {
$sendemail = 'No';
echo '<dd><b>Необходимо заполнить поле '.$empty_input[$i].'!</b></dd>';
}
}
}
echo '<br />';
if($sendemail == 'No') show_form();
$mess = '';
$mess .= '<b>IP адрес отправителя заявки: </b>'.$_SERVER['REMOTE_ADDR'].'<br />';
$mess .= '<b>Телефон: </b>'.$_POST['input_name'][0].'<br />';
$mess .= '<b>Комментарий: </b>'.$_POST['input_name'][1].'<br />';
// подключаем файл класса для отправки почты
require 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->From = 'info@masters-club.ru'; // от кого email
$mail->FromName = 'Команда Masters Club'; // от кого имя
$mail->AddAddress('info@masters-club.ru', 'info@masters-club.ru'); // кому - адрес, Имя
$mail->IsHTML(true); // выставляем формат письма HTML
$mail->Subject = 'Простая форма "Сантехнические работы"'; // тема письма
$mail->Body = $mess;
if($sendemail != 'No'){
// отправляем наше письмо
if (!$mail->Send()) die ('Mailer Error: '.$mail->ErrorInfo);
echo '<center><b>Спасибо! Ваша заявка отправлена.</b></center><br />';
}
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>
С возможностью переключаться из простого в расширенный и обратно.
Спустя 2 минуты, 23 секунды (9.02.2011 - 21:54) kovaldm написал(а):
Ну, дык, так и делаешь - две ссылки, тыкаешь по одной скрипт инклудит расширенную форму, тыкаешь по другой - не расширенную.
Спустя 18 минут, 37 секунд (9.02.2011 - 22:12) Alsio написал(а):
Пробовал, мудрил, ничего не вышло. Я ж говорю, в php я не спец. Можно пример ссылки?
Спустя 13 минут, 34 секунды (9.02.2011 - 22:26) inpost написал(а):
if(нажата кнопка а)
{
инклюд №1
}
elseif(нажата кнопка б)
{
инклюд №2
}
Вопрос о том, какая кнопка нажата можно подглянуть в последней ссылке моей подписи
Спустя 44 минуты, 34 секунды (9.02.2011 - 23:10) Alsio написал(а):
А можно все-таки как-нибудь конкретный пример.
Спустя 1 час, 12 минут, 37 секунд (10.02.2011 - 00:23) kovaldm написал(а):
if(!empty($a))
{
include 'blablabla1.php';
}
else
{
include 'blablabla2.php';
}
Спустя 9 часов, 3 минуты, 5 секунд (10.02.2011 - 09:26) Alsio написал(а):
Вот спасибо!
Сейчас на работе, вечером попробую. А от чего будет зависеть выбор инклюдов? Не понял, что значит if(!empty($a)) ? Я то изначально думал, что будет 2 текстовые гиперссылки: "Расширенная форма" и "Простая форма"...
Сейчас на работе, вечером попробую. А от чего будет зависеть выбор инклюдов? Не понял, что значит if(!empty($a)) ? Я то изначально думал, что будет 2 текстовые гиперссылки: "Расширенная форма" и "Простая форма"...
Спустя 2 дня, 7 часов, 21 минута, 36 секунд (12.02.2011 - 16:48) Alsio написал(а):
При таком раскладе "Простая форма" открывается в новом окне.
Товарищи гуру! Вы можете код целиком написать?! Задача вроде ясна: чтобы на странице были гиперссылки "Расширенная форма" и "Простая форма". По умолчанию открывалась расширенная форма. Но при клике на ссылку "Простая форма" открывалась простая форма.
Товарищи гуру! Вы можете код целиком написать?! Задача вроде ясна: чтобы на странице были гиперссылки "Расширенная форма" и "Простая форма". По умолчанию открывалась расширенная форма. Но при клике на ссылку "Простая форма" открывалась простая форма.
Спустя 1 час, 9 минут, 28 секунд (12.02.2011 - 17:57) inpost написал(а):
Alsio
Конечно можем, нам как раз за такое платят: "Написать код целиком". А ты готов?
Конечно можем, нам как раз за такое платят: "Написать код целиком". А ты готов?

Спустя 17 минут, 59 секунд (12.02.2011 - 18:15) Alsio написал(а):
С вами все ясно!
Спустя 2 часа, 40 минут, 37 секунд (12.02.2011 - 20:56) inpost написал(а):
А ты дай нам все пароли, а мы подумаем =)
Спустя 13 часов, 57 минут, 17 секунд (13.02.2011 - 10:53) Админ написал(а):
вот вы злыдни.
короче парень давай ftp мне в лс и я тебе сделаю как надо без проблем.
короче парень давай ftp мне в лс и я тебе сделаю как надо без проблем.
Спустя 16 минут, 14 секунд (13.02.2011 - 11:09) Alsio написал(а):
Зачем, интересно, вам ftp или пароли?! Я же не прошу мою CMS переписать. Я прошу лишь подсказать кусок кода, который бы инклюдил один или другой код в зависимости от выбранной ссылки.
Если на этом форуме, в разделе "для новичков", такие вопросы решаются только платно, то я найду другой.
Если на этом форуме, в разделе "для новичков", такие вопросы решаются только платно, то я найду другой.
Спустя 30 минут, 34 секунды (13.02.2011 - 11:40) Админ написал(а):
Alsio
так тебе решение выдали. Ты не понял нифига - проще ведь решения нет - про другой форум - флаг в руки барабан на шею - уже до тебя милион человек в итоге поняло что на других форумах тебе ответят через сутки и скорей всего приемущественно с использованием ненормативной лексики.
Удачи.
так тебе решение выдали. Ты не понял нифига - проще ведь решения нет - про другой форум - флаг в руки барабан на шею - уже до тебя милион человек в итоге поняло что на других форумах тебе ответят через сутки и скорей всего приемущественно с использованием ненормативной лексики.
Удачи.
Спустя 1 час, 16 минут, 40 секунд (13.02.2011 - 12:56) Alsio написал(а):
Я сразу сказал, что в php не знаток. Поэтому нифига не понял. Переспросил. Мне НЕ ответили. Поэтому и попросил код целиком. Как оказалось, услуга платная! Ну что ж...
P.S. Стало быть уже до меня миллион человек поняло, что на этом форуме ловить нечего...
P.S. Стало быть уже до меня миллион человек поняло, что на этом форуме ловить нечего...