Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Открыть новую тему     Написать ответ в эту тему

SafeWay



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Начну:

Код:
 
  function err_handler ($errno, $errstr, $errfile, $errline) {
    global $display_errors;
    if(($errno != E_NOTICE && $errno != E_WARNING) && $display_errors){
      echo '';
    }
  }
  $error_flags = E_ALL & ~E_NOTICE;
  @error_reporting($error_flags);
  @ini_set ('error_reporting', $error_flags);
  $old_error_handler = set_error_handler("err_handler");
 

 
Бывает полезным, убивает все нотайсы, выводы ошибок и прочее.
 
ЗЫ: Желательно прикрепить.



Публикуем решения, а не задаем вопросы!
Тех же, кто этого не понимает, будем БАНИТЬ!  
Тема именно для уникальных, оригинальных и красивых решений. Если ты только взялся изучать php - не стоит сюда писать, так как, заведомо, у тебя не будет такого решения
 
ps: выделил специально для тех, у кого проблемы со зрением.





Цитата:
ЗЫ: Желательно прикрепить.
В ПМ по этому поводу писать надо. — Svarga.

Всего записей: 365 | Зарегистр. 28-12-2003 | Отправлено: 07:30 26-07-2004 | Исправлено: Cheery, 16:57 25-03-2007
Shaun



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я решил чет сам написать и прошу вашей помощи!! Проблема и задача такова!
Маленький скриптик добавления в БД запись фильма и т.д. и т.п.
 
--1--add.php
<html>
<head><title>add_film</title></head>
 
<body bgcolor=#e9e9e9>
<center><h1>????????</h1></center>
 
<form method="post" action="insert_bd.php">
<table border=1>
<tr><td>Название фильма</td><td><input type="text" name="film" size="45"><br></td>
<tr><td>Актер</td><td><input type="text" name="akter" size="45"><br></td>
<tr><td>Жанр</td><td><input type="text" name="ganr" size="45"><br></td>
<tr><td>Размер</td><td><input type="text" name="size" size="45"><br></td>
</tr>
</table>
<br>
<input type="submit" name="add" size="15"><br>
<br>
</form>
 
<a href=.\index.php>Go BacK</a>
</body>
</html>
 
--2--insert_bd.php
<?php
$film = "film";
$akter = "akter";
$ganr = "ganr";
$size = "size";
 
$link = mysql_connect("localhost", "film", "film") or
    die("Could not connect: " . mysql_error());
 
 
         mysql_select_db("film");
 
$query = "insert into bd_films values ('".$film."', '".$akter."', '".$ganr."', '".$size."')";
$result = mysql_query($query);
printf ("Last inserted record has id %d\n", mysql_insert_id());
 
     mysql_close($link);
?>
 
 
Бд создана! все ок !! А добавлять не хочет!! НЕ найду ошибку !Помагите плз)))Де то ,что то не написал!




Посмотри на верх, там специально выделено красным, для тех у кого проблемы со зрением..

Всего записей: 180 | Зарегистр. 01-05-2003 | Отправлено: 22:56 11-09-2005
zoza



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
$film = "film";  
на
$film = $_POST['film'];  
 
и так все...
 
только щас в лоб дадут... за вопрос не в теме.... и мне тоже..  

Всего записей: 131 | Зарегистр. 24-01-2004 | Отправлено: 02:01 12-09-2005 | Исправлено: zoza, 02:04 12-09-2005
MOFA



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если register_globals= Off:
 

Код:
 
$hash= $HTTP_GET_VARS;
foreach ($hash as $key=>$value){
$$key= $value;
}
 






для этого есть просто функция extract /Cheery/
ps: и не нужно давать того, в чем сам не разбираешься.. HTTP_GET_VARS устаревшее обращение

Всего записей: 20 | Зарегистр. 29-01-2005 | Отправлено: 12:08 17-09-2005 | Исправлено: Cheery, 07:58 19-09-2005
Zver1992

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Удалено.




Еще раз.. для тех, кому нужны очки.. в шапке сказано, что "вопросы тут(!!!) НЕ(!!) задаются" /Cheery/

Всего записей: 599 | Зарегистр. 30-10-2004 | Отправлено: 21:27 30-09-2005 | Исправлено: Zver1992, 21:41 30-09-2005
zergussino



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Не раз сталкивался с проблемой, что надо скачать все фотки с галереи где фотки можно открыть как, например, здесь http://people.freenet.de/leah01/1.jpg
Написал в результате простенький скрипт который это делает. Скрипт сырой, но может кому-нибудь сэкономит 20 минут времени. Кстати, если кто знает как добиться вывода сообщений в процессе его работы, а не по его завершению  - киньте совет на мыло zergussino [собака] mail.ru
<?
set_time_limit(0);
function wwwcopy($file,$nfile)
{
  echo "Читаем <b>".addslashes($file)."</b> ...<br />";
   $fp = @fopen($file,"rb");
   while(!feof($fp))
   {
       $cont.= fread($fp,1024);
   }
   fclose($fp);
  echo "Пишем <b>".addslashes($nfile)."</b> ...<br />";
   $fp2 = @fopen($nfile,"w");
   fwrite($fp2,$cont);
   fclose($fp2);
}
 
$server_name = 'http://урл_хоста/';
$local_directory = "C:/локальная_директория/";
$file_template = '%s.jpg';
 
 
for ($i=$_GET['start'];$i<$_GET['end'];$i++){
  wwwcopy($server_name.sprintf($file_template, $i), $local_directory.sprintf($file_template, $i));
}
?>

Всего записей: 15 | Зарегистр. 23-06-2005 | Отправлено: 19:39 18-10-2005
ManHunter



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с задачей динамической подгрузки контента на страницу (длиннющие списки).
Решил ее следующим образом:
 
На странице:

Код:
<script>
function findObj(id) {
  if(document.all)
    return document.all[id];
  else
    return document.getElementById(id);
}
 
function branch(id) {
  e=findObj('s'+id);
  if (!e) return;
  e.innerHTML="<b>Подождите, идет загрузка...</b>";
  e.style.display='block';
  e=findObj('loader');
  if (!e) return;
  e.src="branch.php?id="+id;
}
</script>
 
<span onClick="javascript:branch(1);">Первый</span><br>
<span id="s1" style="display:none; padding-left:20px;">&nbsp;</span>
<span onClick="javascript:branch(2);">Второй</span><br>
<span id="s2" style="display:none; padding-left:20px;">&nbsp;</span>
<span onClick="javascript:branch(3);">Третий</span><br>
<span id="s3" style="display:none; padding-left:20px;">&nbsp;</span>
 
<iframe id="loader" src="about:blank" vspace="0" hspace="0" marginwidth="0" marginheight="0" frameborder="0" height="0" scrolling="no" width="0"></iframe>

 
"Подгрузчик" branch.php, принимает из командной строки некий id, по которому генерит список:
Код:
<?
$id=intval($_GET[id]);
if ($id==0) exit;
?>
<html>
<body onLoad="javascript:set_branch();">
 
<script>
function findObj(id) {
  if(document.all)
    return document.all[id];
  else
    return document.getElementById(id);
}
function set_branch() {
  e=findObj('branch');
  if (!e) return;
  p=(parent.document.all?parent.document.all['s<?=$id;?>']:parent.document.getElementById('s<?=$id;?>'));
  if (!p) return;
  p.innerHTML = e.innerHTML;
}
</script>
 
<span id="branch">
Здесь список, который генерится динамически,
можно делать неограниченные уровни вложений, просто добавлять поля
как на основной странице, но со своими id, типа  
 
<span onClick="javascript:branch(<?=some_id;?>);">Первый</span><br>
<span id="s<?=some_id;?>" style="display:none; padding-left:20px;">&nbsp;</span>
 
</span>
 
</body>
</html>


----------
"На любое мое движение ваша реакция предусмотрена,
В лучшем случае - равнодушие, в худшем случае - патология..." (C) Егор Летов

Всего записей: 2919 | Зарегистр. 20-03-2004 | Отправлено: 14:30 25-10-2005
Rendom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Способ генерации случайного числа (или даже последовательности случайных чисел) неменяющимся в течении определенного времени (час, 2, сутки... любого).

Код:
<?
    $REGEN_TIME = 3600*24*1; //Время в течении которого пследовательность случайных чисел не должна меняться в секундах.
    srand(floor(time()/$REGEN_TIME));
?>
 

после данного кода любой вызов функции rand() в течении суток будет выдавать одинаковые последовательности чисел... Где применять? Ну это каждый сам для себя решит... Передомоной когдато стояла задача генерировать сайт разный раз в неделю помоему... и при этом на винт желательно ничего не писать (места мало было ), вот я и выкрутился так....

Всего записей: 115 | Зарегистр. 27-10-2002 | Отправлено: 04:06 01-11-2005
UvazHai



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, помогите, плз...
 
У меня два вопроса, выручайте
 





К доктору обращался? За очками. Большими и красными буквами в шапке написано, что здесь не задают вопросы! /Cheery/

Всего записей: 32 | Зарегистр. 09-06-2003 | Отправлено: 14:54 04-11-2005 | Исправлено: Cheery, 22:03 04-11-2005
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
к вопросу о классе Thumbnails, линк на оригинал
http://www.hido.net/projects/phpThumbnailer/
 
также хочу поделиться очень замечательным классом для работы с XML документами.
MiniXML
http://minixml.psychogenic.com/index.html
на сайте предоставлена вся API документация.
 
Добавлено:
2Cheery
 
Добавлено:
ну и раз пошла волна, то еще добавлю от себя:
небольшой код, который вырезает из выходного HTML скрипта все лишние пробелы, табуляции и HTML комментарии. Просто поместитие это в начало скрипта, правда включается буферизация вывода.

Код:
 
function callback ($buffer) {
//Отсекаем лишнее
 $patterns = array ( "/<!--.{0,}-->/", "/<!--.{0,}-->/", "/ {2,}/", "/\t{1,}/", "/\r\n/", "/^\s{1,}/m");
 $replaces = array ( "", "", " ", " ", "\n", "");
//Возвращаем буфер
 return( preg_replace ($patterns, $replaces, $buffer ) );
}
//Буферизация вывода
ob_start("callback");
 

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 02:05 08-11-2005 | Исправлено: Ternik, 05:26 08-11-2005
morjov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ternik, если бы твой скрипт ещё и скрипты со стилями не трогал, то цены бы ему не было




Личные обращения не теме - в ПМ, плиз. /Cheery/

Всего записей: 340 | Зарегистр. 05-01-2004 | Отправлено: 15:52 08-11-2005 | Исправлено: Cheery, 23:55 08-11-2005
dartvaider



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
НАРОД подскажите плиз есть ли где нибуть скрипт новостей на php который черпает новости с RSS 2.0
ОЧЕНЬ НАДО




советую обратиться к врачу за очками. в шапке все об этом сказано /Cheery/

Всего записей: 534 | Зарегистр. 31-08-2005 | Отправлено: 11:08 01-12-2005 | Исправлено: Cheery, 21:44 01-12-2005
hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Функция обработки BB-кодов однопроходная:

Код:
function protection ($text)
// Замена опасных символов:
{
    return str_replace (array("&", "'", "\"", "<", ">"), array("&amp;", "&#39;", "&quot;", "&lt;", "&gt;"), $text);
}
 
function check_url ($url)
// Корректироваа URL-адреса:
{
    return preg_match ("#^(http://|https://|ftp://|mailto#", $url)
        ? $url
        : $url = "http://" . str_replace (":", "%3A", $url);
}
 
$colors = array(
        "darkred" => 1,
        "red" => 1,
        "orange" => 1,
        "brown" => 1,
        "yellow" => 1,
        "green" => 1,
        "olive" => 1,
        "cyan" => 1,
        "cyan" => 1,
        "blue" => 1,
        "darkblue" => 1,
        "indigo" => 1,
        "violet" => 1,
        "white" => 1,
        "silver" => 1,
        "gray" => 1,
        "black" => 1);
 
function bb_codes ($text, $smiles)
// Обработка BB-кодов:
{
    global $colors;
    $text = str_replace ("`", "'", $text);
    $codes = array();
    $cnum = 0;
    $res = "";
    $p = 0;
    while ( true )
    {
        if ( ($l = strpos ($text, "[", $p)) === false )
        {
            $res .= substr ($text, $p);
            break;
        }
        if ( ($r = strpos ($text, "]", $l)) === false )
        {
            $res .= substr ($text, $p);
            break;
        }
        $res .= substr ($text, $p, $l - $p);
        $tag = substr ($text, $l + 1, $r - $l - 1);
        if ( ($e = strpos ($tag, "=")) !== false )
        {
            $val = substr ($tag, $e + 1);
            $tag = substr ($tag, 0, $e);
        } else $val = "";
        $c = $p = $r;
        while ( ($c = strpos ($text, "[/$tag]", $c + 1)) !== false &&  
            ($p = strpos ($text, "[$tag]", $p + 1)) !== false && $p < $c );
        if ( $c === false )
        {
            $res .= "[";
            $p = $l + 1;
            continue;
        }
        $con = substr ($text, $r + 1, $c - $r - 1);
        $err = true;
                
        if ( $tag === "b" )
        { // Жирный:
            $con = "<b class=\"bb\">" . bb_codes ($con, $smiles) . "</b>";
            $err = false;
        } elseif ( $tag === "i" )
        { // Курсив:
            $con = "<i class=\"bb\">" . bb_codes ($con, $smiles) . "</i>";
            $err = false;
        } elseif ( $tag === "u" )
        { // Подчеркнутый:
            $con = "<u class=\"bb\">" . bb_codes ($con, $smiles) . "</u>";
            $err = false;
        } elseif ( $tag === "center" )
        { // По центру:
            $con = "<div align=\"center\" class=\"bb\">" . bb_codes ($con, $smiles) . "</div>";
            $err = false;
        } elseif ( $tag === "right" )
        { // По правому краю:
            $con = "<div align=\"right\" class=\"bb\">" . bb_codes ($con, $smiles) . "</div>";
            $err = false;
        } elseif ( $tag === "color" )
        { // Цвет шрифта:
            $val = strtolower ($val);
            if ( isset ($colors[$val]) || preg_match ("/^#[0-9a-f]{6}$/", $val) )
            {
                $con = "<font color=\"$val\" class=\"bb\">" . bb_codes ($con, $smiles) . "</font>";
                $err = false;
            }
        } elseif ( $tag === "size" )
        { // Размер шрифта:
            if ( preg_match ("#^[1-7]$#", $val) )
            {
                $con = "<font size=\"$val\" class=\"bb\">" . bb_codes ($con, $smiles) . "</font>";
                $err = false;
            }
        } elseif ( $tag === "no" )
        { // Не обрабатывать BB-коды:
            $con = nl2br (protection ($con));
            $err = false;
        } elseif ( $tag === "code" )
        { // Исходный код:
            if ( ! empty ($con) )
            {
                $comment = protection (( empty ($val) ) ? "Code:" : "Code ($val):");
                $con = protection ($con);
                $con = "<table width=\"90%\" class=\"code\"><tr><th>$comment</th></tr><tr><td><pre class=\"bb\">$con</pre></td></tr></table>";
            }
            $err = false;
        } elseif ( $tag === "quote" )
        { // Цитата:
            if (! empty ($con) )
            {
                $comment = protection (( empty ($val) ) ? "Quote:" : "$val wrote:");
                $con = "<table width=\"90%\" class=\"quote\"><tr><th>$comment</th></tr><tr><td>" .
                    bb_codes ($con, $smiles) . "</td></tr></table>";
            }
            $err = false;
        } elseif ( $tag === "img" )
        { // Вставка картинки:
            if ( strpos ("?", $con) === false && preg_match ("#.(gif|png|jpg|jpeg|tiff)$#", $con) )
            {
                $title = empty ($val) ? "" : " title=\"" . protection ($val) . "\"";
                $con = protection (check_url ($con));
                $con = "<img src=\"$con\" alt=\"$con\"$title class=\"bb\" />";
                $err = false;
            }
        } elseif ( $tag === "url" )
        { // Вставка гиперссылки:
            $href = protection (check_url (empty ($val) ? $con : $val));
            if ( ! empty ($val) ) $con = bb_codes ($con, $smiles);
            $con = "<a href=\"$href\" target=\"_blank\" class=\"bb\">$con</a>";
            $err = false;
        }
        if ( $err === true )
        {
            $res .= "[";
            $p = $l + 1;
            continue;
        }
        
        $cd = "`" . (++$cnum) . "`";
        $codes[$cd] = $con;
        $res .= $cd;
        $p = $c + strlen ($tag) + 3;
    }
    
    // Подсветка ссылок:
    $prot = array ("http://", "https://", "ftp://", "www.");
    $ahref = array();
    for ($i = 0; $i < count ($prot); $i++)
    {
        $p = 0;
        while ( true )
        {
            $p = strpos ($res, $prot[$i], $p);
            if ( $p === false ) break;
            $url = $prot[$i];
            $p += strlen ($url);
            while ( $p < strlen ($res) && preg_match ("([0-9a-zA-Z_\\-+%&?:@.\\=/#])", $res[$p]) ) $url .= $res[$p++];
            $cd = "`" . (++$cnum) . "`";
            $ahref[$url] = $cd;
            $url = protection ($url);
            $href = ( $prot[$i] === "www." ) ? "http://$url" : $url;
            $codes[$cd] = "<a href=\"$href\" target=\"_blank\" class=\"bb\">$url</a>";
        }
    }
    $res = str_replace (array_keys ($ahref), array_values ($ahref), $res);
    
    // Замена смайликов:
    foreach ($smiles as $smile => $img)
    {
        $cd = "`" . (++$cnum) . "`";
        $sm = protection ($smile);
        $codes[$cd] = "<img src=\"$img\" alt=\"$sm\" title=\"$sm\" class=\"smile\" />";
        $smiles[$smile] = $cd;
    }
    $res = str_replace (array_keys ($smiles), array_values ($smiles), $res);
        
    return str_replace (array_keys ($codes), array_values ($codes), nl2br (protection ($res)));
}

Доступны следующие псевдотеги:
[b]text[/b] - жирный
[i]text[/i] - курсив
[u]text[/u] - подчеркнутый
[center]text[/center] - по центру
[right]text[/right] - справа
[color=#ffffff]text[/color], [color=red]text[/color] - цвет текста
[size=5]text[/size] - размер шрифта
[code]text[/code], [code=Pascal]text[/code] - исходный код (нуждается в корректировки, определяется стилями)
[quote]text[/quote], [quote=username]text[/quote] - цитата (определяется стилями)
[img]src[/img], [img=title]src[/img] - картинка
[url]href[/url], [url=href]text[/url] - ссылка
[nо]text[/nо] - отмена действия BB-кодов.
 
Автоматически подсвечиваются ссылки, начинающиеся с http://, https://, ftp://, www.
Смайлики передавать в виде хэш-массива: ключи - мнемоника смайла, значение - путь к картинки.
Работает не очень быстро, но корректно. Если ее модифицировать в двупроходную, то скорость будет хорошей.
 
И вот функция, вырезающая все BB-коды из сообщения, оставляющая только текст:

Код:
function no_bb ($text, $smiles)
// Удаление bb-кодов:
{
    // Вырезаем блоки qoute и code:
    $remove = array ("quote", "code");
    for ($i = 0; $i < count ($remove); $i++)
    {
        $l = 0;
        do
        {
            $l = $r = $p = strpos ($text, "[{$remove[$i]}", $l);
            if ( $l !== false )
            {
                while ( ($r = strpos ($text, "[/{$remove[$i]}]", $r + 1)) !== false &&  
                    ($p = strpos ($text, "[{$remove[$i]}", $p + 1)) !== false && $p < $r );
                if ( $r !== false ) $text = substr ($text, 0, $l) . substr ($text, $r + strlen ($remove[$i]) + 3);                
            }
        } while ( $l !== false );
    }
 
    // Вырезаем смайлики:
    $text = str_replace (array_keys ($smiles), "", $text);
    
    // Вырезаем все псевдотеги:
    $l = 0;
    do
    {
        $l = strpos ($text, "[", $l);
        if ( $l !== false )
        {
            $r = strpos ($text, "]", $l);
            if ( $r !== false ) $text = substr ($text, 0, $l) . substr ($text, $r + 1);
        }
    } while ( $l !== false && $r !== false );
    
    return nl2br (protection ($text));
}

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 16:11 03-12-2005
Buffi1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
***.narod.ru




:moderator: лечиться нужно, пока не поздно /Cheery/

Всего записей: 1 | Зарегистр. 22-12-2005 | Отправлено: 17:15 22-12-2005 | Исправлено: Cheery, 19:13 22-12-2005
Ternik



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
лечиться нужно, пока не поздно /Cheery/

а вы посты не удаляете что-ли?




А вы правила не читаете? По поводу сообщений в ПМ /Cheery/

Всего записей: 763 | Зарегистр. 25-09-2002 | Отправлено: 23:15 28-12-2005 | Исправлено: Cheery, 23:17 28-12-2005
DenDruiD



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Функция для вывода списка файлов в данной дериктоии и ниже. Форматировать по вкусу.

Код:
 
function browse_tree($npath, $ipath, $showhtfiles=false){
   $op="";
   $notadir=array(".", "..");
   $dir=opendir($npath);
   while ($file=readdir($dir)){
     // если стоит опция не показывать файлы вроде ".htaccess" - проверяем
     $stripped_as_ht=($showhtfiles) ? false : (substr($file,0,1)==".") ;
   
     // если это не "." и не ".."
     if ((filetype($npath.$file)=="dir")&&(!in_array($file, $notadir)){
        $nipath="$ipath/$file";
        browse($npath.$file."/", $nipath);
     } else if ((!in_array($file,$notadir)) && (!$stripped_as_ht)) {
        $op.="$ipath/$file\n";
     }
   }
// При необходимости - раскомментировать следующую строку
// $op=nl2br($op);
   return $op;
}
 






Примеры внизу /Cheery/

Всего записей: 51 | Зарегистр. 31-01-2005 | Отправлено: 20:51 09-01-2006 | Исправлено: Cheery, 20:56 09-01-2006
StirolXXX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Функция обработки BB-кодов однопроходная:  

 
Большое спасибо!
 
Называйте меня извращенйом но я пишу свои сайты так:
 
index.php:

Код:
 
<?php
    require ".htfun/global.php";
    $title = "";
    require ".htempl/start.php";
    if (isset($_GET['module']) && !empty($_GET['module'])) {
        error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
        if (!include(untag($_GET['module']) . '.content')) {
        echo "Извините но такого модуля нет!";
        };
        error_reporting(E_ALL ^ E_NOTICE);
    } else {
        include('index.content');
    };
    require ".htempl/end.php";
?>
 

 
index.content

Код:
 
<p>***</p>
<?
echo "blablabla";
?>
<font class="suxx">***</font>
 

 
В .htfun/global.php ничего интерестного нету. Решение для новичков но главное что работает :)
 
P.S: Там где выделено красны - функция с этого топика...

Всего записей: 1690 | Зарегистр. 14-03-2004 | Отправлено: 02:56 10-01-2006
CyClon

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Интеграция самописного движка с форумом IPB 2.1.3
 
Кусок кода из mainfile.php  

Код:
/* Если у пользователя в COOKIE прописан параметр `id`, то запускаем проверку на совпадение пароля и идентификатора */  
 
if(!empty($_COOKIE['member_id'])) {  
require_once("includes/check.php");  
if($check_ok != 1) {  
echo "<b>Доступ запрещен!<b>\n";  
include("includes/redir_index.php");  
exit;  
}  
} else {  
 
$user_name = "Гость";  
$user_align = 0;  
 
}

 
check.php  

Код:
<?php  
 
$user_id = $_COOKIE['member_id'];  
$user_password = $_COOKIE['pass_hash'];  
 
$check_query = "SELECT * FROM ".$fp."members WHERE id = ".$user_id." AND member_login_key = '$user_password'";  
$check = mysql_query($check_query) or die("<b>Ошибка подключения к базе данных!</b><br>");
 
if ($check) { $check_ok = 1; } else { $check_ok = 0; }  
 
if ($check_ok == 1) {  
 
$user_data = mysql_fetch_array($check);  
 
$user_name = $user_data['name'];  
$user_email = $user_data['email'];  
$user_joined = $user_data['joined'];  
$user_login_key = $user_data['member_login_key'];  
$user_align = $user_data['mgroup'];  
 
$md5_key = md5($user_email.'&'.$user_login_key.'&'.$user_joined);  
 
}  
 
?>

 
Кусок кода из шакпи (Оформление) сайта header.php

Код:
<?php if (isset($check_ok) || $check_ok == 1) { ?>  
<table border=0><tbody><tr><td align=center>Да пребудет с тобой сила,&nbsp;<B><?php echo $user_name; ?>!</B>&nbsp;<BR>[ <a href="forum/index.php?act=Login&CODE=03&k=<?php echo $md5_key; ?>">Выход</a>&nbsp;|&nbsp;<a href="forum/index.php?act=UserCP&CODE=00">Профиль</a> ]</td></tr></tbody></table>  
<?php } else { ?>  
<form action="forum/index.php?act=Login&amp;CODE=01" method="post" name="LOGIN"><TABlE border=0><TBODY>  
<TR><TD ColSpan=2>Логин | <a href="forum/index.php?act=Reg&CODE=00">Регистрация</a></TD></TR>  
<TR><TD ColSpan=2><input type="text" size="25" maxlength="64" name="UserName"></TD><TR>  
<TR><TD ColSpan=2>Пароль | <a href="forum/index.php?act=Reg&CODE=10">Забыли?</TD></TR>  
<TR><TD>  
<input type="password" size="15" name="PassWord"></TD><TD><INPUT TYPE="submit" name="submit" value="Войти">  
<input type="hidden" name="CookieDate" value="1">  
<input type="hidden" name="Privacy" value="0">  
</TD></TR>  
</TBODY></TABLE></FORM>  
<?php } ?>

Всего записей: 13 | Зарегистр. 11-01-2006 | Отправлено: 13:38 11-01-2006
StirolXXX



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
CyClon
<offtopic>
А ниче подобного для vBulletin 3.5 нету?  
</offtopic>




Личные вопросы - в ПМ.. не нужно засорять топик /Cheery/

Всего записей: 1690 | Зарегистр. 14-03-2004 | Отправлено: 01:50 12-01-2006 | Исправлено: Cheery, 01:51 12-01-2006
CyClon

Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
StirolXXX
<offtopic>  
Я поклонник IPB и делал сам, поэтому ничего сказать не могу.
</offtopic>





Ну я же сделал по этому поводу замечание выше. Млин.. /Cheery/
2ALL: надоело.. если так и будет продолжаться - тему закрою и посты будут только через меня/

Всего записей: 13 | Зарегистр. 11-01-2006 | Отправлено: 16:01 12-01-2006 | Исправлено: Cheery, 17:52 12-01-2006
Dbimzon

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста подскажите, где можно взять готовое решение для вывода погоды в текстовом виде на сайт? Спасибо.




к окулисту.. мигом /Cheery/

Всего записей: 2 | Зарегистр. 23-11-2005 | Отправлено: 12:49 25-01-2006 | Исправлено: Cheery, 18:43 25-01-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Полезные (интересные и оригинальные) решения

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru