S_A_N_T_A

S_A_N_T_A
Рейтинг
154
Регистрация
23.11.2009
Кофейник:
Ставь апач.
Иди сюда: http://php.net/
Читай и эксперементируй.

Кофейник добавил 21.02.2010 в 22:34
И да, все остальное, что не php.net за редкими исключениями мягко говоря зло, придуманное сатаной, чтобы соблазнять тебя и сбивать с пути истинного.

Пока поставил denwer.

А по поводу того откуда лучше брать знания о PHP то сколько будет людей столько будет существовать и мнений :)

Вот файл feedback.php

<?php

if( ! defined( 'DATALIFEENGINE' ) ) {

die( "Hacking attempt!" );

}

if( isset( $_POST['send'] ) ) {

$stop = "";

if( $is_logged ) {

$name = $member_id['name'];

$email = $member_id['email'];

} else {

$name = $db->safesql( strip_tags( $_POST['name'] ) );

$email = $db->safesql( strip_tags( $_POST['email'] ) );

$db->query( "SELECT name from " . USERPREFIX . "_users where LOWER(name) = '" . strtolower( $name ) . "' OR LOWER(email) = '" . strtolower( $email ) . "'" );

if( $db->num_rows() > 0 ) {

$stop = $lang['news_err_7'];

}

$name = strip_tags( stripslashes( $_POST['name'] ) );

$email = strip_tags( stripslashes( $_POST['email'] ) );

}

$subject = strip_tags( stripslashes( $_POST['subject'] ) );

$message = stripslashes( $_POST['message'] );

$recip = intval( $_POST['recip'] );

function check_email($value) {

return preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])'.'(([a-z0-9-])*([a-z0-9]))+' . '(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i', $value );

}

if( !$user_group[$member_id['user_group']]['allow_feed'] ) {

$recipient = $db->super_query( "SELECT name, email, fullname FROM " . USERPREFIX . "_users WHERE user_id='" . $recip . "' AND user_group = '1'" );

} else {

$recipient = $db->super_query( "SELECT name, email, fullname FROM " . USERPREFIX . "_users WHERE user_id='" . $recip . "' AND allow_mail = '1'" );

}

if( empty( $recipient['fullname'] ) ) $recipient['fullname'] = $recipient['name'];

if (!$recipient['name']) $stop .= $lang['feed_err_8'];

if( empty( $name ) ) {

$stop .= $lang['feed_err_1'];

}

if( empty( $email ) ) {

$stop .= $lang['feed_err_2'];

} elseif( ! check_email( $email ) ) {

$stop .= $lang['feed_err_3'];

}

if( empty( $subject ) ) {

$stop .= $lang['feed_err_4'];

}

if( empty( $message ) ) {

$stop .= $lang['feed_err_5'];

}

if( $_POST['sec_code'] != $_SESSION['sec_code_session'] OR ! $_SESSION['sec_code_session'] ) {

$stop .= $lang['reg_err_19'];

}

$_SESSION['sec_code_session'] = false;

if( $stop ) {

msgbox( $lang['all_err_1'], "$stop<br /><br /><a href=\"javascript:history.go(-1)\">$lang[all_prev]</a>" );

} else {

include_once ENGINE_DIR . '/classes/mail.class.php';

$mail = new dle_mail( $config );

$row = $db->super_query( "SELECT template FROM " . PREFIX . "_email where name='feed_mail' LIMIT 0,1" );

$row['template'] = stripslashes( $row['template'] );

$row['template'] = str_replace( "{%username_to%}", $recipient['fullname'], $row['template'] );

$row['template'] = str_replace( "{%username_from%}", $name, $row['template'] );

$row['template'] = str_replace( "{%text%}", $message, $row['template'] );

$row['template'] = str_replace( "{%ip%}", $_SERVER['REMOTE_ADDR'], $row['template'] );

$mail->from = $email;

$mail->send( $recipient['email'], $subject, $row['template'] );

if( $mail->send_error ) msgbox( $lang['all_info'], $mail->smtp_msg );

else msgbox( $lang['feed_ok_1'], "$lang[feed_ok_2] " . $recipient['name'] . " $lang[feed_ok_3] <a href=\"{$config['http_home_url']}\">$lang[feed_ok_4]</a>" );

}

} else {

if( ! $user_group[$member_id['user_group']]['allow_feed'] ) {

$group = 2;

$user = false;

if ($_GET['user']) {

$lang['feed_error'] = str_replace( '{group}', $user_group[$member_id['user_group']]['group_name'], $lang['feed_error'] );

msgbox( $lang['all_info'], $lang['feed_error'] );

}

} else {

$user = intval( $_GET['user'] );

$group = 3;

}

if( ! $user ) $db->query( "SELECT name, user_group, user_id FROM " . USERPREFIX . "_users WHERE user_group < '$group' AND allow_mail = '1' ORDER BY user_group" );

else $db->query( "SELECT name, user_group, user_id FROM " . USERPREFIX . "_users WHERE user_id = '$user' AND allow_mail = '1'" );

if( $db->num_rows() ) {

$empf = "<select name=\"recip\">";

$i = 1;

while ( $row = $db->get_array() ) {

$str = $row['name'] . " (" . stripslashes( $user_group[$row['user_group']]['group_name'] ) . ")";

if( $i == 1 ) {

$empf .= "<option selected=\"selected\" value=\"" . $row["user_id"] . "\">" . $str . "</option>\n";

} else {

$empf .= "<option value=\"" . $row["user_id"] . "\">" . $str . "</option>\n";

}

$i ++;

}

$empf .= "</select>";

$db->free();

$tpl->load_template( 'feedback.tpl' );

$path = parse_url( $config['http_home_url'] );

$tpl->set( '{recipient}', $empf );

$tpl->set( '{code}', "<span id=\"dle-captcha\"><img src=\"" . $path['path'] . "engine/modules/antibot.php\" alt=\"{$lang['sec_image']}\" border=\"0\" /><br /><a onclick=\"reload(); return false;\" href=\"#\">{$lang['reload_code']}</a></span>" );

if( ! $is_logged ) {

$tpl->set( '[not-logged]', "" );

$tpl->set( '[/not-logged]', "" );

} else

$tpl->set_block( "'\\[not-logged\\](.*?)\\[/not-logged\\]'si", "" );

$tpl->copy_template = "<form method=\"post\" name=\"sendmail\" onsubmit=\"if(document.sendmail.subject.value == '' || document.sendmail.message.value == ''){alert('{$lang['comm_req_f']}');return false}\" action=\"\">\n" . $tpl->copy_template . "

<input name=\"send\" type=\"hidden\" value=\"send\" />

</form>";

$tpl->copy_template .= <<<HTML

<script language="javascript" type="text/javascript">

<!--

function reload () {

var rndval = new Date().getTime();

document.getElementById('dle-captcha').innerHTML = '<img src="{$path['path']}engine/modules/antibot.php?rndval=' + rndval + '" border="0" width="120" height="50" alt="" /><br /><a onclick="reload(); return false;" href="#">{$lang['reload_code']}</a>';

};

//-->

</script>

HTML;

$tpl->compile( 'content' );

$tpl->clear();

} else {

msgbox( $lang['all_err_1'], $lang['feed_err_7'] );

}

}

?>

S_A_N_T_A добавил 22.02.2010 в 15:23

Тема актуальна...

Выкладывай сюда, мож кто и поможет...

IoanL:
Вам какие поля нужны, Вы обрисуйте задачу!

Нужно добавить дополнительные поля в DLE 8.3, например нужно добавить дополнительное поле для заполнения "Фамилия"

Вот файл шаблона feedback.tpl

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl01.gif" width="20" height="30" alt="" /></td>

<td align="left" valign="top" class="abl02"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="abl121">

<tr>

<td width="40" height="30"><img src="{THEME}/images/spacer.gif" width="40" height="1" alt="" /></td>

<td align="left" class="ntitle">Обратная связь</td>

</tr>

</table></td>

<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl13.gif" width="20" height="30" alt="" /></td>

</tr>

<tr>

<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl51.gif" width="20" height="30" alt="" /></td>

<td align="left" valign="top" class="abl22"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td height="30" class="abl221">&nbsp;</td>

</tr>

</table></td>

<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl53.gif" width="20" height="30" alt="" /></td>

</tr>

<tr>

<td width="20" align="left" valign="top" class="abl31"><img src="{THEME}/images/spacer.gif" width="20" height="1" alt="" /></td>

<td align="left" valign="top" class="stext">

<table width="98%" border="0" cellpadding="0" cellspacing="0">

[not-logged]

<tr>

<td width="130" height="25">Ваше имя:</td>

<td><input type="text" maxlength="35" name="name" class="f_input" /></td>

</tr>

<tr>

<td width="130" height="25">E-Mail:</td>

<td><input type="text" maxlength="35" name="email" class="f_input" /></td>

</tr>

[/not-logged]

<tr>

<td width="130" height="25">Заголовок:</td>

<td><input type="text" maxlength="45" name="subject" class="f_input" /></td>

</tr>

<tr>

<td width="130" height="25">Получатель:</td>

<td>{recipient}</td>

</tr>

<tr>

<td width="130">Сообщение:</td>

<td><textarea name="message" style="width:420px; height:160px" rows="" cols="" class="f_textarea"></textarea></td>

</tr>

<tr>

<td width="130" height="25">Код безопасности:</td>

<td><br />{code}</td>

</tr>

<tr>

<td width="130" height="25">Введите код:</td>

<td><input type="text" maxlength="45" name="sec_code" style="width:115px" class="f_input" /></td>

</tr>

<tr>

<td width="130" height="25">&nbsp;</td>

<td><input name="send_btn" type="image" style="width:80px; height:20px; cursor:hand" src="{THEME}/images/dlet_bttn_submit.gif" alt="Отправить" /></td>

</tr>

</table>

</td>

<td width="20" align="right" valign="top" class="abl33"><img src="{THEME}/images/spacer.gif" width="20" height="1" alt="" /></td>

</tr>

<tr>

<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl31.gif" width="20" height="5" alt="" /></td>

<td><img src="{THEME}/images/spacer.gif" width="1" height="5" alt="" /></td>

<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl33.gif" width="20" height="5" alt="" /></td>

</tr>

<tr>

<td width="20" align="left" valign="top"><img src="{THEME}/images/dlet_abl41.gif" width="20" height="40" alt="" /></td>

<td class="abl42">&nbsp;</td>

<td width="20" align="right" valign="top"><img src="{THEME}/images/dlet_abl43.gif" width="20" height="40" alt="" /></td>

</tr>

</table>

InoHacker:
В каком месте перебор то ? Если Вы задаете такие вот вопросы:

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

А не лучше будет сразу взяться за изучение PHP? :)

Спасибо VikJob - за помощь ничего не взял, но решения найти не получилось.

Кто нибудь ещё может помочь с добавлением полей в обратную связь DLE 8.3?

ТС советую начать с Евгения Попова, а точнее с изучения его курса php-mysql-video.ru - тут платно

Основываясь на личном опыте, самым оптимальным началом для новичка будет видеокурс Евгения Попова. Изучение идет на примерах, теория сразу испытывается на практике. Базовые знания, конечно желательны, но не обязательны. ТС пожелаю удачи в этом нелегком, но очень увлекательном процессе !

Я как раз сейчас качаю этот курс, состоит из 20 частей, сейчас качаю только пятую :)

сделайте аккаунт на фрилансах и наберите заказов. В процессе выполнения изучите и ещё и денег заработаете.

Размещать услуги на фрилансах не собираюсь, так как знаний нет, а позориться как то не особо хочется

Для начала нужно научиться писать алгоритмы

А что за алгоритмы и с чем их едят? :) Где о них можно почитать?

Мне вот кажется что первый шаг для программирования на php это изучения html(то есть отменно ним владеть)!По крайне мере на своем опыте, сначала изучил html потом взялся за php.
p.s. Прекрасно знаю что html не язык программирования))!

Ну для начала покурите хотябы немного html/css/js, а потом уже можно заниматся анонизмом с php)
Да, и не забывайте что если чёто непонятно то всегда можно оперативно нагуглить или наяшить ответ в поисковике, либо в особо крайних случаях посоветыватся или спросить у местных школьников ониже СЕО сливки..

html и сss я знаю, конечно не на профи уровне, но достаточно хорошо

Я бы начал вообще с изучения Бейсика .. для того, что бы понять что такое программирование вообще =))
Следующий шаг, заплюснутый Си, что бы понять, что такое ООП ....
а дальше плюнуть на php и сразу учить Ruby или Питон =))

По моему это уже жесткий перебор :)

+1. Тс учите PHP и не слушайте никого.
Главное не надо разрываться и все сразу уметь.
Умейте владеть одним языком, зато в совершенстве. Ато будет как в поговорке, погонищься за всеми и никого не догонишь. Все языки выучить не хватит жизни. По этому если решили учить PHP значит учите именно PHP, и все что с ним связано.

Спасибо за поддержку, а то прочитав комменты аж бошка кругом пошла... Столько советов с чего начинать и главное нет единых мнений :)

изучать надо с примеров, берете какую то простую задачу и ковыряете, пытаясб ее решить

Я думаю чтобы что то решить для начала нужно хоть что то знать, думаю сначала нужно прочитать книжку

................................................

А для себя пока решил начал учить с книг PHP5 в подлиннике и PHP5 для чайников. Сейчас читаю PHP5 для чайников, дошёл до "Типы данных" пока вроде всё понятно. А так же жду пока скачается видео курс Евгения Попова, много хороших отзывов об этом курсе

bearman:
откровенная ложь

возможно :)

S_A_N_T_A добавил 20.02.2010 в 18:48

S_A_N_T_A:
Берите книжку Вредные советы Остера, прочитайте и может научитесь слушать подобное.

Ага :) Самый дельный совет :)

Уже поставил на закачку книгу Котерова Дмитрия "PHP 5 в подлиннике"

seosniks:
Купи котерова PHP5, купи PHP для чайников, для начала хватит.
читай форумы php, главное желание.

Спс тоже возьму на заметку. А какого автора лучше взять для книги php для чайника?

frantic:
почитайте "PHP5 в подлиннике"

Пишут что "Книга хорошая но не для начинающих, ихмо подходит больше для профессионалов."

Всего: 581