[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Гиперссылка для includ'а
Alsio
В php не силен. Прошу помочь. Сейчас сделано так: есть страница, в ней инклюд с php-кодом формы. Хочу сделать то же самое, но чтобы на странице были гиперссылки "Расширенная форма" и "Простая форма". По умолчанию открывалось как сейчас - расширенная форма с инклюдом php-формы. Но при клике на ссылку "Простая форма" открывался инклюд php-простой формы. Должно быть просто, но как не знаю... Буду признателен за помощь.



Спустя 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 текстовые гиперссылки: "Расширенная форма" и "Простая форма"...

Спустя 2 дня, 7 часов, 21 минута, 36 секунд (12.02.2011 - 16:48) Alsio написал(а):
При таком раскладе "Простая форма" открывается в новом окне.

Товарищи гуру! Вы можете код целиком написать?! Задача вроде ясна: чтобы на странице были гиперссылки "Расширенная форма" и "Простая форма". По умолчанию открывалась расширенная форма. Но при клике на ссылку "Простая форма" открывалась простая форма.

Спустя 1 час, 9 минут, 28 секунд (12.02.2011 - 17:57) inpost написал(а):
Alsio
Конечно можем, нам как раз за такое платят: "Написать код целиком". А ты готов? smile.gif

Спустя 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 мне в лс и я тебе сделаю как надо без проблем.

Спустя 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. Стало быть уже до меня миллион человек поняло, что на этом форуме ловить нечего...
Быстрый ответ:

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