PHP код и стили PHPBB3

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

PHP код и стили PHPBB3

Сообщение A320_Pilot »

Добрый день всем!
И так есть проблема, написал код обработчика формы, для своего проекта,
Файл requst_confirm.php:

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
 
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
 
page_header('Request form');
 
$template->set_filenames(array(
    'body' => 'request_confirm_body.html',
));
 
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
А вот файл из стилей request_confirm_body.html:

Код: Выделить всё

<!-- INCLUDE overall_header.html -->
 
<h2>Request form</h2>
 
<div class="panel">
    <div class="inner"><span class="corners-top"><span></span></span>
 
    <div class="content">
        <p>
<!-- PHP -->
mysql_connect ("localhost","bh46862_fsdbase","xxxxxxx");
mysql_select_db ("bh46862_ltc");
if (isset($_POST['submit'])){
if(empty($_POST['name']))  {
echo'<font color="red">Не заполненно поле Name.</font><br>';}
elseif (!preg_match("/^\w{3,}$/", $_POST['name'])) {
echo'<font color="red">В поле Name запрещенные символы.</font><br>';}
elseif(empty($_POST['surname']))  {
echo'<font color="red">Не заполненно поле Surname.</font><br>';}
elseif (!preg_match("/^\w{3,}$/", $_POST['surname'])) {
echo'<font color="red">В поле Surname запрещенные символы.</font><br>';}
elseif(empty($_POST['email'])) {
echo'<font color="red">Не заполненно поле Email.</font><br>';}
elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
echo'<font color="red">В поле Email запрещенные символы.</font><br>';}
elseif(empty($_POST['skype']))  {
echo'<font color="red">Не заполненно поле Skype.</font><br>';}
elseif (!preg_match("/^\w{3,}$/", $_POST['skype'])) {
echo'<font color="red">В поле Skype запрещенные символы.</font><br>';}
elseif(empty($_POST['phone']))  {
echo'<font color="red">Не заполненно поле Phone.</font><br>';}
elseif (!preg_match("/^\w{3,}$/", $_POST['phone'])) {
echo'<font color="red">В поле Phone запрещенные символы.</font><br>';
} else {
$name = $_POST['name'];
$surname = $_POST['surname'];
$email = $_POST['email'];
$skype = $_POST['skype'];
$phone = $_POST['phone'];
$aircraft = $_POST['aircraft'];
$raid = $_POST['raid'];
$port = $_POST['port'];
$fs = $_POST['fs'];
$ve = $_POST['ve'];
$md = $_POST['md'];
$query = ("SELECT id FROM students WHERE surname='$surname'");
$sql = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($sql) > 0) {
echo'<font color="red">Пользователь с фамилией $surname уже есть в нашей базе данных</font><br>';
} else {
$query2 = ("SELECT id FROM students WHERE email='$email'");
$sql = mysql_query($query2) or die(mysql_error());
if (mysql_num_rows($sql) > 0) {
echo'<font color="red">Email: $email уже числится в нашей базе данных</font><br>';
} else {
$query = "INSERT INTO students (name, surname, email, skype, phone, aircraft, raid, port, fs, ve, md) VALUES ('$name', '$surname', '$email', '$skype', '$phone', '$aircraft', '$raid', '$port', '$fs', '$ve', '$md')";
$result = mysql_query($query) or die(mysql_error());;
echo'Уважаемый $ name $surname!<br>Вы успешно подали заявку на вступление в наш учебно-тренировочный центр OVAN.<br>В ближайшее время с Вами свяжется Администрация';}}}}
<!-- ENDPHP -->
</p>
    </div>
 
    <span class="corners-bottom"><span></span></span></div>
</div>
 
<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
Как видите хочу тут использовать вторую базу, ну что то ничего не работает, кэш чистил, но ничего не отображается, заполняю все поля, а он мне выдаёт только название страницы, что не так?
Заранее спасибо!
A320_Pilot
George Konkov
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: PHP код и стили PHPBB3

Сообщение Sheer »

1. Никогда не использовать php в шаблонах.
2. Кто мешает написать шаблон для своего обработчика? Создание дополнительных (произвольных) страниц в стиле конференции
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

Так я по этой инструкции и делал!
A320_Pilot
George Konkov
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: PHP код и стили PHPBB3

Сообщение Balamut »

A320_Pilot писал(а):Пользователь с фамилией $surname уже есть в нашей базе данных
Правильно! Если один Иванов записался на курсы, зачем нам второй Иванов? Одна путаница с этими однофамильцами! Вот кто первый успел, того и примим!!!
//
// That's all, Folks!
// -------------------------------------------------
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: PHP код и стили PHPBB3

Сообщение Sheer »

A320_Pilot писал(а):Так я по этой инструкции и делал!
1. Нет
2. Руководство по написанию кода
3.
A320_Pilot писал(а):использовать вторую базу
Зачем? Кто мешает добавить таблицу в БД от форума и использовать ее?
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

Значит я правильно понимаю что: файл request_confirm_body.html не нужен, а просто в корне создать файл request_confirm.php и туда закинуть код?
A320_Pilot
George Konkov
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: PHP код и стили PHPBB3

Сообщение Sheer »

A320_Pilot писал(а):создать файл request_confirm.php
и написать для него правильный request_confirm_body.html в соответствии с
http://www.phpbbguru.net/kb/modding/add ... stom-page/
и
http://www.phpbbguru.net/useful/codeboo ... uidelines/
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

если в request_confirm.php код обработки формы то в request_confirm_body.html что?
Извините конечно, но я не совсем понимаю((((
A320_Pilot
George Konkov
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: PHP код и стили PHPBB3

Сообщение Sheer »

A320_Pilot писал(а):request_confirm_body.html что?
Форма ввода/вывод и много еще чего.
Летчик, давай я тебе напишу примерчик, потом поймешь, что к чему. Объяснять долго придется, для тех, кто не в танке, а в самолете.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

Напишешь, буду благодарен)
И форма ввода у меня просто в файле request_body.html
A320_Pilot
George Konkov
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: PHP код и стили PHPBB3

Сообщение Sheer »

request.php

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/requst_confirm'); // "языковой" файл в папке languake/язык/mods/requst_confirm/php

$name 	= request_var('name', '', true);
$mail 	= request_var('mail', '');
$submit	= (isset($_POST['submit'])) ? true : false;

$error = array(); // пустой массив

if (empty($name)) // если не указано имя
{
	$error[] = $user->lang['EMPTY_NAME'];
}
if (empty($mail)) // если не указан мейд
{
	$error[] = $user->lang['EMPTY_MAIL'];
}
if ($submit)
{
	if (!sizeof($error)) // // ошибок нет
	{
		$sql_ary = array(
			'name'	=> $name,
			'mail'	=> $mail,
		);
		$sql = 'INSERT INTO my_table ' . $db->sql_build_array('INSERT', $sql_ary);  // my_table по-хорошему нужно прописать в includes/constnts.php
		$db->sql_query($sql);
		trigger_error($user->lang['OK']);
	}

   	$template->assign_vars(array(
   		'NAME'			=> $name,
		'MAIL'			=> $mail,
		'ERROR'			=> implode('<br />', $error),
		'S_ACTION'	=> append_sid("{$phpbb_root_path}request.$phpEx"),
		)
	);
}
page_header($user->lang['RQ_FORM']);

$template->set_filenames(array(
    'body' => 'request_confirm_body.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
language/ru/mods/requst_confirm.php (в кодировке UTF-8 без BOM)

Код: Выделить всё

<?php
/**

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

if (empty($lang) || !is_array($lang))
{
	$lang = array();
}


$lang = array_merge($lang, array(
		'EMPTY_NAME'	=> 'Вы не указали имя',
		'EMPTY_MAIL'	=> 'Вы не указали e-mail',
		'OK'			=> 'Поздравляем!',
		'RQ_FORM'		=> 'Форма',
		'NAME' 			=> 'Имя',
		'MAIL'			=> 'e-mail',
		'REQUEST'		=> 'Моя форма',
		)
	);
?>
styles/стиль (в данном случае prosilver)/template/request_confirm_body.html

Код: Выделить всё

<!-- INCLUDE overall_header.html -->

<form action="{S_ACTION}" method="post" id="login">
<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>
	<div class="content">
		<h2>{L_REQUEST}</h2>
		<fieldset class="fields1 column1">
		<!-- IF ERROR --><div class="error">{ERROR}</div><!-- ENDIF -->
		<dl>
			<dt><label for="name">{L_NAME}:</label></dt>
			<dd><input type="text" name="name" id="name" value="{NAME}" class="inputbox"></dd>
		</dl>
		<dl>
			<dt><label for="mail">{L_MAIL}:</label></dt>
			<dd><input type="text" name="mail" id="mail" value="{MAIL}" class="inputbox"></dd>
		</dl>
		<br /><input type="submit" name="submit" value="{L_SUBMIT}" class="button1">
		</fieldset>
	</div>
	<span class="corners-bottom"><span></span></span></div>
</div>
</form>

<!-- INCLUDE overall_footer.html -->
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

Спасибо огромное)

Добавлено спустя 32 минуты 30 секунд:
Всё таки один вопрос нашёлся)

Код: Выделить всё

'OK'		=> 'Поздравляем!',
Я как понимаю это вывод сообщения если все данные верны?

Добавлено спустя 1 час 11 минут 21 секунду:

Код: Выделить всё

if ($submit) /[code=php]
[/code]
И это что такое?
A320_Pilot
George Konkov
Аватара пользователя
Balamut
Former team member
Сообщения: 2214
Стаж: 21 год 6 месяцев
Откуда: {postrow.POSTER_FROM}
Поблагодарили: 146 раз

Re: PHP код и стили PHPBB3

Сообщение Balamut »

/ - это не надо, случайно кнопочка кода нажалась, видимо.
//
// That's all, Folks!
// -------------------------------------------------
A320_Pilot
phpBB 1.2.0
Сообщения: 12
Стаж: 13 лет 7 месяцев
Откуда: Russia Federation, Moscow
Благодарил (а): 2 раза

Re: PHP код и стили PHPBB3

Сообщение A320_Pilot »

Всё совсем разобрался!

Добавлено спустя 6 минут 6 секунд:

Код: Выделить всё

General Error
SQL ERROR [ mysql4 ]

Incorrect integer value: 'George' for column 'name' at row 1 [1366]

SQL

INSERT INTO phpbb_students (name, surname, mail, skype, phone, about) VALUES ('George', 'Konkov', 'airbus_a320@bk.ru', 'gosha.kvs', '89266522839', 'gakshflsnflhsdf')

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/request.php
LINE: 59
CALL: dbal_mysql->sql_query()
Вотошибку выдал, что не так?(
A320_Pilot
George Konkov
Аватара пользователя
МайскийЖук
phpBB 3.0.7-PL1
Сообщения: 2535
Стаж: 16 лет 11 месяцев
Благодарил (а): 17 раз
Поблагодарили: 366 раз

PHP код и стили PHPBB3

Сообщение МайскийЖук »

У тебя по какой-то причине поле name в таблице phpbb_students имеет тип Integer. Поэтому при попытке вставить текстовое значение этого поля тебе выдается такая ошибка.
Любовь и боль, покой и бой я как любой несу с собой…

Вернуться в «Поддержка phpBB 3.0.х»