ОБСУЖДЕНИЕ

ТОП: Небольшие вопросы по PHP

75 сообщений0 просмотровОткрыта
#21
BACbOK, тот код что не зависит от файлов инклуда в порядке.. тестировал на локал
#22
Кто поможет исправить ошибку такого рода?

Parse error: syntax error, unexpected end of file in /home/usr/data/vofsayde/vofsayde.ru/qchat/file.php on line 112

Осторожно, спойлер
PHP
<?php

define('_IN_JOHNCMS', 1);
$headmod = 'qchat';
require('../incfiles/core.php');
require('../incfiles/head.php');

if ($user_id) {

    if (!empty($_GET['a']) && ctype_digit($_GET['a'])) {

# Ответ

        $aUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $_GET['a'] . ";"));
        $text = $aUser['name'] . ', ' . $text;
    } else if (!empty($_GET['c']) && ctype_digit($_GET['c'])) {
# Цитирование
        $cPost = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $_GET['c'] . ";"));
        if ($cPost) {
            $cUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cPost['user'] . ";"));
        }
    }
if ($error) {
echo '<div class="rmenu">'.$error.'</div>';
}

echo '<div class="gmenu">' .
'<form action="?" name="form" method="post">';
if ($cPost) {

echo '<div class="quote">' .
'<div>';
echo '<b>'.$cUsr['name'].'</b>';
echo '&nbsp;('.functions::display_date($cMsg['date']).')';
echo '</div>';
echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
echo '</div>';
echo '<input type="hidden" name="cid" value="<?=$cPost['id']?>"/>' .
        }
'<div>' .
'<label>' .
'<textarea name="text" maxlength="1000">'.$text.'</textarea>' .
'</label>' .
'</div>' .
'<input type="submit" name="add" value="Сказать"/>' .
'</form>' .
'</div>';
  if (isset($_POST['add'])) {
# Добавление сообщения
        $text = mysql_real_escape_string(trim($_POST['text']));
        $date = time();
        $cid = 0;
        if (!empty($_POST['cid']) && ctype_digit($_POST['cid']))
            $cid = $_POST['cid'];

        if (mb_strlen($text) >= 2) {
            if (!mysql_num_rows(mysql_query("SELECT `id` FROM `chat` WHERE `user` = " . $user_id . " AND `date` > " . (time() - 5) . ";"))) {
                if (mysql_query("INSERT INTO `chat` VALUES(0, " . $user_id . ", " . time() . ", '" . $text . "', " . $cid . ");")) {
header("Location: ../qchat/");
                    die;
                } else {
                    $error = 'Ошибка записи!';
                }
            } else {
                $error = 'Антифлуд. Подождите 5 сек.!';
            }
        } else {
            $error = 'Минимальная длина сообщения - 2 символа!';
        }
   }
if ($error) {
    echo '<div class="rmenu">' . $error . '</div>';
}
$query = mysql_query("SELECT * FROM `chat` ORDER BY `date` DESC LIMIT 5");
   
while ($msg = mysql_fetch_array($query)) {
$usr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $msg['user'] . ";"));
echo '<div class="list' . ($i % 2 + 1) . '">';
echo functions::display_user($usr, array('iphide' => true));

/* Вывод цитируемого сообщения(если есть) */
if ($msg['cid']) {
$cMsg = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $msg['cid'] . ";"));
$cUsr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cMsg['user'] . ";"));

echo '<div class="quote">' .
'<div>';
echo '<b>'.$cUsr['name'].'</b>';
echo '&nbsp;('.functions::display_date($cMsg['date']).')';
echo '</div>';
echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
echo '</div>';
}
echo functions::smileys(functions::checkout($msg['text'], 1, 1), 0);
echo '<div class="sub"><span class="gray">'.functions::display_date($msg['date']).'</span>';
if ($user_id != $msg['user']) {
echo '&nbsp;(<a href="?a='.$msg['user'].'">Отв.</a> | <a href="?c='.$msg['id'].'">Цит.</a>)';
}
echo '</div>';
echo '</div>';
++$i;
}

require_once('../incfiles/end.php');
?>

#23
Vagus,
PHP
<?php

define('_IN_JOHNCMS', 1);
$headmod = 'qchat';
require('../incfiles/core.php');
require('../incfiles/head.php');

if ($user_id) {

    if (!empty($_GET['a']) && ctype_digit($_GET['a'])) {

# Ответ

        $aUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $_GET['a'] . ";"));
        $text = $aUser['name'] . ', ' . $text;
    } else if (!empty($_GET['c']) && ctype_digit($_GET['c'])) {
# Цитирование
        $cPost = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $_GET['c'] . ";"));
        if ($cPost) {
            $cUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cPost['user'] . ";"));
        }
    }
if ($error) {
echo '<div class="rmenu">'.$error.'</div>';
}

echo '<div class="gmenu">' .
'<form action="?" name="form" method="post">';
if ($cPost) {

echo '<div class="quote">' .
'<div>';
echo '<b>'.$cUsr['name'].'</b>';
echo '&nbsp;('.functions::display_date($cMsg['date']).')';
echo '</div>';
echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
echo '</div>';
echo '<input type="hidden" name="cid" value="<?=$cPost['id']?>"/>' .
        }
'<div>' .
'<label>' .
'<textarea name="text" maxlength="1000">'.$text.'</textarea>' .
'</label>' .
'</div>' .
'<input type="submit" name="add" value="Сказать"/>' .
'</form>' .
'</div>';
  if (isset($_POST['add'])) {
# Добавление сообщения
        $text = mysql_real_escape_string(trim($_POST['text']));
        $date = time();
        $cid = 0;
        if (!empty($_POST['cid']) && ctype_digit($_POST['cid']))
            $cid = $_POST['cid'];

        if (mb_strlen($text) >= 2) {
            if (!mysql_num_rows(mysql_query("SELECT `id` FROM `chat` WHERE `user` = " . $user_id . " AND `date` > " . (time() - 5) . ";"))) {
                if (mysql_query("INSERT INTO `chat` VALUES(0, " . $user_id . ", " . time() . ", '" . $text . "', " . $cid . ");")) {
header("Location: ../qchat/");
                    die;
                } else {
                    $error = 'Ошибка записи!';
                }
            } else {
                $error = 'Антифлуд. Подождите 5 сек.!';
            }
        } else {
            $error = 'Минимальная длина сообщения - 2 символа!';
        }
   }
if ($error) {
    echo '<div class="rmenu">' . $error . '</div>';
}
$query = mysql_query("SELECT * FROM `chat` ORDER BY `date` DESC LIMIT 5");
   
while ($msg = mysql_fetch_array($query)) {
$usr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $msg['user'] . ";"));
echo '<div class="list' . ($i % 2 + 1) . '">';
echo functions::display_user($usr, array('iphide' => true));

/* Вывод цитируемого сообщения(если есть) */
if ($msg['cid']) {
$cMsg = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $msg['cid'] . ";"));
$cUsr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cMsg['user'] . ";"));

echo '<div class="quote">' .
'<div>';
echo '<b>'.$cUsr['name'].'</b>';
echo '&nbsp;('.functions::display_date($cMsg['date']).')';
echo '</div>';
echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
echo '</div>';
}
echo functions::smileys(functions::checkout($msg['text'], 1, 1), 0);
echo '<div class="sub"><span class="gray">'.functions::display_date($msg['date']).'</span>';
if ($user_id != $msg['user']) {
echo '&nbsp;(<a href="?a='.$msg['user'].'">Отв.</a> | <a href="?c='.$msg['id'].'">Цит.</a>)';
}
echo '</div>';
echo '</div>';
++$i;
}
}

require_once('../incfiles/end.php');
?>
#24
Romasik, Новые появились, при чем с самого верха...



kod
PHP
<?php 

define('_IN_JOHNCMS', 1); 
$headmod = 'qchat'; 
require('../incfiles/core.php'); 
require('../incfiles/head.php'); 

if ($user_id) { 

    if (!empty($_GET['a']) && ctype_digit($_GET['a'])) {

# Ответ 

        $aUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $_GET['a'] . ";"));
        $text = $aUser['name'] . ', ' . $text;
    } else if (!empty($_GET['c']) && ctype_digit($_GET['c'])) {
# Цитирование 
        $cPost = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $_GET['c'] . ";"));
        if ($cPost) { 
            $cUser = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cPost['user'] . ";"));
        } 
    } 
    if ($error) { 
        echo '<div class="rmenu">' . $error . '</div>'; 
    } 

    echo '<div class="gmenu">' . 
        '<form action="?" name="form" method="post">';
    if ($cPost) { 

        echo '<div class="quote">' . 
            '<div>'; 
        echo '<b>' . $cUsr['name'] . '</b>'; 
        echo '&nbsp;(' . functions::display_date($cMsg['date']) . ')';
        echo '</div>'; 
        echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
        echo '</div>'; 
        echo '<input type="hidden" name="cid" value="<?=$cPost['id'];?>"/>'; 
        } 

    '<div>' . 
    '<label>' . 
    '<textarea name="text" maxlength="1000">' . $text . '</textarea>' . 
    '</label>' . 
    '</div>' . 
    '<input type="submit" name="add" value="Сказать"/>' . 
    '</form>' . 
    '</div>'; 
    if (isset($_POST['add'])) { 
# Добавление сообщения 
        $text = mysql_real_escape_string(trim($_POST['text']));
        $date = time(); 
        $cid = 0; 
        if (!empty($_POST['cid']) && ctype_digit($_POST['cid']))
            $cid = $_POST['cid']; 

        if (mb_strlen($text) >= 2) { 
            if (!mysql_num_rows(mysql_query("SELECT `id` FROM `chat` WHERE `user` = " . $user_id . " AND `date` > " . (time() - 5) . ";"))) {
                if (mysql_query("INSERT INTO `chat` VALUES(0, " . $user_id . ", " . time() . ", '" . $text . "', " . $cid . ");")) {
                    header("Location: ../qchat/"); 
                    die; 
                } else { 
                    $error = 'Ошибка записи!';
                } 
            } else { 
                $error = 'Антифлуд. Подождите 5 сек.!';
            } 
        } else { 
            $error = 'Минимальная длина сообщения - 2 символа!';
        } 
    } 
    if ($error) { 
        echo '<div class="rmenu">' . $error . '</div>'; 
    } 
    $query = mysql_query("SELECT * FROM `chat` ORDER BY `date` DESC LIMIT 5");

    while ($msg = mysql_fetch_array($query)) {
        $usr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $msg['user'] . ";"));
        echo '<div class="list' . ($i % 2 + 1) . '">';
        echo functions::display_user($usr, array('iphide' => true));

        /* Вывод цитируемого сообщения(если есть) */
        if ($msg['cid']) { 
            $cMsg = mysql_fetch_array(mysql_query("SELECT * FROM `chat` WHERE `id` = " . $msg['cid'] . ";"));
            $cUsr = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = " . $cMsg['user'] . ";"));

            echo '<div class="quote">' .
                '<div>'; 
            echo '<b>' . $cUsr['name'] . '</b>'; 
            echo '&nbsp;(' . functions::display_date($cMsg['date']) . ')';
            echo '</div>'; 
            echo functions::smileys(functions::checkout($cMsg['text'], 1, 1), 0);
            echo '</div>'; 
        } 
        echo functions::smileys(functions::checkout($msg['text'], 1, 1), 0);
        echo '<div class="sub"><span class="gray">' . functions::display_date($msg['date']) . '</span>'; 
        if ($user_id != $msg['user']) {
            echo '&nbsp;(<a href="?a=' . $msg['user'] . '">Отв.</a> | <a href="?c=' . $msg['id'] . '">Цит.</a>)'; 
        } 
        echo '</div>'; 
        echo '</div>'; 
        ++$i; 
    } 
} 


require_once('../incfiles/end.php'); 
?>


Parse error: syntax error, unexpected ''qchat'' (T_CONSTANT_ENCAPSED_STRING) in /home/usr/data/vofsayde/vofsayde.ru/qchat/file-1.php on line 4
#25
какой код нужно прописать в беседке и форуме на дкмс 6 6 4 для того что бы приходили оповещения в журнал?
#26
Оповещения о чем?
#27
Как исправить?
Strict Standards: Only variables should be assigned by reference in /home/usr/data/collektive/public_html/sys/fnc/passgen.php on line 24
PHP
1 <?
 2 function passgen($k_simb=8, $types=3) { 
 3 $password=""; 
 4 $small="abcdefghijklmnopqrstuvwxyz"; 
 5 $large="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 6 $numbers="1234567890"; 
 7 mt_srand((double)microtime()*1000000);  
 8 for ($i=0; $i<$k_simb; $i++) {  
 9 $type=mt_rand(1,min($types,3)); 
10 switch ($type) { 
11 case 3: 
12 $password.=$large[mt_rand(0,25)]; 
13 break; 
14 case 2: 
15 $password.=$small[mt_rand(0,25)]; 
16 break; 
17 case 1: 
18 $password.=$numbers[mt_rand(0,9)]; 
19 break; 
20 } 
21 } 
22 return $password; 
23 } 
24 $passgen=&passgen(); 
25 ?>
#28
BahuS, Убери &
#29
XaoS, Спасибо:)
#30
Подскажите новичку , почему отображает онлайн только на главной странице? на других не хочет echo "<img src='pic/main/online.gif' alt='*'/> <a href=\"online.php?\">Игроки онлайн </a>($online)<br/> " ;
..
#31
Значит переманная онлайн не обьявлена только на главной
#32
bage, как обьявить?
#33
Rusalc,
PHP

<?php
$pridurok ='зеачение';
?>
#34
Ребята когда нужно использовать ob_start(); или что она выполняет?
#35
Люди,а как сделать,чтоб адрес написаный в новостях и комментах через http,https выделялся ссылкой?
#36
CODE
это буферизации вывода то есть если есть вывод а нет ob_start(); будет выводить код или ошибку например 
header("location: "http://osites.ru");
может и не работать если перед этим выведена шапка
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
это в простом варианте
#37
тебе нужна функция bb кодов как пример
PHP

/////////////////////////////////////////////////
///ФУНКЦИЯ обработка тегов в тексте//////////
/////////////////////////////////////////////////

function tags($text = '') {
$text = preg_replace('#\[b\](.*?)\[/b\]#si', '<font style="font-weight:bold;">$1</font>', $text);
$text = preg_replace('#\[i\](.*?)\[/i\]#si', '<font style="font-style:italic;">$1</font>', $text);
$text = preg_replace('#\[u\](.*?)\[/u\]#si', '<font style="text-decoration:underline;">$1</font>', $text);
$text = preg_replace('#\[s\](.*?)\[/s\]#si', '<font style="text-decoration: line-through;">$1</font>', $text);
$text = preg_replace('#\[red\](.*?)\[/red\]#si', '<font style="color:red">$1</font>', $text);
$text = preg_replace('#\[green\](.*?)\[/green\]#si', '<font style="color:green">$1</font>', $text);
$text = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<font style="color:blue">$1</font>', $text);
$text = preg_replace_callback('~\\[url=(https?://.+?)\\](.+?)\\[/url\\]|(https?://(www.)?[0-9a-z\.-]+\.[0-9a-z]{2,6}[0-9a-zA-Z/\?\.\~&_=/%-:#]*)~', 'url_replace', $text);
return $text;
}

/////////////////////////////////////////////////
///ФУНКЦИЯ парсинга ссылки//////////
/////////////////////////////////////////////////

function url_replace($s) {
if (!isset ($s[3])) {
return '<a href="'.$s[1].'" target="_blank">'.$s[2].'</a>';
}
else {
return '<a href="'.$s[3].'" target="_blank">'.$s[3].'</a>';
}
}     

/////////////////////////////////////////////////
///ФУНКЦИЯ смайлов//////////
/////////////////////////////////////////////////

function smileys($text){
$text = strtr($text, array(
'[:)]'=>'<img src="smileys/1.gif" alt=":)"/>',
'[:-)]'=>'<img src="smileys/1.gif" alt=":)"/>',
'[:(]'=>'<img src="smileys/2.gif" alt=":("/>',
'[:-(]'=>'<img src="smileys/2.gif" alt=":("/>',
'[:P]'=>'<img src="smileys/3.gif" alt=":P"/>',
'[:-P]'=>'<img src="smileys/3.gif" alt=":P"/>',
'[:D]'=>'<img src="smileys/4.gif" alt=":D"/>',
'[:-D]'=>'<img src="smileys/4.gif" alt=":D"/>',
'[;)]'=>'<img src="smileys/5.gif" alt=";)"/>',
'[;-)]'=>'<img src="smileys/5.gif" alt=";)"/>',
));
return $text;
} 


применение оч простое
BASH

echo ''.smileys(tags($new['tema'])).'';


в данном варианте я просто применил вывод смайлов тегов и ссылок , при определенной простой обработке можно и манипулировать или себе применить

P/S
CODE

$new['tema']

это вывод текста например с новостей форума чата и так далее , прототип данных функций применен и в этом сайте
#38
просмотри что инклудится на главно что на остальных, если инклуды ног разный просмотри что на главной инклуд зайди просмотри как идет вывод онлай на главной и впиши в инклуде других страниц, стандарт
#39
OnOff,
PHP
# BB коды взято с JohnCms
 function bbcode($var)
  {
// Список поиска
        $search = array(
            '#\[b](.+?)\[/b]#is',                                              // Жирный
            '#\[i](.+?)\[/i]#is',                                              // Курсив
            '#\[u](.+?)\[/u]#is',                                              // Подчеркнутый
            '#\[s](.+?)\[/s]#is',                                              // Зачеркнутый
            '#\[small](.+?)\[/small]#is',                                      // Маленький шрифт
            '#\[big](.+?)\[/big]#is',                                          // Большой шрифт
            '#\[red](.+?)\[/red]#is',                                          // Красный
            '#\[green](.+?)\[/green]#is',                                      // Зеленый
            '#\[blue](.+?)\[/blue]#is',                                        // Синий
            '!\[color=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+)](.+?)\[/color]!is', // Цвет шрифта
            '!\[bg=(#[0-9a-f]{3}|#[0-9a-f]{6}|[a-z\-]+)](.+?)\[/bg]!is',       // Цвет фона
            '#\[(quote|c)](.+?)\[/(quote|c)]#is',                              // Цитата
            '#\[\*](.+?)\[/\*]#is'                                             // Список
        );
        // Список замены
        $replace = array(
            '<span style="font-weight: bold">$1</span>',                       // Жирный
            '<span style="font-style:italic">$1</span>',                       // Курсив
            '<span style="text-decoration:underline">$1</span>',               // Подчеркнутый
            '<span style="text-decoration:line-through">$1</span>',            // Зачеркнутый
            '<span style="font-size:x-small">$1</span>',                       // Маленький шрифт
            '<span style="font-size:large">$1</span>',                         // Большой шрифт
            '<span style="color:red">$1</span>',                               // Красный
            '<span style="color:green">$1</span>',                             // Зеленый
            '<span style="color:blue">$1</span>',                              // Синий
            '<span style="color:$1">$2</span>',                                // Цвет шрифта
            '<span style="background-color:$1">$2</span>',                     // Цвет фона
            '<span class="quote" style="display:block">$2</span>',             // Цитата
            '<span class="bblist">$1</span>'                                   // Список
        );
        return preg_replace($search, $replace, $var);
}


Как в таком коде реализовать,не поможешь?
и еще страничку бы,справку по кодам написать. не знаю,как бб код примером прописать на страничку.
#40
в твоей функци не адреса (ссылки) а только цвета и выделения
Страница 2 из 4 · Всего записей: 75