Просмотр полной версии : [php] Новичкам: задаем вопросы
почитай лучше книгу по Php - раздел работы с файлами. я щас выше описаное с книги привёл.
darckmilord
24.11.2007, 15:38
простите наверно за вообще глупый вопрос, но всетаки прошу помощи
в папке hpk которая в корнивеке есть файл 1.php
в папке kph которая в корнивеке есть файл 2.php
в файле 2.php есть некоя переменная $grt='ну вообще тупой вопрос';
как сделать инклюд файла 2.php в файл 1.php не указывая имени сервера.
есть пару книжек, но вних такие мелочи не рассматриваються, а скачать чтобы денег мало на счету, помогите пожалуйста.
в 1.php добавь строку:
include_once "../kph/2.php";
darckmilord
24.11.2007, 16:02
я так уже сам пробовал но выдает такую ошибку
Warning: main() [function.include]: Failed opening '/languages/ru.php' for inclusion (include_path='.;/usr/local/PHP/includes;/usr/local/PHP/pear') in W:\www\hpk\1.php on line 2
ты помоему чтото не то инклудиш... Failed opening '/languages/ru.php' проверь получше.
darckmilord
24.11.2007, 16:13
прости ты прав просто я имена файлов не поменял
вот полный текс ошибки и реальные имена файлов.
Warning: main(/languages/ru.php) [function.main]: failed to open stream: No such file or directory in W:\www\gb\send_mess.php on line 2
Warning: main() [function.include]: Failed opening '/languages/ru.php' for inclusion (include_path='.;/usr/local/PHP/includes;/usr/local/PHP/pear') in W:\www\gb\send_mess.php on line 2
да, в начале секции виртуальных хостов
Я вот читаю самомучитель по пхпх, и там нихрена про дерективы не сказано, :\
чтож это за книга такая (php обучения на примерах)
Ладно обайдусь и без этого
Я вот читаю самомучитель по пхпх, и там нихрена про дерективы не сказано, :\
чтож это за книга такая (php обучения на примерах)
Ладно обайдусь и без этого
Тут все просто:
NameVirtualHost *:*
говорит о том что используются виртуальные хосты
Listen 127.0.0.1:80 - говорит о том какой порт слушает апач и какой ip
Вопрос:
Нужна форма Логин/пароль кнопка отправить чтоб сохраняла данные в txt файле в виде логин;пасс
Вопрос:
Нужна форма Логин/пароль кнопка отправить чтоб сохраняла данные в txt файле в виде логин;пасс
Я же вроди ясно сказал: "Не задавай там глупые вопросы, все ответы уже есть, стоит только поискать."
Этот вопрос обсуждался rand(1000000, 9999999) раз.
я не нашёл
http://forum.antichat.ru/thread53751.html
http://forum.antichat.ru/showthread.php?p=497575
и ещё дофига постов, мне прост лень искать
P.S. Сколько можно?
PEPSICOLA
25.11.2007, 04:47
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
printf ("ID: %s Name: %s", $row[0], $row[1]);
}
Помогите, плиз :) Как это работает, что за "%s"? Как узнать, что она берёт именно нужный элемент массива?
И если в тему, каким способом, сделать более оптимальный вывод из mysql, что бы сделать красивое оформление данных в таблице? Например в ленту новостей. :rolleyes:
printf () - водит на экран форматируемую строку, за место %s - подставляются символьные значения, в твоем случае это row[0] и row[1] соответственно,
если row[0] = 2 , а row[1]=ВАСЯ то выведется
ID: 2 Name: ВАСЯ
Имхо в твоем случае проще пользоваться echo "ID: ".$row[0]." Name:".$row[1]
или
echo "ID: {$row[0]} Name {$row[1]}"
А насчет оптимального вывода, то на красоту mysql функции не влияют, это зависит только от твоего оформления и от того что тебе надо сделать
Макс 8===3
25.11.2007, 10:18
Товарищи, ну подскажите плиз, как выделить картинку\ссылку, чтобы она разместилась посередине страници и отделить её и от верха и низа на несколько строк ИЛИ просто прямо в центре страницы??????
<div id="head">
<noindex><a href=http://.......> <img src="1.jpg" alt="ХОЙ">
</a></noindex></div>
Спасибо!
phol1eadeux
25.11.2007, 11:58
Не в тот топик запостил. Сделай так:
<div style="position: absolute; left:50%; top:50%">
Картинка/ссылка/etc
</div>
-=lebed=-
26.11.2007, 14:00
Будет ли работать этот http://usfree.chat.ru/browser.txt скрипт на jino-net ?
Будет ли работать этот http://usfree.chat.ru/browser.txt скрипт на jino-net ?
А ты залей и посмотри, я тебе зарание скажу, что раньше работало, а сейчас нет :)
-=lebed=-
26.11.2007, 15:36
Залил, попробовал, пишет:
Нет связи с сервером. Повторите попытку позднее. ().
Я так понял запрещено: fsockopen() так? И заставить скрипт работать не получится никак на jino-net?
groundhog
26.11.2007, 15:44
Я так понял запрещено: fsockopen() так? И заставить скрипт работать не получится никак на jino-net?
Если отключены сокетные функции, и исходящие соединения с хоста, то скорее всего не получится никак...
человеки=) дайте пожалуйста скриптик постраничного вывода(например новостей), я поискал в гугле, много всего, но почти ниче неработает, или можете дать почитать как это делается, как будет угодно, спасибо.
MegaDeth
26.11.2007, 18:01
я делал выделением диапазона. тоесть пага, по 10 новостей на странице. кол-во страниц - кол-во новостей\кол-во новостей на страницу, еще округлить в большую сторону. потом выделяем диапазоны, тоесть если обратились к второй странице тогда
кол-во новостей на страницу*номер паги, и выодим все от этого номера новости по убыванию 10 новостей на пагу......
2*10=20 выводим от 20 по убыванию 10 новостей... все
я делал выделением диапазона. тоесть пага, по 10 новостей на странице. кол-во страниц - кол-во новостей\кол-во новостей на страницу, еще округлить в большую сторону. потом выделяем диапазоны, тоесть если обратились к второй странице тогда
кол-во новостей на страницу*номер паги, и выодим все от этого номера новости по убыванию 10 новостей на пагу......
2*10=20 выводим от 20 по убыванию 10 новостей... все
мне бы сам скриптик
Подскажите пожалуйста.
Есть текстовая переменная,в ней находиться текст странички.
Как из этой переменной извлечь в другую весь текст находящийся между тегами
<table> и </table>
Желательно с примером, хотя бы приблизительным...
Привет меня интересует как с помощю PHP&MySql, создать станицы даных..
Если можно дайто пожалуста пример етого сода =\
Подскажите пожалуйста.
Есть текстовая переменная,в ней находиться текст странички.
Как из этой переменной извлечь в другую весь текст находящийся между тегами
<table> и </table>
Желательно с примером, хотя бы приблизительным...
1. Файл в котором есть "<table>...</table>";
2. PHP скрипт.
1. Я создал файл 123.html c таким содержанием:
bla bla bla bla<br>
bla bla bla bla<br>
<table>
<td>Table content</td>
<tr>
<td>Table content</td>
</table>
bla bla bla bla<br>
bla bla bla bla
2.Скрипт файл - script.php:
<?php
$file = file_get_contents("123.html");
$sd = explode("<table>",$file);
$sd[1];
$sd1 = explode("</table>",$sd[1]);
echo "<table>".$sd1[0]."</table>";
?>
В результате у нас получиться:
<table>
<td>Table content</td>
<tr>
<td>Table content</td>
</table>
Привет меня интересует как с помощю PHP&MySql, создать станицы даных..
Всмысле?
[x26]VOLAND - я прада извиняюсь тут вижу у меня похожый вопрос был... а где в скрипте выборка с БД.?
MegaDeth
27.11.2007, 17:48
XopoIII
$newsPag=2;// 2 новости на страницу
$mas=array('новасть 1','новасть 2','новасть 3','новасть 4'); //массив с текстом новостей.
$str=$_GET['page']*$newsPag;
$str--;
for ($i=$str;$i>$str-$newsPag;$i--) if (isset($mas[$i])) echo $mas[$i]."<br>";
?>
идея такова, дальше думай сам
Подскажите пожалуйста.
Есть текстовая переменная,в ней находиться текст странички.
Как из этой переменной извлечь в другую весь текст находящийся между тегами
<table> и </table>
Желательно с примером, хотя бы приблизительным...
<?
$text = '<html>
<head>
<title>Hello, world</title>
</head>
<body>
<h1>Test page</h1>
</body>
</html>';
preg_match_all('|<title>(.*)</title>|s',$text,$title);
echo $title[1][0];
?>
P.S. А... У тя table, мну показалось title... Ну просто замениш :)
пробовал как ты сделать неполучилось, но по твоему примеру получилось вот, только проблема с отображением на экран текста из таблицы=(
include "sql_config.php";
$posts = mysql_query("select * from news");
$total_posts = mysql_num_rows($posts); сообщениями (posts)
function print_links($total,$page,$number,$links)
{
$return = null;
$pages = ceil($total/$number);
if ($page+$links <= $pages)
{
$start = $page;
}
else
{
$start = $pages-($links-1);
$finish = $pages;
}
if ($start < 0)
{
$start = 1;
}
for ($i=$start;$i<=$finish;$i++)
{
$return .= " <a href='?page=".$i."'>".$i."</a> ";
}
return $return; }
if (!isset($page)) { $page = "1"; }
print print_links($total_posts,$page,"10","5");
$query = mysql_query("select * from news limit ".(($page-1)*10).",10 ");
mysql_close($link);
не могу вывести новости вот, выводятся только страницы=)
Дык у тебя и нет вывода новостей, только страницы =)
$query = mysql_query("select * from news limit ".(($page-1)*10).",10 ");
вот у тебя запрос есть, теперь кури в сторону mysql_fetch_array() или ..._object() или ...row()
ну вот так:
while ($row=mysql_fetch_array($news))
{ print "<br>".$row['text']."<br>";}
и еще вопрос, мне нужно высчитать чисовые полюса по ip, как это осуществить, все ip забить в бд и все пояса забить в бд и сопоставить? и где взять или посмотреть какое ip к какому региону относится
вот еще проблема с серверомм
Вы пытались получить доступ к адресу http://localhost/1/index.php, который сейчас не доступен. Убедитесь, что веб-адрес (URL) введен без ошибок, и попытайтесь перезагрузить страницу.
я создаю папку в корне хтдокс, любую. туда сую индекс.пхп, а он всегда мне кричит вот это
а $_get фильтровать параметр это что то дает?
rubik-nerubik
28.11.2007, 19:49
нужно что-то вроде такого, открываем страницу интернета, после чего мы копируем часть, например от начСЛОВОкон и вывести СЛОВО
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$faileg = fopen ("http://127.0.0.1/lop.html", "r");
if (!$faileg)
{
echo "<p>не могу найти и вообще открыть"; exit('кто накуренный? я накуренный =)');
}
while (!feof ($faileg))
{
$lines = fgets($faileg, 127924); //размер указываешь свой, т.е. вместо 127924
if (eregi ("nach(.*)conez", $lines, $out))
{ //будет работать, если вся задаваемая херь в одной строке, т.е. неразделено \n.вот.Sn@k3
$naidennoe = $out[1];
break; }
}
fclose($faileg);
echo$naidennoe;
?>
=\ три строки, ну почти -))), кстати, проверил, воркед
while (!feof ($faileg))
{
$lines = fgets($faileg, 127924); //размер указываешь свой, т.е. вместо 127924
омг:
$k=file("http://127.0.0.1/lop.html");
....
у меня лучше, писалось от души ы)
<?php
$content = file_get_contents('http://forum.antichat.ru/member.php?userid=36233');
$searchMetod = 'Посмотреть историю оценок репутации rubik-nerubik">%|%</a>'; #%|% - любой контент
preg_match_all('|' . strtok($searchMetod,'%|%') . '(.*)' . strtok('%|%') . '|sU',$content,$found);
if($found[1][0]) {
echo 'rubik-nerubik такой блатной, т.к. у него репа ' . $found[1][0] . ' <img src="http://forum.antichat.ru/images/smilies/biggrin.gif" border=0>';
} else echo 'Ничего не найдено';
?>
Вот... Просто делать нечего вот и написал, пусть аффтар выбирает что больше нравится :)
VOLAND']Если ты используешь денвер, то надо создавать www
у меня не денвер, сомодельный сервак, апатч, пхп, мускул, все как надо=(
у меня не денвер, сомодельный сервак, апатч, пхп, мускул, все как надо=(
ну так не ... мозги и поставь денвер :)
а по теме - ты перезагружать сервак, после того как создал дерикторию, пробовал?
XopoIII, апач запускается?
на http://localhost заходит?
скинь конфиг http.conf
je0n, денвер - урезанная версия. да и как-то не по-хэккерски это, поставить готовое, не зная как это работает и как это настроить=\
з.ы. тема то про пшп вопросы...)
ну так не ... мозги и поставь денвер :)
а по теме - ты перезагружать сервак, после того как создал дерикторию, пробовал?
ну и работай на денвере сам, пробовал не помогает
XopoIII, апач запускается?
на http://localhost заходит?
скинь конфиг http.conf
je0n, денвер - урезанная версия. да и как-то не по-хэккерски это, поставить готовое, не зная как это работает и как это настроить=\
з.ы. тема то про пшп вопросы...)
http://slil.ru/25164775
spamoney
29.11.2007, 11:05
Всем привет, у мну такая вот проблема, есть гостевая книга, посты из которой хранятся в БД, хочу сделать автоудаление старых постов, т.е допустим в гостевой 1000 сообщений, нужно что б оставались только последние 100, а остальные удалялись из БД, каким sql запросом мона это сделать??
groundhog
29.11.2007, 11:20
delete from table where ...
Опиши структуру таблицы...
spamoney
29.11.2007, 11:41
delete from table where ...
Опиши структуру таблицы...
Ну эт понятно что delete from table where ... а вот что нужно поставить после WHERE что б удалял все кроме последних 100
Структура:
id | name | text | time | ip
groundhog
29.11.2007, 12:36
Ну если на хосте 4-ка, то будет сложнее... У тебя время в таймстампе? Может лучше по времени убивать? Вообще, чтобы было универсально... Выбираешь айдишники удаляемых, а потом их сносишь с помощью DELETE:
SELECT id FROM table ORDER BY id DESC LIMIT 0, 100
Какая СУБД на хосте?
spamoney
29.11.2007, 13:03
Тип поля time - "datetime", конеш, наверно по времени лучше удалять все кроме 100 последних.....
Какая СУБД на хосте?
А это как посмотреть??
PHP если надо, то PHP Version 4.4.4 установлен...
groundhog
29.11.2007, 13:17
Тут уж определись... Или по времени, или 100 последних... Ибо всё и сразу это не правильно совершенно... Я тебе советую воспользоваться запросом вида:
delete from SOME_TABLE where DATE_SUB(CURRENT_TIMESTAMP, interval 1 day) > TIME
Он удаляет из таблицы SOME_TABLE все записи у которых дата в поле time отличается от текущей на 1 день... То есть все записи, которые старше чем один день. Разумеется вместо 1 day, ты можешь подставлять другую синтаксически правильную конструкцию:
... interval 10 day
... interval 1 month
... interval 1 year
и т.д.
spamoney
29.11.2007, 13:23
Спасиб, буду пробывать вариант [x26]VOLAND....
groundhog
29.11.2007, 13:36
spamoney, без обид в сторону совета [x26]VOLAND, но такой подход к реализации кода - это втыкание костылей... За годы работы в сфере разработки веб-приложений, могу сказать только одно - любой воткнутый костыль рано или поздно упадёт и больно даст по башке... Что тебе мешает запускать по крону запрос, который я дал?
spamoney
29.11.2007, 13:51
groundhog предпочтительнее конеш оставлять 100 последних, хотя по времени наверно тоже не плохой вариант, а чем же плох вариант [x26]VOLAND ??
Я точно незнаю, но по моему надо ити в такую сторону:
DELETE FROM `gbook` LIMIT 1000
Так он онставит 1000 записей....
есть у кого нибуть скриптик статистики(сколько человек на сайте и кто), по типу как на ачате в низу статистика
есть у кого нибуть скриптик статистики(сколько человек на сайте и кто), по типу как на ачате в низу статистика
Смотри в раздели "Полезные скрипты", там было выложено на подобии что тебе надо
VOLAND']Как раз этот запрос удалит первую 1000 записей...
Разве?
DELETE FROM `gbook` LIMIT 0,1000 этот удалит первую 1000 а DELETE FROM `gbook` LIMIT 1000 от 1000 и дальше всё удалит
ИМХО :)
Разве?
DELETE FROM `gbook` LIMIT 0,1000 этот удалит первую 1000 а DELETE FROM `gbook` LIMIT 1000 от 1000 и дальше всё удалит
ИМХО :)
опытном путём доказано что ты не прав.
DELETE FROM `gbook` LIMIT 1000 удалит первую тыщу.сомневающиеся могут написать в пм я им предаставлю резалты
Я начинающий. Прошу помощи и совета:
Я использую функцию mail ($to, $subject, $message, $headers...)
message у меня такой:
$message = "
<html>
<head>
<title>Privet</title>
</head>
<body>
<P>Zdrastvuy! </P>
<P><br>Posmotri:
</P>
<p>
<A href='http://www.yahoo.com' nomouseover="window.status='http://www.msn.com';return true;" onMouseOut="window.status='OK'; return true;" target='_blank'
>http://www.msn.com</A> </p>
<BR>
</p><p>ZZZ<BR> </p>
</body>
</html> ";
То есть я хочу, чтобы когда человек наводит мышку на ссылку www.msn.com, у него в строке состояния и подсвечивалось www.msn.com. Хотя нажав на эту ссылку его естественно перебрасывает на www.yahoo.com.
У меня получается ерунда из-за путаницы с кавычками " и '. Кавычки '' " для window.status естественно закрывает мою кавычку от $message...
Подскажите, пожалуйста, какие кавычки где, чтобы работало в получаемом человеком моем сообщении функции onmouseover и onmouseout.
Большое спасибо!!
Павел
PS Если я что-то крмольное спрашиваю, то ...... ответьте пожалуйста в личку
Паул, ковычки надо экранировать
<?
$message = "
<html>
<head>
<title>Privet</title>
</head>
<body>
<P>Zdrastvuy! </P>
<P><br>Posmotri:
</P>
<p>
<A href='http://www.yahoo.com' nomouseover=\"window.status='http://www.msn.com';return true;\" onMouseOut=\"window.status='OK'; return true;\" target='_blank'
>http://www.msn.com</A> </p>
<BR>
</p><p>ZZZ<BR> </p>
</body>
</html> ";
?>
P.S> JavaScript у тя в письме работать небудет, фильтры в почтовиках запрещают JavaScript
astrologer
30.11.2007, 01:39
Paul94, у тебя же в коде написано "nomouseover". Вот и не работает.
Можно гораздо проще:
<a href='http://www.msn.com' onclick="document.location='http://www.yahoo.com';return false;">http://www.msn.com</a> Работает во всех распространенных браузерах
заношу дату в таблицу
$date=mktime(date("m"),date("d"),date("y"));
она заносится туда как: 1196382607
почему? таблица int
aka PSIH
30.11.2007, 08:33
XopoIII
имхо формат надо указать(в каком виде выводить дату)
должно так работать:
$date = date("d.m.Y", mktime(date("H"), 0, 0, date("m"), date("d"), date("Y")));
XopoIII
имхо формат надо указать(в каком виде выводить дату)
должно так работать:
$date = date("d.m.Y", mktime(date("H"), 0, 0, date("m"), date("d"), date("Y")));
Ошибка: Data truncated for column 'date' at row 1
XopoIII
проще в мускуле иметь тип колоны не date а text и туда заносить уже так:
$date=date("d.m.Y");
Но если у тебя всё-же тип date,то тебе надо указывать в стандартной форме ISO т.е. ГГГ-ММ-ДД т.е.
$date=date("Y-m-d");
XopoIII
проще в мускуле иметь тип колоны не date а text и туда заносить уже так:
$date=date("d.m.Y");
Но если у тебя всё-же тип date,то тебе надо указывать в стандартной форме ISO т.е. ГГГ-ММ-ДД т.е.
$date=date("Y-m-d");
тип int выше писал
тип int выше писал
огого ещё хлеще!ставь date/text и да будет тебе счастье.если int то тока так:
$date=date("Ymd");
aka PSIH
30.11.2007, 09:39
XopoIII
тебе же в этой теме, на 89 странице вроде уже объяснили по поводу даты...?
есть скрип постраничного вывода новостей
<?php
include "sql_config.php";
$posts = mysql_query("select * from news");
$total_posts = mysql_num_rows($posts);
{
$return = null;
$pages = ceil($total/$
if ($page+$links <= $pages)
{
$start = $page;
}
else
{
$start = $pages-($links-1);
$finish = $pages;
}
if ($start < 0)
{
$start = 1;
}
for ($i=$start;$i<=$finish;$i++)
{
$return .= " <a href='?page=".$i."'>".$i."</a> ";
}
return $return; }
if (!isset($page)) { $page = "1"; }
echo print_links($total_posts,$page,"10","5");
$query = mysql_query("select * from news limit ".(($page-1)*10).";
while ($row=mysql_fetch_array($query)) { echo "<br><center>".$row['name']."</center><br>".$row['content']."<br>от: ".$row['data']."";
}
mysql_close($db_name);
?>
мне надо чтобы страницы выводились в отдельной части таблицы, если переношу пол скрипта до
echo print_links($total_posts,$page,"10","5");
ничего не работает, просто эту сроку тоже, через инклуд получается копия, как быть
XopoIII
тебе же в этой теме, на 89 странице вроде уже объяснили по поводу даты...?
я тебе и говорю что она глючит выводит такую хрень 122421240, сейчас все сделал
Ой ёй ёй!
XopoIII, напримерт у тя табла users в ней поля name, reg_date
reg_date должен быть типа date
В MySQL есть такая функция... NOW() называется, она вставляет дату
Делаеш
mysql_query("INSERT INTO `users` VALUES '$name',NOW()");
И не мучай мозги
groundhog
30.11.2007, 12:03
Вообще это миллиарды раз уже обсуждалось как реализовывать хранение даты в полях базы данных... Так вот, если вы работаете на PHP, несомненно, что лучше хранить и работать с ней в виде TIMESTAMP.
Вообще курево манов никто не отменял... Вот почитайте по типам:
http://dmitry.ints.net/library/software/link/mysql/manual_Column_types.html#Date_and_time_type_overvi ew
http://dmitry.ints.net/library/software/link/mysql/manual_Column_types.html#Date_and_time_types
http://dmitry.ints.net/library/software/link/mysql/manual_Problems.html#Using_DATE
Joker-jar
30.11.2007, 12:32
XopoIII, делай либо $date = mktime(12,0,0,$m,$d,$y), либо $date = time().
сделал уже в все заработало, спасибо
Тот чкрипт что ты выложил не рабочий ваще!
На другой :)
<?php
include "sql_config.php";
$posts = mysql_query("select * from news");
$total_posts = mysql_num_rows($posts);
if(!intval($_GET['p']) || $_GET['p'] > ceil($total_posts/10)) $_GET['p'] = 1;
$limit = intval($_GET['p'])*10-10;
$query = mysql_query("select * from news limit $limit,10");
while ($row=mysql_fetch_array($query)) {
echo "<br><center>".$row['name']."</center><br>".$row['content']."<br>от: ".$row['data'];
}
$page = array();
echo '<br>';
for ($i=1;$i<=ceil($total_posts/10);$i++) {
if ($_GET['p'] == $i) $page[] = "<b>$i</b>";
else
$page[] = "<a href=\"?p=$i\">$i</a>";
}
echo implode(' | ',$page);
mysql_close($db_name);
?>
Уважаемые Воланд, астролоджер, и Пончик! Спасибо за советы! Но только вот это :
VOLAND']Paul94 можно двойные кавычки занести с переменную и подставлять в пистмо с помощью конкатенации.
$qt = '"';
$message = ".....".$qt."....";
Paul94, у тебя же в коде написано "nomouseover". Вот и не работает.
Можно гораздо проще:
<a href='http://www.msn.com' onclick="document.location='http://www.yahoo.com';return false;">http://www.msn.com</a> Работает во всех распространенных браузерах
<p>
<A href='http://www.yahoo.com' nomouseover=\"window.status='http://www.msn.com';return true;\" onMouseOut=\"window.status='OK'; return true;\" target='_blank'
>http://www.msn.com</A> </p>
P.S> JavaScript у тя в письме работать небудет, фильтры в почтовиках запрещают JavaScript
...к сожалению, не работает!
Выдает вот такой ответ, вот как выглядит хтмл код письма у получившего письмо:
<html>
<body>
<p>Zdrastvuy! </p>
<p><br>Posmotri:
</p>
<p>
<a rel="nofollow" target="_blank" href='http://www.msn.com'
>http://www.msn.com</a> </p>
<br>
<p>ZZZ<br> </p>
</body>
</html>
То есть все идеи подрубает это страшное слово rel="nofollow" Во всех трех случаях. (onmouseover я исправил). И человек видит в письме соответственное, и это совсем не то, что я хочу.
Может можно как-то все-таки сломать этому яху (извините) психику, чтобы он все скушал?.... спасибо
astrologer
30.11.2007, 21:00
То есть все идеи подрубает это страшное слово rel="nofollow" Во всех трех случаях. (onmouseover я исправил). И человек видит в письме соответственное, и это совсем не то, что я хочу.
Тебе уже ответили, что javascript фильтруется.
А сам по себе rel="nofollow" ничего особенного не представляет - изначально он задумывался, вроде, для непроверенных ссылок, сейчас используется при SEO.
Paul94, я посто поражаюсь, ты сам прокомментировал строку "P.S> JavaScript у тя в письме работать небудет, фильтры в почтовиках запрещают JavaScript" а потом ещё и спрашиваеш, почему не работает! Больше не кури!
Извеняюсь за оффтоп, просто не удержался
rubik-nerubik
01.12.2007, 18:09
привет вам человеки, у меня вопрос по двум уже написанным скриптам для меня, я не такой тупой) просто проверить их нет возможности
вот http://forum.antichat.ru/showpost.php?p=516068&postcount=1051
http://forum.antichat.ru/showpost.php?p=516277&postcount=1054
Sn@k3 and Ponchik быстро отреагировали на мою просьбу, но вот беда, я точно же незнаю как эти скрипты работают, а имею ввиду они могут копировать несколько строк??? оч надо, посмотрите и дайте ответ, ещё раз повторяю счас нет вообще возможности протестировать.
rubik-nerubik, мой копирует всё, вот он те выводит $found[1][0] если есть ещё оно будет $found[1][1] если ещё $found[1][2] ещё $found[1][3] etc...
где можно найти скрипт отсчета времени, т.е. я задаю окончательный срок например 03.12.2007 18.30, и он показывает сколько времени осталось (0 дней 0 часов 28 минут) и если 0 дней 0 часов 0 минут то какое-то значение
переводишь установленное время в unix формат
получаешь сегодняшнее. Отнимаешь от установленного сегодняшнее, переводишь в удобочитаемый вид с помощью date(), заносишь значения в переменные
и потом по условиям определяешь, час(ы)(ов) минут(ы)(ут) и т.п.
переводишь установленное время в unix формат
получаешь сегодняшнее. Отнимаешь от установленного сегодняшнее, переводишь в удобочитаемый вид с помощью date()
так не получится, было бы слишком легко =)
Вот рабочий код:
<?php
$date=strtotime("31.12.2007 0:00"); // твоя дата
if ($date>time()) {
$date = $date-time();
echo "Осталось ";
if (floor($date/(60*60*24*30*12)) > 0) {
echo floor($date/(60*60*24*30*12))." лет ";
$date = $date - (floor($date/(60*60*24*30*12))*60*60*24*30*12);
}
if (floor($date/(60*60*24*30)) > 0) {
echo floor($date/(60*60*24*30))." месяцев ";
$date = $date - (floor($date/(60*60*24*30))*60*60*24*30);
}
if (floor($date/(60*60*24)) > 0) {
echo floor($date/(60*60*24))." дней ";
$date = $date - (floor($date/(60*60*24))*60*60*24);
}
if (floor($date/(60*60)) > 0) {
echo floor($date/(60*60))." часов ";
$date = $date - (floor($date/(60*60))*60*60);
}
if (floor($date/(60)) > 0) {
echo floor($date/60)." минут ";
$date = $date - (floor($date/(60))*60);
}
echo floor($date)." секунд";
}
else echo "какое-то значение";
?>
Есть файл вида
xxxttt;zzzyyy
rrreee;aaasss
...
Нужно предобразовать этот файл в вид
zzzyyy;xxxttt
aaasss;rrreee
...
То есть просто обменять строки перед и после знака ';' местами.
Спасибо. +++
Вот навскидку... Вроде должно работать...
<?php
$ggg=file('1.txt');
$new='';
foreach($ggg as $key){
$key1=substr($key,0,strlen($key)-2);
$key1=explode(';',$key1);
$new.=$key1[1].';'.$key1[0]."\r\n";
}
echo($new);
?>
groundhog
04.12.2007, 01:59
FILE_TO_PARSE - файл, который нужно пропарсить;
FILE_TO_SAVE - файл, куда будет скинут результат;
FILE_DELIMETER - разделитель, по которому нужно парсить;
<?php
define("FILE_TO_PARSE", "1.txt");
define("FILE_TO_SAVE", "2.txt");
define("FILE_DELIMETER", ";");
$file_in = fopen(FILE_TO_PARSE, "r") or die("Could not open source file!");
$file_out = fopen(FILE_TO_SAVE, "w+") or die("Colud not open destination file!");
while (!feof($file_in)) {
$line = trim(fgets($file_in));
if (strlen($line > 0) && strpos($line, FILE_DELIMETER)) {
list($part1, $part2) = split(FILE_DELIMETER, $line);
$new_line = sprintf("%s%s%s\n", $part2, FILE_DELIMETER, $part1);
fputs($file_out, $new_line);
}
}
fclose($file_out);
fclose($file_in);
print("Conversion complete!");
?>
или
<?php
define("FILE_TO_PARSE", "1.txt");
define("FILE_TO_SAVE", "2.txt");
define("FILE_DELIMETER", ";");
$file_in = file(FILE_TO_PARSE) or die("Could not open source file!");
$file_out = fopen(FILE_TO_SAVE, "w+") or die("Colud not open destination file!");
foreach ($file_in as $item) {
$line = trim($item);
if (strlen($line > 0) && strpos($line, FILE_DELIMETER)) {
list($part1, $part2) = split(FILE_DELIMETER, $line);
$new_line = sprintf("%s%s%s\n", $part2, FILE_DELIMETER, $part1);
fputs($file_out, $new_line);
}
}
fclose($file_out);
print("Conversion complete!");
?>
groundhog
04.12.2007, 16:53
проще всего через file_get_contents("http://blablabla.bla/blabla/bla.bla")
Вопрос!
Если скриптик для выдерания Ip с форума...?Если у кого есть чё-то подобно выложите)
Вопрос!
Если скриптик для выдерания Ip с форума...?Если у кого есть чё-то подобно выложите)
<?php
echo "IP: ".getenv("REMOTE_ADDR");
?>
выведет IP: твой_ip
Так же вместо getenv("REMOTE_ADDR") можно юзать: $REMOTE_ADDR или $_SERVER['REMOTE_ADDR']
.:EnoT:.
05.12.2007, 13:46
выведет IP: твой_ip
Так же вместо getenv("REMOTE_ADDR") можно юзать: $REMOTE_ADDR или $_SERVER['REMOTE_ADDR']
$REMOTE_ADDR в php5 работать не будет!
.:EnoT:.
05.12.2007, 14:04
проще всего через file_get_contents("http://blablabla.bla/blabla/bla.bla")
Спасибо, помогло.
Теперь детский вопрос: как лучше сравнить содержимое файла и полученного содержимого, точнее какой лучше функцией пользоваться strstr(), substr(); stristr(); или может лучше через регулярные preg_match() ?
Короче говоря нужно чтобы проверялось на точное соответствие всего текста О_о
И ещё вопрос не относящийся к теме....есть ли функция или небольшой скриптик мгновенной перекодировки текста, например из utf-8 или юникода в cp1251 к примеру.
Если чушь сморозил, больно не бейте :)
Теперь детский вопрос: как лучше сравнить содержимое файла и полученного содержимого, точнее какой лучше функцией пользоваться strstr(), substr(); stristr(); или может лучше через регулярные preg_match() ?
Короче говоря нужно чтобы проверялось на точное соответствие всего текста О_о
http://forum.antichat.ru/threadnav54587-1-10.html
inlanger
05.12.2007, 16:50
У меня есть программка для телефона(только начал её творить, выбор пал на j2me). По идее она должна получать данные в UTF-8(так как понимает оно только UTF-8).
Но вот проблема... Отдаёт сайт данные в UTF, а получает программа кракозябры... Причём такие же крякозябры браузер выдаёт, если мой сайт пытаться читать с кодировкой ISO-8859-1.
Ссылка на программу:
http://sport.inlanger.org.ua/104038_sportmobile.zip
Ссылка на скрипт:
http://sport.inlanger.org.ua/news_p.php?type=world&num=1&text=1 - выдаёт заголовок новости
http://sport.inlanger.org.ua/news_p.php?type=world&num=1&text=0 - выдаёт основной текст новости
Какие будут советы?
почему не работает?
<?php
header("Location: http://localhost/1.php");
?>
не получается осуществить \r\n я пытался тут везде сувать неполучается=(
<?php
include "sql_config.php";
$posts = mysql_query("select * from news");
$total_posts = mysql_num_rows($posts);
if(!intval($_GET['p']) || $_GET['p'] > ceil($total_posts/10)) $_GET['p'] = 1;
$limit = intval($_GET['p'])*10-10;
$query = mysql_query("select * from news ORDER BY date DESC limit $limit,10");
while ($row=mysql_fetch_array($query)) {
echo "<br><center>".$row['name']."</center><br>".$row['content']."<br>от: ".$row['date2']."\r\n";
}
mysql_close($db_name);
?>
и еще я создал в таблице калонку status, и по идее если статус 0 то ничего, а если 1 то доступна админка, и хочу чтобы это проверялось при входе, но неполучается
if($_POST['game'])
{
$login = mysql_escape_string($_POST['login']);
$pass = mysql_escape_string(md5($_POST['pass']));//хешируем введенный пароль
$query = "SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'";
$result = mysql_query($query) or die ("Ошибка ");;//обработка запроса
if (mysql_num_rows($result)==0)
{
echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";
}
}
если пишу $query = "SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'&&'".$status."'"; то не знаю как проверить его и не знаю как к нему обратиться, я прошу помогите
проблемы:
переадресация,
новости не переносятся а уходят за экран,
не могу вот сделать проверку на статус=( помогите
и не говорите что я тупой я это знаю=)
почему не работает?
так должно работать. Видимо у тебя уже выводятся какие-либо данные перед тем, как ты пытаешься отправить свой хэдер
не получается осуществить \r\n я пытался тут везде сувать неполучается=(
что значит "осуществить \r\n"? Ты имеешь в виду переход на новую строку? Если да, то тебе поможет тэг <br>, который ты уже используешь. Видимо, какое-то другое значение имеет в твоем понимании \r\n =)
и еще я создал в таблице калонку status, и по идее если статус 0 то ничего, а если 1 то доступна админка, и хочу чтобы это проверялось при входе, но неполучается
попробуй так
<?php
if($_POST['game'])
{
$login = mysql_escape_string($_POST['login']);
$pass = mysql_escape_string(md5($_POST['pass']));//хешируем введенный пароль
$query = "SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'";
$result = mysql_query($query) or die ("Ошибка ");;//обработка запроса
if (mysql_num_rows($result)==0)
{
echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";
}
else
{
if (mysql_result($result,0,'status')==1) define("ADMIN","1"); // админка
}
}
?>
']
что значит "осуществить \r\n"? Ты имеешь в виду переход на новую строку? Если да, то тебе поможет тэг <br>, который ты уже используешь. Видимо, какое-то другое значение имеет в твоем понимании \r\n =)
понимание в том что я вывожу текст из таблицы, мне нужно чтобы он сам переходил на новую строку в конце экрана, а не уходил за его пределы, а <br> тут неуместен, у меян он для отделения заголовка стоит=(
']
if($_POST['game'])
{
$login = mysql_escape_string($_POST['login']);
$pass = mysql_escape_string(md5($_POST['pass']));//хешируем введенный пароль
$query = "SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'";
$result = mysql_query($query) or die ("Ошибка ");;//обработка запроса
if (mysql_num_rows($result)==0)
{
echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";
}
else
{
if (mysql_result($result,0,'status')==1) define("ADMIN","1"); // админка
}
}
?>
а тут я незнаю как обратиться к status, то как ты сделал смысла не несет, ты не выбираеш статус из таблицы и я не выбирал, т.к. не пойму куда его сувать, если после where login='".$login."'&& pass='".$pass."' то ниче не получается.
Никуда "сувать" его не надо, сделано все правильно, для этого и нужна фунция mysql_result(), в данном случае она берет первое значение в поле status из запроса
SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'"
и если полученное значение равно единице, то устанавливает константу ADMIN в 1
попробуй сделай такой запрос:
$query = "SELECT * FROM users_reg where login='$login' and pass='$pass'";
хотя суть не изменится
так мне же надо запросить сначало это поле, а SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."' тут оно не запрашивается
О Боги, боги мои, яду мне, яду...
SELECT * - означает что запрашиваются все поля, в том числе и status
или ты хочешь получить данные из БД без запроса к БД?
ты опиши, что ты конкретно хочешь? я например не телепат
Хороший, ану иди сюда! Я тебе чё говорил! Не юзай mysql_result он нужен только если что-то одно вывести... А ещё он нужен если его понимаеш, ты его не понимаеш! Вот и не юзай!
<?
$query = mysq_query("SELECT * FROM users_reg where login='$login' and pass='$pass'");
$row = mysql_fetch_array($query);
echo '<pre>'; //Это потом уберёш
print_r($row); //И это тож
echo 'Status: ' . $row['status']; //Выведет поле status
?>
На, выполни и узри чудо :D
=========================
Насчёт твоих скриптов, тама у тя есть ...echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";... тут у тебя XSS и не удевлюсь, если ты все поля пропускаеш только через mysql_escape_string() нужно ещё и htmlSpecialChars() :mad:
<offtop>Вот подожди, налажу я комп, поставлю аську, покажу где раки зимуют и как правильна скрипты писать и вопросы задавать</offtop>
Хороший, ану иди сюда! Я тебе чё говорил! Не юзай mysql_result он нужен только если что-то одно вывести... А ещё он нужен если его понимаеш, ты его не понимаеш! Вот и не юзай!
<?
$query = mysq_query("SELECT * FROM users_reg where login='$login' and pass='$pass'");
$row = mysql_fetch_array($query);
echo '<pre>'; //Это потом уберёш
print_r($row); //И это тож
echo 'Status: ' . $row['status']; //Выведет поле status
?>
На, выполни и узри чудо :D
=========================
Насчёт твоих скриптов, тама у тя есть ...echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";... тут у тебя XSS и не удевлюсь, если ты все поля пропускаеш только через mysql_escape_string() нужно ещё и htmlSpecialChars() :mad:
<offtop>Вот подожди, налажу я комп, поставлю аську, покажу где раки зимуют и как правильна скрипты писать и вопросы задавать</offtop>
давай быстрее только=) жду спасибо
if($_POST['game'])
{
$login = mysql_escape_string($_POST['login']);
$pass = mysql_escape_string(md5($_POST['pass']));//хешируем введенный пароль
$query = "SELECT * FROM users_reg where login='".$login."'&& pass='".$pass."'";
$result = mysql_query($query) or die ("Ошибка ");;//обработка запроса
$stat = mysql_fetch_assoc($result);
if (mysql_num_rows($result)==0)
{
echo "<center>Логин <b>".$login."</b> не найден в базе, или вы ввели неправельный пароль.</center>";
}
else
{
if ($stat["status"] == 7)
{
echo "Йа, сцуко, админчег! <b>".$login."</b>";
}
else
{
echo "Привет <b>".$login."</b>";
}
}
}
благодаря моему сенсею, решение оказалось простым.
хм, не знаю как задать вопрос, попытаюсь.
в чем нужно хранить имена пользователей которые сейчас авторизировались на сайте, чтобы их вывести?)
astrologer
06.12.2007, 18:49
хм, не знаю как задать вопрос, попытаюсь.
в чем нужно хранить имена пользователей которые сейчас авторизировались на сайте, чтобы их вывести?)
В БД. А хранят там обычно не список имён авторизовавшихся, а время последнего проявления активности. Если разница между сохранённым временем и текущим менее 15 минут - то пользователь показывается в списке, если больше - то нет.
XopoIII, хмм... где-то я этот вопрос видел, может в аське, от тебя =\ Яж тебе всё объяснил... Ну раз не понятно, объясняю подробнее
Как я помню у тебя в $_SESSION['login'] хранился логин пользователя если он залогинен
В табле пользователей (назовём это users) создай поле last_refresh
В config.php пишеш такое
<?php
//Твой конфиг (файл, который инклудится во все скрипты)
if($_SESSION['login']) mysql_query("UPDATE `users` SET `last_refresh` = '" . time() . "' WHERE `login` = '{$_SESSION['login']}'");
?>
Так... Юзверей онлайн чекаем так
<?php
$users_online_query = mysql_query("SELECT `login` FROM `users` WHERE " . time() . "-`last_refresh` <= 60*15");
$users_online = mysql_fetch_array($users_online_query);
echo '<pre>';
print_r($users_online);
?>
Ты... Я не обещаю, но должно работать :)
orcismylife
06.12.2007, 22:09
fsockopen();
нужно подключаться к прокси и обновлять страницу - собственно работа с соксом. но у меня проблема - никак не могу нормально щаюзать сокс.
хотелось бы получить решение, кушающее айпишник прокси из файла и самое главное - как написать функцию коннекта через прокси и посылание ПОСТ даты?
почему на запрос
mysql_fetch_array и mysql_fetch_assoc выдается одно и тоже Array ?
PEPSICOLA
07.12.2007, 04:54
У меня два вопроса:
1) Форматированние данных, всмысле "приятное" на вид распределение. В базу данных надо добавить статью, с картинками, отформатировать её по примеру как в wikipedia. Допустим залить картинки с возможностью последующего ввывода в нужной части документа, а так же выделение жирным, создание линков и тому подобное, по принципу bbtags (как при ответе на этом форуме).
Где я могу почитать статьи о подобном и как это вообще называется на русском или на английском? Форматирование документов? :)
2) Вывод данных из MySQL. Я знаю как это сделать, смотрел примеры, воссоздавал подобные, вообщем технически - могу создать базу данных и вывести оттуда информацию функцией mysql_fetch_row или mysql_fetch_array. Но сам принцип вывода данных и выбор оптимального варианта - никак не могу понять... Ну не усваивается у меня, каким именно образом цикл выводит данные из массива? mysql_fetch_array, при каждом обращении, переходит на следующую строку, что то там делает, да и циклы бывают разными... Может и не стоит использовать циклы, есть более оптимальный вариант для моего случая... Вообщем как мне в этом разобраться?
Есть ли хорошие статьи на эту тему? Только не просто примеры и //коменты, а реальное объяснение механизма обработки и вообще... Например как вот эти две статьи:
1) Короткая статья, отражающая принцип работы сессий в примерах. (http://php.su/articles/?cat=examples&page=050) Примерно аналогично я знаю о выводе данных из mysql.
2) Подробное описание работы и объяснение механизма работы с сессиями PHP. (http://php.su/articles/?cat=examples&page=070) Вот я в поиске подобного ответа на вопрос.
Спасибо за ответы :)
почему на запрос
mysql_fetch_array и mysql_fetch_assoc выдается тупо Array ?
что я нето сдела? подскажите
groundhog
07.12.2007, 10:12
XopoIII, а что ты ожидашь вместо массива? :) Я тебе, мля, сколько раз говорил маны читать? :) Не слушаешь старших? :) Эти функции каждую строчку результата преобразуют в массив, первая - в индексированный, а вторая в ассоциативный соответственно... Как только в результате заканчиваются строчки, то возвращается false. Что у тебя ещё не так? :) Дальше работай со значениями, индексируя их - $mas["blablabla"] или $mas[2].
Digimortal
07.12.2007, 10:30
PEPSICOLA
1) собственно, форматирование текста веб страниц (как ни странно +) ) осуществляется обычно с помощью html.. Реализация bb-тегов на пхп (и не только на нем) очень проста - пишется функция, которая заменяет (обычно с помощью регулярных выражений) все bb-теги на их хтмл-аналоги, и возвращает результат.. этот результат и заносится в БД.. правда, некоторые (неопытные) кодеры заносят в БД данные прямо с бб-тегами, а заменяют их на хтмл-аналоги уже при выводе данных на страницу.. так делать лучше не надо...
2) второй вопрос я не очень понял (про вывод в цикле), потому ниче не напишу.. если б ты привел свой код - тогда другое дело.. ; )
PEPSICOLA
07.12.2007, 12:12
1) собственно, форматирование текста веб страниц (как ни странно +) ) осуществляется обычно с помощью html.. Реализация bb-тегов на пхп (и не только на нем) очень проста - пишется функция, которая заменяет (обычно с помощью регулярных выражений) все bb-теги на их хтмл-аналоги, и возвращает результат.. этот результат и заносится в БД.. правда, некоторые (неопытные) кодеры заносят в БД данные прямо с бб-тегами, а заменяют их на хтмл-аналоги уже при выводе данных на страницу.. так делать лучше не надо...
Дык это мне понятно :)
Но как это сделано? Java Script? Выделить текст, нажать сверху/снизу и текст обрамляется тэгами [B]?
И как лучше залить картинки и вставить их в нужное место на странице? Без потери уже введённого текста? При загрузке - Предварительно сохранять его в сессию или сразу в базу данных? И после загрузке, как его определить... Если допустим все картинки будут сохраняться в одну и ту же папку images и каждой присваевается поряжковый номер? :)
2) второй вопрос я не очень понял (про вывод в цикле), потому ниче не напишу.. если б ты привел свой код - тогда другое дело.. ; )
Да просто если взять чужой код - не понятен механизм обработки... Каким образом там все в цикле присваевается и выводится? :)
текст обрамляется тэгами
<?php
$input = "фывфыв[B]Пиздатый текстфывыфвф";
$sd = explode("",$input);
$sd1 = explode("",$sd[1]);
echo "<b>".$sd1[0]."</b>";
?>
.:EnoT:.
07.12.2007, 14:59
почему на запрос
mysql_fetch_array и mysql_fetch_assoc выдается тупо Array ?
что я нето сдела? подскажите
Смотря что ты пытаешься вывести этими функциями.
Если запрос типа такого
$query = mysql_fetch_array(mysql_query(SELECT * FROM `blablabla`));
echo"$query";
То понятное дело у тебя будет выводиться Array
Если к примеру тебе нужно вывести сколько полей в таблице, к примеру сколько юзеров зарегино, то пользуйся функцией mysql_num_rows() т.к. она возвращает количество рядов.
Дальше работай со значениями, индексируя их - $mas["blablabla"] или $mas[2].
Дык наоборот, для mysql_fetch_array() ===> $mas[blabla]
а для mysql_fetch_assoc() ===> $mas["blabla"]
.:EnoT:.
07.12.2007, 15:07
у меня ещё такой вопрос: обязательно ли закрывать соединение с БД mysql_close() после выполнения сценария или это не обязательно?
groundhog
07.12.2007, 15:09
Это хороший тон, но не обязательно. Я советую закрывать.
Digimortal
07.12.2007, 16:06
Дык это мне понятно :)
Но как это сделано? Java Script? Выделить текст, нажать сверху/снизу и текст обрамляется тэгами [B]?
И как лучше залить картинки и вставить их в нужное место на странице? Без потери уже введённого текста? При загрузке - Предварительно сохранять его в сессию или сразу в базу данных? И после загрузке, как его определить... Если допустим все картинки будут сохраняться в одну и ту же папку images и каждой присваевается поряжковый номер? :)
да, можно javascript'ом, возьми в любом форуме погляди хтмл код - там сам все увидишь..
а вот картинки можно залить целой кучей способов.. опять же погляди лучше как на различных движках это реализовано и разберись как оно там работает..
например, можно сделать, чтоб открывалась отдльная страница, на ней ты заливаешь картинки, после чего тебе выводится их адрес на твоем сайте.. этот адрес берешь и вставляешь в бб-тег img текста сообщения, точно так же, как если бы эта картинка лежала на удаленном сайте.. )
.:EnoT:.
07.12.2007, 16:07
Просто подумал о том не будет ли нагружать базу тем что каждый раз открывать новое соединение
groundhog
07.12.2007, 16:15
.:enot:., после того как твой скрипт отрабатывает, все ресурсы автоматически уничтожабтся. Поэтому никого и ничто напрягать не будет, другое дело если ты используешь "постоянные" коннекта, тогда сервак можно в два счёта положить...
.:EnoT:.
07.12.2007, 16:18
groundhog - Спасибо
а постоянные соединения не везде поддерживаются кстати =/
groundhog
07.12.2007, 16:21
.:enot:., любой нормальный админ их запрещает на хосте...
<?php
$input = "фывфывПиздатый текстфывыфвф";
$sd = explode("",$input);
$sd1 = explode("",$sd[1]);
echo "<b>".$sd1[0]."</b>";
?>
Ну напридумал :) Регулярки мне лично больше нравятся
<?
$text='asdfasdgwergqerfgegVO KAK!asdaI Tak TOZHE!!!ga';
$output=preg_replace("/\[b\]([^{\[\/b\]}]*)\[\/b\]/i","<b>$1</b>",$text);
echo($output);
?>
Вопрос на засыпку.
Как сделать, чтобы, в одном фрейме нажимаю кнопку, а открывалось в другом фрейме, а не в этом же.
GreenBear
07.12.2007, 19:10
target=frame_name в ссылке.
имя фрейму тоже задай второму
да работает, но фрэйм с менюшкой убегает в нибытие(а хотелось бы чтобы изменялось все только в нужном фрейме), открывается окно на которое ссылается кнопка и все
astrologer
07.12.2007, 19:29
да работает, но фрэйм с менюшкой убегает в нибытие(а хотелось бы чтобы изменялось все только в нужном фрейме), открывается окно на которое ссылается кнопка и все
Ты нерабочий код приведи.
P.S. причём тут PHP?
Ты нерабочий код приведи.
P.S. причём тут PHP?
могу тебе через эхо фреймы показать, отстанешь?
один вопрос, где модераторы, ведь оффтоп один за одним.... проше не флудить
first frame. <a href='' onclick="window.parent.frames['second'].location='http://ya.ru';">Click here</a>
вот так будет работать при условии если назвать второй фрейм second :) Ну, думаю, и так понятно.
rubik-nerubik
07.12.2007, 22:09
люди, вот имею скрипт, нужно чтобы он хотя бы работал)))
т.е. не открывает, тестил на holm.ru.
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$file = file_get_contents('файл в интернете, например http://yandex.ru/index.html');
$start = 'начало копирования';
$end= 'конец копирования';
preg_match_all('|' . strtok($start,'%|%') . '(.*)' . strtok($end,'%|%') . '|sU',$file,$found);
if($found[1][0])
{
echo$found[1][0];
} else echo 'no';
?>
ругается на file_get_contents что делать? исправьте плиз или есть альтернатива
<?
error_Reporting(E_ALL & ~E_NOTICE);
$file = file_get_contents('http://yandex.ru/index.html');
$start = '<!DOCTYPE HTML PUBLIC';
$end= '-->';
preg_match_all('|' . strtok($start,'%|%') . '(.*)' . strtok($end,'%|%') . '|sU',$file,$found);
if($found[1][0])
{
echo$found[1][0];
} else echo 'no';
?> пашет
Может у тебя allow_url_fopen off?
brasco2k
08.12.2007, 00:47
Попробуй чмод выставить повыше на 777
Как исправить сию проблему, сам в пхп совершенно не разбираюсь, если надо скрипт могу кинуть в пм, это отображается в титл, в остальном тексте страницы все норм O�n�l�i�n�e� �s�h�o�p� �p�a�r�t�n�e�r� �p�r�o�g�r�a�m
.:EnoT:.
08.12.2007, 02:56
Как исправить сию проблему, сам в пхп совершенно не разбираюсь, если надо скрипт могу кинуть в пм, это отображается в титл, в остальном тексте страницы все норм
А титл у тебя откуда исходит так сказать...в файле прописан или из базы данных выводится? Если из бд, то посмотри откуда, потом посмотри в какой кодировке у тебя таблица и соответствует ли всё. Если вообще никак, то преобразуй с помощью функции convert_cyr_string($str, char $from, char $to);
где $str - строка неправильной кодировки, $from - из какой кодировки переводить и $to - в какую кодировку переводить. Значения $from и $to имеют только одну букву из:
k — koi8-r
w — windows-1251
i — iso8859-5
a — x-cp866
d — x-cp866
m — x-mac-cyrillic
А вообще сначала ищи откуда у тебя выводится титл и в какой кодировке хранится=/
Как исправить сию проблему, сам в пхп совершенно не разбираюсь, если надо скрипт могу кинуть в пм, это отображается в титл, в остальном тексте страницы все норм O�n�l�i�n�e� �s�h�o�p� �p�a�r�t�n�e�r� �p�r�o�g�r�a�m
<meta Content-type: text/plain; charset=windows-1251> - это не пэхопе
если нужно менять именно эту коду то тут Snak3.h17.ru/tools/ (Snak3.h17.ru/tools/)
.:EnoT:.
09.12.2007, 01:45
<meta Content-type: text/plain; charset=windows-1251>
Мета эт понятное дело. У меня было как-то подобное, когда делал свою локализацию на форум MyBB. Сам форум в utf-8 а локализайцию я сделал на ср1251. у меня тож половина отображалась в казябриках, пока не перевёл всю БД на виндувз кодировку
Нужны хорошие статьи по парсингу xml в php.
Все-все-все, начиная с выбора либы и ее установки до использования всех базовых методов и операций.
php4 или php5 - не имеет значения.
Заранее спасибо.
//ps: гуглом я конечно подцепил несколько неплохих статей, но они конкретно по методам класса.. появилось лишь общее представление, как использовать sax и как парсить через domxml.
.:EnoT:.
09.12.2007, 02:26
посмотри тут
http://webmastak.com/rubric.aspx?rubric=xml
Не знаю, подойдет или нет, но попробуй глянуть на доки по Domit XML Parser, сама либа довольно большая и доки к ней тоже нехилых размеров, насыщены примерами.
http://sourceforge.net/projects/domit-xmlparser
Вот вроде бы неплохая статья: http://www.opennet.ru/base/dev/dom_xml_php.txt.html
Add: http://providerz.ru/articles/php/xml-sax-dom-intro.html
spamoney
09.12.2007, 07:35
Всем привет, в общем такая проблемка: собираю базу цитат с различных сайтов с помощью граббера, некоторые повторяющиеся цитаты не заношу в БД так:
for($i=0;$i<100;$i++){
$querysovpad = "SELECT * FROM `table_quote` WHERE `text_body` like '%".$quote[1][$i]."%' LIMIT 0,30";
$mysql_querysovpad = mysql_query($querysovpad);
$sovpad = mysql_num_rows($mysql_querysovpad);
if ($sovpad == 0) {
$query = "INSERT INTO `table_quote` VALUES (NULL,'spamoney', '".$quote[1][$i]."\r\n', now())";
$mysql_query = mysql_query($query);
}
}
где ".$quote[1][$i]." какая либо цитата
Но есть цитаты которые практически одинаковые, только 2-3 слова в них разные и они естественно проходят проверку на наличие уже существующих цитат и заносятся в БД, как сделать так чтоб скрипт сравнивал цитату с цитатами в БД и если процент совпадения слов в них более чем 75% цитата не заносилась в БД??
<?
$text='Приветствую, это первая цитата, которую мы сграбили';
$text2='Приветствую, это вторая цитата, которую мы сграбили';
$a=preg_match_all('/(\s?[^\s]+\s?)/',$text,$m);
$a2=preg_match_all('/(\s?[^\s]+\s?)/',$text2,$m2);
$match=0;
for($i=0;$i<count($m[1]);$i++)
{
for($j=0;$j<count($m2[1]);$j++)
{
if($m[1][$i]==$m2[1][$j]){$match++;}
}
}
if($match/$a*100<75)
{
echo("Совпадений меньше 75 процентов");
}
else
{
echo("Совпадений больше 75 процентов");
}
?>
Здрасте.... Как организовать замену "/"."\n" на "\n" ?
Пишу так:
<?php
$file = file('file.txt');
$file = str_replace("/"."\n","\n", $file);
$f = fopen('file_good.txt','a+');
fwrite($f,$file);
?>
Не работает...
Здрасте.... Как организовать замену "/"."\n" на "\n" ?
Пишу так:
<?php
$file = file('file.txt');
$file = str_replace("/"."\n","\n", $file);
$f = fopen('file_good.txt','a+');
fwrite($f,$file);
?>
Не работает...
<?php
$fp=fopen('file.txt','rb');
$file = fread($fp,filesize('file.txt'));
fclose($fp);
$file = str_replace("/"."\n","\n", $file);
$f = fopen('file_good.txt','w');
fwrite($f,$file);
fclose($f);
?>
Попробуй так
=/ не пашет, мб не так обьяснил ...
Есть файл zzz.txt, в нём ссылки:
http://site.com
http://site.org/
Нужно чтобы "/" убралось ...
Пишу вот так:
<?php
set_time_limit(0);
$fp=fopen('zzz.txt','r');
$file = fread($fp,filesize('zzz.txt'));
fclose($fp);
$file = str_replace("/"."\n","\n", $file);
for($i=0;$i<=10;$i++) {
$f=fopen('zzz_good.txt','a+');
fwrite($f,$file[$i]);
fclose($f);
}
?>
В файл записывает только:
http://site
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
Ничего. Проверить пару логин:логин к ftp, ssh, web-auth и т.д
VampiRUS
09.12.2007, 15:41
1NtR0 неполучается, потому что в винде неревод строки \r\n
<?
$f=file('test.txt');
$fout=fopen('f_good.txt','w');
foreach($f as $line)fwrite($fout,str_replace("/\r\n","\n",$line));
fclose($fout);
?>
или можешь rtrim($line,"/\r\n") заюзать а потом перевод строки дописывать.
подскажите как сделать чтобы при авторизации была проверка на ник, если ник в списке онлайн то нельзя? подскажите.
вот выдрал кусок кода из старого своего чата. разруливать некогда.
if($loginz) {
$guru1=file_exists("db/onl.txt");
if($guru1 == '') { $guru2=fopen('db/onl.txt','w'); fwrite($guru2,"<meta (c)oded by Sn@К3 2007>\n"); fclose($guru2); } else { }
$guru=fopen("db/onl.txt",'r+');
if($guru =='') { $notguru=fopen('db/onl.txt','w'); fwrite($notguru,"<meta (c)oded by Sn@k3 2007>\n"); fclose($notguru); } else { }
fclose($guru);
$fokl="db/onl.txt";
$gol= fopen ("$fokl","r");
$gol1=fread($gol, filesize ($fokl));
if (preg_match ("/$loginz/i", "$gol1"))
{
print"<center><font color=red>Ник, который Вы ввели, уже находится в чате... <a href=chat.php>Перейти?</a></font>"; } else {
а вот чисто кусок, старый, откопал на компе в моем
т.е. дописываешь кусок кода, типа в файле есть ИП всех кто прошел авторизацию, а этот что ниже выкидывает все ИП что на странице , если не лень разбирайся)
<?
$timelim=1; ///лимит времени в секундах допустимого бездействия пользоваеля
session_id("hfJKcbJssJ");
session_start();
$f=1;
if(!isset($_SESSION['kolvo']))
$_SESSION['kolvo']=0;
if($_SESSION['kolvo']>0)
{
for($i=0;$i<$_SESSION['kolvo'];$i++)
if($_SESSION['users']['ip'][$i]==$_SERVER['REMOTE_ADDR'])
{
$_SESSION['users']['date'][$i]=date('U');
$f=0;
break;
}
if($_SESSION['kolvo']>0)
for($i=0;$i<$_SESSION['kolvo'];$i++)
if(date('U')-$_SESSION['users']['date'][$i]>$timelim)
{ for($j=$i;$j<$_SESSION['kolvo']-1;$j++)
{
$_SESSION['users']['date'][$j]=$_SESSION['users']['date'][$j+1];
$_SESSION['users']['ip'][$j]=$_SESSION['users']['ip'][$j+1];
}
$_SESSION['kolvo']--;
}
}
if($f)
{
$_SESSION['users']['ip'][$_SESSION['kolvo']]=$_SERVER['REMOTE_ADDR'];
$_SESSION['users']['date'][$_SESSION['kolvo']]=date('U');
$_SESSION['kolvo']++;
}
print$_SERVER['REMOTE_ADDR'];
?>
=/ не пашет, мб не так обьяснил ...
Есть файл zzz.txt, в нём ссылки:
http://site.com
http://site.org/
Нужно чтобы "/" убралось ...
Пишу вот так:
<?php
set_time_limit(0);
$fp=fopen('zzz.txt','r');
$file = fread($fp,filesize('zzz.txt'));
fclose($fp);
$file = str_replace("/"."\n","\n", $file);
for($i=0;$i<=10;$i++) {
$f=fopen('zzz_good.txt','a+');
fwrite($f,$file[$i]);
fclose($f);
}
?>
В файл записывает только:
http://site
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
<?
$file=preg_replace("/^(http:\/\/[^\/]+)\/$/i","$1",file_get_contents('zzz.txt'));
$fp=fopen('zzz_good.txt','a+');
fwrite($fp,$file);
fclose($fp);
?>
Не проверял но 99% будет пахать.
=/ не пашет, мб не так обьяснил ...
Есть файл zzz.txt, в нём ссылки:
http://site.com
http://site.org/
Нужно чтобы "/" убралось ...
Пишу вот так:
<?php
set_time_limit(0);
$fp=fopen('zzz.txt','r');
$file = fread($fp,filesize('zzz.txt'));
fclose($fp);
$file = str_replace("/"."\n","\n", $file);
for($i=0;$i<=10;$i++) {
$f=fopen('zzz_good.txt','a+');
fwrite($f,$file[$i]);
fclose($f);
}
?>
В файл записывает только:
http://site
=\
Может кто не полениться сделать и сразу же проверить? Заранее спасибо ...
вот сам принцип замены, переписать, опять же, нет времен... оч спешу:
<?
$line="http://site.com/";
$replace="http://site.com";
$file=file("file.txt");
$open=fopen("file111.txt","w");
for($i=0;$i<count($file);$i++)
{
if(($i+1)!=$line){fwrite($open,$file[$i]);}
else{fwrite($open,$replace."\r\n");}
}
fclose($open);
?>
VampiRUS
09.12.2007, 17:13
Sn@k3 помойму ты ересь какую-то написал), не в обиду.
Прочитал цитату, походу из строк http://site.org/ надо убрать последний / так?
Вот пример
<?php
$str ='http://site.org/';
if($str[strlen($str-1)] == '/') $str[strlen($str-1)] = ''; #Если последний символ '/' убираем его... (если в строке идёт \r или \n или \r\n то -1 заменить)
?>
Если не то, звеняюсь... ПРосто решил показать как лехче сделать можно
<?
$file=preg_replace("/(http:\/\/[^\/]+)\//i","$1",file_get_contents('zzz.txt'));
$fp=fopen('zzz_good.txt','a+');
fwrite($fp,"\n".$file);
fclose($fp);
?>
Проверил, 1000000% работает
народ у меня вопрос, мне нужно чтобы кнопки стояли одна за другой, если делаю через пустые формы с кнопками, то кнопки получаются одна под другой, если засовываю форму кнопки в теги гипер ссылки=))) то неработает вообще, если привязываю много кнопок к одной форме то загоняет все=) как быть? нужны именно кнопки=(
groundhog
10.12.2007, 13:01
XopoIII, Ваш вопрос не относится к тематике PHP. Для этого есть соответствующие разделы (посвященные HTML). Плиз, донт флуд, аэнд гоу ту ХТМЛ сектион...
.:EnoT:.
10.12.2007, 13:38
народ у меня вопрос, мне нужно чтобы кнопки стояли одна за другой, если делаю через пустые формы с кнопками, то кнопки получаются одна под другой, если засовываю форму кнопки в теги гипер ссылки=))) то неработает вообще, если привязываю много кнопок к одной форме то загоняет все=) как быть? нужны именно кнопки=(
Да, эт тебе надо было запостить в раздел html.
Не совсем понял что ты хочешь.....но в любом случае пользуйся таблицами...а там уж распределяй сам что в какую ячейку засунуть.
народ у меня вопрос, мне нужно чтобы кнопки стояли одна за другой, если делаю через пустые формы с кнопками, то кнопки получаются одна под другой, если засовываю форму кнопки в теги гипер ссылки=))) то неработает вообще, если привязываю много кнопок к одной форме то загоняет все=) как быть? нужны именно кнопки=(
ппц... Покеж код.. Чет я не понял...
Я когда делаю <input type=button><input type=button><input type=button> Они и так одна за другой =\
XopoIII, Ваш вопрос не относится к тематике PHP
Почему?
<?php
echo "<input type=button><input type=button><input type=button>";
?>
2 бул:
echo "<form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form>";
echo "<form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form>";
echo "<form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form>";
вот попробуй они получаются друг под другом. Если я делаю все кнопки от 1 формы, то ссылки от нее битые получаются =)
мдя такого извращения я давно не видел =)))
<?php
echo "<table><td><form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form></td>";
echo "<td><form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form></td>";
echo "<td><form action=left.php method=post>";
echo "<input type=\"submit\" name=\"exit\" value=\"Выход\">";
echo "</form></td></table>";
?>
я даже не думал что так можно=) спасиб попробую
XopoIII, если тебе это только для разных адресов, юзай так
<input type="button" value="Go to mail.ru" OnClick="window.location.href='http://mail.ru/'">
в чем проблема=( вот это я вставляю после ввода логина и пароля, но перед авторизацией
//тут выборка логинов из таблицы
while($ingame=mysql_fetch_array($logo))
{
if ($login==$ingame['login'])
{
echo "<b>Логин авторизирован</b>";
}}
она работает только 1 раз, после этого и в ие и в опере показывает пусто =(
groundhog
11.12.2007, 11:04
Код выше в студию.
VOLAND']Прошу прощения за опоздание, но зачем весь этот геморой если можно зделать в 1 шаг: rtrim($str, "/");
Люди, учите команды PHP ;)
Там не все так просто ;) А мой код тоже отлично работает
Код выше в студию.
примерно так
if($_POST['войти'])
{
while($ingame=mysql_fetch_array($logini))
{
if ($login==$ingame['login'])
{
echo "<b>уже авторизирован</b>";
}
else
{
/*если не авторизирован*/
if (!$_SESSION["login"]==1)
{
//форма ввода логина и пароля
}
else
{
if (isset($_SESSION["login"]))
{
//привет привет
}
//формы кнопок
}}
примерно так
if($_POST['войти'])
{
while($ingame=mysql_fetch_array($logini))
{
if ($login==$ingame['login'])
{
echo "<b>уже авторизирован</b>";
}
else
{
/*если не авторизирован*/
if (!$_SESSION["login"]==1)
{
//форма ввода логина и пароля
}
else
{
if (isset($_SESSION["login"]))
{
//привет привет
}
//формы кнопок
}}
Нам нужен sql запрос, может, с ним непорядок. Дай код где запрос
if ($login==$ingame['login'])
{
echo "<b>уже авторизирован</b>";
session_destroy();
// И можно редирект на форму авторизации
}
if ($login==$ingame['login'])
{
echo "<b>уже авторизирован</b>";
session_destroy();
// И можно редирект на форму авторизации
}
бул, я пробовал уже так, он авторизирует=)
Нам нужен sql запрос, может, с ним непорядок. Дай код где запрос
$proverka ="SELECT * FROM users_reg WHERE ".time()."-`login_time` <= 60*2";
$logo = mysql_query($proverka);
Бля вынеси в отдельный массив с логины, которые он лайн, потом при авторизации проверяй логин с массивом =\
.:EnoT:.
11.12.2007, 13:57
Мне кажется что лучше проверять у юзверя кукисы и по этим кукисам делать запрос в БД на совпадение....
К примеру наш двиг устанавливает кукисы в которых содержится логин и хеш пароля.
Что-то вроде того:
<php
#Смотрим есть ли наши кукисы у юзера
if(isset($_COOKIE['login']) and isset($_COOKIE['pass']))
{
#Тут можно например замутить проверку на вредные cимволы
$login = $_COOKIE['login'];
$pass = $_COOKIE['pass'];
#Делаем запрос в БД
$query = mysql_query("SELECT * FROM `users` WHERE `login` = '$login' and `pass` = '$pass' ");
$result = mysql_num_rows($query);
if($result == true)
{
echo"Вы уже авторизованы!";
}
else
{
#Тут можно например убить сессию и стереть куки
#и заставить юзера вновь авторизовываться,
#ибо куки должны быть в порядке :)
}
}
else
{
#Тут либо редиектим на форму авторизации либо ещё
#что-то
}
?>
Писал этот скрипт с ходу, поэтому могут быть ошибки =/
И при работе с куками и сессиями лучше давить их собачкой @, чтобы ошибок не выдавали :)
ты написал практически тоже самое что и у меня...
Чего тут сложного? КОгда чел заходит надо либо в сессию, либо в куки воткнуть что он вошел и потом сверять данные из сессии или из куков с данными пользователя.
Чего тут сложного? КОгда чел заходит надо либо в сессию, либо в куки воткнуть что он вошел и потом сверять данные из сессии или из куков с данными пользователя.
ебическая сила, я все сделал все работает, я спрашиваю в чем у меня косяк, т.к. при входе отображается иногда пустое окно. выше читай
ебическая сила, я все сделал все работает, я спрашиваю в чем у меня косяк, т.к. при входе отображается иногда пустое окно. выше читай
Ты сделал не через сессию или через куки, а через базу данных
.:EnoT:.
11.12.2007, 14:41
Чего тут сложного? КОгда чел заходит надо либо в сессию, либо в куки воткнуть что он вошел и потом сверять данные из сессии или из куков с данными пользователя.
Тока хотел тоже самое написать.....вписать в куки время авторизации и этоже время вписать в БД...потом всё сверить и т.д. и т.п.
нет, у меня там идет еще проверка на есть ли сессия или нет
xXvladXx
11.12.2007, 17:01
у меня проблемма щас пишу двиг для форума и возникла такая проблемма мне надо отобразить все темы с определенным названием когда тема на инглише то все норм а когда на руссом то не ищет как я понял дело в маське в столбце надо сделать правильное "сравнение" сам запрос выглядит так:
$result= mysql_query("SELECT * FROM `tops` WHERE `name` = CONVERT( _utf8 '$caption' USING ascii )");
но так с темами на ингише все ном а когда на руссоком то жопа(
помогите плиз что надо выбрать в "ставнении" для столбца name
.:EnoT:.
11.12.2007, 19:18
xXvladXx
У тебя скорее всего кодировка страницы отличается от кодировки MySQL. У меня была подобная трабла. Поставь и там и там cp1251 и не парься. А если уж без перекодировки никак не обойтись то пользуйся функцией convert_cyr_string()
http://forum.antichat.ru/showpost.php?p=523197&postcount=1157
l0stc0der
12.12.2007, 20:14
Уважаемые мемберы,
подскажите, пожалуйста, реализуемо ли это В ПРИНЦИПЕ?
Есть html форма, с которой отсылаются данные php скрипту.
Фрагмент формы:
........
<input type=text name=var value="">
.........
Условия:
Пхп скрипт ждет переменную $var, сравнивает ее с переменной $compare (которая задается самим скриптом):
if $compare == $_REQUEST['var'] ..... .. делаем определенные действия. (на самом деле, там не REQUEST, но в общем все сводится к этому)
Собственно, сам вопрос:
КАК можно в поле value в хтмл форме подставить $var,
чтобы скрипт сравнивал $compare==$compare;
Например, сделать так:
<input type=text name=var value="$compare"> не получается
Заранее спасибо.
groundhog
12.12.2007, 20:20
<input type=text name=var value="<?=$compare?>">
Но при этом должен быть включён парсинг PHP кода в файлах .html
ну так обозначь этот хтмл как выполняемый php скрипт(в htaccess) и подставляй
l0stc0der
12.12.2007, 20:27
фактически, html форма выглядит как php скрипт:
<? .......... echo ' <input type=text name=var value="" ';
но с приведенными выше примерами нифига не получается :((
При отправке формы php дает notice, что переменная $compare не определена и передает скрипту пустое значение..
Заранее html форме неизвестно значение $compare, оно генерируется пхп скриптом на стадии получения данных с формы.
В итоге пхп скрипт или выдает ТЕКСТ $var или возвращает пустое значение..
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
фактически, html форма выглядит как php скрипт:
<? .......... echo ' <input type=text name=var value="" ';
<?
$compare='some_value';
$compare=isset($_REQUEST['var'])?$_REQUEST['var']:$compare;
echo('<input type=text name=var value="'.$compare.'">');
?>
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
<?
function Utf8ToWin($fcontents) {
$out = $c1 = \;
$byte2 = false;
for ($c = 0;$c < strlen($fcontents);$c++) {
$i = ord($fcontents[$c]);
if ($i <= 127) {
$out .= $fcontents[$c];
}
if ($byte2) {
$new_c2 = ($c1 & 3) * 64 + ($i & 63);
$new_c1 = ($c1 >> 2) & 5;
$new_i = $new_c1 * 256 + $new_c2;
if ($new_i == 1025) {
$out_i = 168;
} else {
if ($new_i == 1105) {
$out_i = 184;
} else {
$out_i = $new_i - 848;
}
}
$out .= chr($out_i);
$byte2 = false;
}
if (($i >> 5) == 6) {
$c1 = $i;
$byte2 = true;
}
}
return $out;
}
?>
ИЛИ
<?php
function UTF8toCP1251($str){ // by SiMM, $table from http://ru.wikipedia.org/wiki/CP1251
static $table = array("\xD0\x81" => "\xA8", // Ё
"\xD1\x91" => "\xB8", // ё
// украинские символы
"\xD0\x8E" => "\xA1", // Ў (У)
"\xD1\x9E" => "\xA2", // ў (у)
"\xD0\x84" => "\xAA", // Є (Э)
"\xD0\x87" => "\xAF", // Ї (I..)
"\xD0\x86" => "\xB2", // I (I)
"\xD1\x96" => "\xB3", // i (i)
"\xD1\x94" => "\xBA", // є (э)
"\xD1\x97" => "\xBF", // ї (i..)
// чувашские символы
"\xD3\x90" => "\x8C", // Ӑ (А)
"\xD3\x96" => "\x8D", // Ӗ (Е)
"\xD2\xAA" => "\x8E", // Ҫ (С)
"\xD3\xB2" => "\x8F", // Ӳ (У)
"\xD3\x91" => "\x9C", // ӑ (а)
"\xD3\x97" => "\x9D", // ӗ (е)
"\xD2\xAB" => "\x9E", // ҫ (с)
"\xD3\xB3" => "\x9F", // ӳ (у)
);
return preg_replace(#([\xD0-\xD1])([\x80-\xBF])#se,
isset($table["$0"]) ? $table["$0"] :
chr(ord("$2")+("$1" == "\xD0" ? 0x30 : 0x70))
,
$str
);
}
?>
PS функции не мои
l0stc0der
12.12.2007, 21:06
<?
$compare='some_value';
$compare=isset($_REQUEST['var'])?$_REQUEST['var']:$compare;
echo('<input type=text name=var value="'.$compare.'">');
?>
Спасиб, НО... пхп скрипт-обработчик я модифицировать НЕ МОГУ (он находится на сервере, прав нету).
Единственный выход - мучить форму (или пхп или хтмл, что, в принципе, все равно)
Спасиб, НО... пхп скрипт-обработчик я модифицировать НЕ МОГУ (он находится на сервере, прав нету).
Единственный выход - мучить форму (или пхп или хтмл, что, в принципе, все равно)
Ээ не понял, а что тебе надо-то?
Или понял? Тебе хочется чтобы $compare равнялась $compare без знания этой $compare? Не выйдет. Такое может получиться только если идет eval()
l0stc0der
12.12.2007, 21:13
Ээ не понял, а что тебе надо-то?
Или понял? Тебе хочется чтобы $compare равнялась $compare без знания этой $compare? Не выйдет. Такое может получиться только если идет eval()
фак.. а такая задумка была...
Спасибо.
Еще один вопрос: можно ли обойти strip_tags?
nd.Executor
13.12.2007, 10:54
А как перевести из utf-8 в cp1251? C помощью convert_cyr_string() не получается =\
$text = iconv("UTF-8", "CP1251", $text);
Работает 100%
вопрос. я заношу в бд через текст ареу текст с <img scr=img/male.gif>, думал что при выводе в браузер будет видно текст и рисунок, а рисунка нет, выводит просто пустой квадрат, почему так?
lsass.exe
13.12.2007, 12:40
вопрос. я заношу в бд через текст ареу текст с <img scr=img/male.gif>, думал что при выводе в браузер будет видно текст и рисунок, а рисунка нет, выводит просто пустой квадрат, почему так?
проверь пути,тоесть папку где лежит срипт вывода контента и где относительногонего находятся картинки
groundhog
13.12.2007, 12:43
Ну осмелюсь предположить, что он картинку не находит... Попробуй абсолютные пути прописывать, если использование относительных выхывает у тебя затруднение.
не знаю может тут уже было, не искал, как сделать, чтобы в бд русский шрифт записывался русским а не иероглифами? ну и в последствии выводить
вот такая проблема возникла. Оправляю письма на yahoo не доходит, а на меил доходит нормально. Отключил в настройках спам контроль письма доходят через один и помечатся как спам. поискал в нете нашел вот такое объяснение
спам фильтр настроен таким образом, что письмо должно быть отправлено с "реального ящика", т.е. ящик, от имени которого отправляется письмо должен существовать и MMX запись должна соответствовать IP хоста, с которого отправляется письмо; другими словами, почтовый сервер должен быть развернут на том же сервере, что и отправляется скрипт.
Как можно это обойти? Если можно сразу с хидерами.
XopoIII по пробуй при соединение с базой прописать. И база у тя должна быть в этой кодировке.
mysql_query("SET NAMES cp1251");
mysql_query("SET NAMES cp1251");
и
mysql_query("SET CHARSET cp1251");
и база должна быть в cp1251 если бзу неможеш сделать, переделай все таблицы в cp1251
groundhog
14.12.2007, 12:46
gibson, да никак ты это не сделаешь... Развёртывай у себя на хосте SMTP-сервер... Хотя, там тоже не дураки сидят, и при большом количестве спама добавят всю подсеть в бан... Это дело хидерами не обходится...
Red_Red1
14.12.2007, 13:21
Хочу скриптом на ПХП подключиться к Ачату. При помощи утилиты для файрфокса смотрю заголовки. Прописываю их в своем скрипте.... в ответ "Bad request" (как то так, может ошибся в грамматике :) ). Пробую передать те же заголовки черзе файрфокс (есть там возможность с помощью той же утилитки) ответ тот же... :(
Поясните что еще передается броузером, или как еще сервер определяет что запрос неверный? Такое имеенно с Ачатом.... подобные скрипты с другими сайтами нормально работают....
Если можно то хотелось бы кусочек кода, для подключения и допустим парсинга какого либо сообщения.
groundhog
14.12.2007, 13:27
Покажи результирующий запрос, который отсылаешь... Тогда скажу в чём лажа...
VampiRUS
14.12.2007, 13:29
у меня работало
<?
$header="GET /index.php HTTP/1.0\n";
$header.="Host: forum.antichat.ru\n\n";
$f=fsockopen('forum.antichat.ru',80);
fwrite($f,$header);
$buffer='';
while(!feof($f))$buffer.=fread($f,1024);
?>
groundhog
14.12.2007, 13:32
VampiRUS, у тебя не правильно. Вот верный вариант:
<?
$header="GET /index.php HTTP/1.0\r\n";
$header.="Host: forum.antichat.ru\r\n\r\n";
$f=fsockopen('forum.antichat.ru',80);
fwrite($f,$header);
$buffer='';
while(!feof($f))$buffer.=fread($f,1024);
?>
VampiRUS
14.12.2007, 13:39
groundhog,в данном случае разницы нету
работало и на linux и на win
Red_Red1
14.12.2007, 13:49
Хм.... все работает действительно.... Спасибо! Но я еще не все проверил, приду домой протестирую полнее, ведь что то не получалось....
Вооо, нашел.... если передаем пост запросом то выдает такую ошибку, проверял на добавлении репутации.
Так что вопрос открыт. ???? :confused:
VampiRUS
14.12.2007, 14:18
Red_Red1 ну тогда уж как просил groundhog вылаживай весь запрос.
ну и лучше дкмаю пост тестировать на поиске.
gibson, да никак ты это не сделаешь... Развёртывай у себя на хосте SMTP-сервер... Хотя, там тоже не дураки сидят, и при большом количестве спама добавят всю подсеть в бан... Это дело хидерами не обходится...
Так я не спамом занимаюсь=\ и поле от кого идет почта на хосте.
и как теперь проверить дойдет ли письмо или нет? может есть какое нибудь решение
.:EnoT:.
14.12.2007, 14:39
эт чёж получается, если предположим юзер регится у меня на сайте, указывает мыло yahoo, то ссылка с подтверждением аккаунта не придёт ему на мыло?=//
Red_Red1
14.12.2007, 14:52
Вот заголовки. Тестил на поиске слова red
POST /search.php HTTP/1.1
Host: forum.antichat.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://forum.antichat.ru/
Cookie: abbuserid=xxxxx; abblastactivity=xxxxxxxxx; abblastvisit=xxxxxxxxxx; abbpassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; abbsessionhash=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/x-www-form-urlencoded
Content-Length: 53
s=&do=process&sortby=lastpost&forumchoice=0&query=red
Куки немного подправил, сами понимаете ;). Делаю так. Запускаю файрфокс в нем утилиту Live HTTP headers. Ищу слово, все Ок, находит. смотрю заголовки, нажимаю Replay и передаю ЭТИ ЖЕ заголовки уже через утилитку. В ответ 400 Bad Request.
Тот же результат если делаю скриптом с теми же заголовками.
VampiRUS
14.12.2007, 15:26
Red_Red1
после Content-Length: 53 должо быть 2 перевода строки
Red_Red1
14.12.2007, 15:31
Да ЕСТЬ эти переводы!!!!! Попробуй выполнить те же действия на файрфоксе - все будет видно. Блин.... что же это может быть... чем еще броузер делиться с сервером???
Т.е. можно ли написать скрипт который будет на Ачате искать темы по нужному слову и допустим парсить результат?
VampiRUS
14.12.2007, 15:52
<?
$header="POST /search.php HTTP/1.0\r\n";
$header.="Host: forum.antichat.ru\r\n";
$header.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9\r\n";
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru,en;q=0.5\r\n";
$header.="Accept-Encoding: gzip,deflate\r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="Content-Length: 53\r\n\r\n";
$header.="s=&do=process&sortby=lastpost&forumchoice=0&query=red\r\n\r\n";
$f=fsockopen('forum.antichat.ru',80);
fwrite($f,$header);
$buffer='';
while(!feof($f))$buffer.=fread($f,1024);
echo $buffer;
?>
HTTP/1.1 200 OK Server: nginx Date: Fri, 14 Dec 2007 11:52:39 GMT Content-Type: text/html; charset=windows-1251 Connection: close X-Powered-By: PHP/5.2.4 POST requests from foreign hosts are not allowed.
нормальный ответ
Red_Red1
14.12.2007, 16:12
Это НЕ нормальный ответ. При нормальном возвращается результат поиска. Этот ответ если перевести на русский гласит "запросов от иностранных хозяев не позволяется." Но даже это странно..... у меня 400 Bad Request. Ну еще вечером попробую скриптом ... и выложу код.
VampiRUS
14.12.2007, 16:20
Red_Red1
нет это нормальный ответ в смысле не 400 Bad Request
а 200 OK ;).
просто я реферер не послал, там потом ссыль на страницу с результатом приходит
запросов от иностранных хозяев не позволяется.веб-сервер не склонен к расизму, просто он проверяет Referer у всех post запросов. когда собираешь заголовки, воткни где-нибудь
$header.="Referer: http://forum.antichat.ru/\r\n";
.:EnoT:.
15.12.2007, 17:00
маленький вопросик.
Функция mysql_fetch_array() автоматически экранирует кавычки, полученные из БД?
Просто, занёс я в базу некую форму:
<form action=\"lala.php\" method=\"POST\">
<input type=\"text\" name=\"lala\">
<input type=\"submit\"></form>
вывел ещё с помощью mysql_fetch_array()
echo"$q[forma]";
, но форма отобразилась криво....потом убрал экранирование и всё стало нормально, то есть кавычки автоматически заэкранировались О_о...
Если так и есть то какие ещё функции автоматически экранируют кавычки и прочую дрянь при выводи из БД?
.:EnoT:., скорей всего ты знасош эту форму через phpmyadmin он сам всё как надо экранирует и в БД всё норм заносит, тоесть как ты вводиш, так он и заночит... Такчто для phpmyadmin ничё экранированть ненадо
.:EnoT:.
15.12.2007, 18:06
.:EnoT:., скорей всего ты знасош эту форму через phpmyadmin он сам всё как надо экранирует и в БД всё норм заносит, тоесть как ты вводиш, так он и заночит... Такчто для phpmyadmin ничё экранированть ненадо
Да, в данный момент заношу данные через phpMyAdmin.
Но в последующем собираюсь делать это через скрипт...тогда как быть? что посоветуешь, использовать mysql_real_escape_string()? :)
.:EnoT:., смари... Написен мы хотим занести в БД такую строку <a href='1'></a> в MySQL это будет так INSERT INTO ... VALUES('<a href='1'></a>') видиш, путаница с ковычками ' поэтому надо экранировать INSERT INTO ... VALUES('<a href=\'1\'></a>') phpMyAdmin это экранирует и заносит, а если сам писать скрипт будеш, то да, надо экранировать
Андырстэнд? :)
.:EnoT:.
15.12.2007, 18:34
это то понятное дело. У меня вопрос немного другого плана был)
Смари. Предположим я на странице админа. Мне нужно занести в БД код формы, чтобы она потом обображалась на сайте. Код формы предположим такой:
<form action="lala.php" method="POST">
<input type="text" name="lala">
<input type="submit"></form>
А заносить я код этой формы буду тоже через форму естественно и после нажатия кнопки "отправить" код введённой формы отправляется в БД.
А выводить форму на сайте я буду при помощи echo"$q[forma]";
Дык если код в БД будет храниться в таком виде в котором я его занёс (см.выше), то интерпритатор выведет ошибку, т.к. там будет путаница с кавычками, а для формы мне нужно использовать двойные кавычки))
Дык вот из всего этого хотел узнать...1) как мне при занесении кода формы в БД экранировать все кавычки, чтобы не делать это вручную. и 2) Если кавычки не экранировать, то функция mysql_fetch_array() всё таки автоматически их будет экранировать или это было из-за пхп-му-админа?
Бля, я по ходу сам запутался чего я хочу=//
Короче если кто понял мои бредни, то буду очень благодарен если подскажете))
.:EnoT:., чё ты щас сказал - ХЗ!
mysql_fetch_array() ничё не экранирует, оно выводит
В общем вот...
<?
$form = '<form action="lala.php" method="POST">
<input type="text" name="lala">
<input type="submit"></form>';
$form = mysql_real_escape_string($form);
mysql_query("INSERT INTO lala VALUES('$form')");
?>
Так-то понятно?
.:EnoT:.
15.12.2007, 18:45
Ponchik
Во-во, как раз насчёт mysql_real_escape_string() как раз и спрашивал, её ли использовать))
Спасибо :)
есть вывод массива из таблицы, вывод текста, возле каждого выведенного текста я влепил чекбокс, думал все просто, а тут оказалась проблема, мне нужно чтобы где я поставил галочки, при нажатии, выделенный текст удалялся, а как это сообразить?=) тоесть как при нажатии чекбокса посылать данные для удаления? хз че непонятно написал скажите))
mouse.pro
16.12.2007, 10:41
есть вывод массива из таблицы, вывод текста, возле каждого выведенного текста я влепил чекбокс, думал все просто, а тут оказалась проблема, мне нужно чтобы где я поставил галочки, при нажатии, выделенный текст удалялся, а как это сообразить?=) тоесть как при нажатии чекбокса посылать данные для удаления? хз че непонятно написал скажите))
Покажи что у тебя уже написанно
что показать? вот вывод на экран:
echo "".$row['name']." - от: ".$row['login']."<br>
<input type=checkbox name='delletter' value=''>удалить
<br>".$row['content']."\n";
как сделать чтобы скрипт при нажатии чекбокса знал, что именно это нужно удалить из бд?
что показать? вот вывод на экран:
echo "".$row['name']." - от: ".$row['login']."<br>
<input type=checkbox name='delletter' value=''>удалить
<br>".$row['content']."\n";
как сделать чтобы скрипт при нажатии чекбокса знал, что именно это нужно удалить из бд?
смотри, как вариант. вкратце: передаем чекбоксы массивом. поэкспериментируй, разберешься.
<?php
if (isset($_POST['arr']))
{
foreach($_POST['arr'] as $key => $value)
{
print $key."=".$value." ; ";
}
}
?>
<br/><br/><form method='post'>
1: <input type='checkbox' name='arr[]' value='1' /><br/>
2: <input type='checkbox' name='arr[]' value='2' /><br/>
3: <input type='checkbox' name='arr[]' value='3' /><br/>
4: <input type='checkbox' name='arr[]' value='4' /><br/>
$: <input type='submit' name='submit' value='#' />
</form>
внутри foreach добавляешь проверку на всякий случай и все.
.:EnoT:.
16.12.2007, 13:07
Хм, я бы я предложил такой вариант. Выводить рядом с каждым юзером ссылочку "удалить"
while($row = mysql_fetch_array($result))
{
echo "".$row['name']." - от: ".$row['login']."<br>
<br>".$row['content']."\n
<a href=\"?del=$row[id]\">Удалить</a> ";
}
if(isset($_GET['del']))
{
$id = intval($_GET['del']);
$query = "DELETE FROM `table` WHERE id = '$id'";
$result = mysql_query($query);
if(!$result)
{echo"Ошибка удаления";}
else
{echo"Успешно удалено";}
}
ПОдправил код, ато больно смотреть
echo "{$row['name']} - от: {$row['login']}<br>
<input type=checkbox name=\"delletter[{$row['id']}]\" value=\"1\">удалить
<br>{$row['content']}\n";
В итоге мы получим массив $_POST['delletter'] в котором ключи будут ID отмеченых сообщений
ПОдправил код, ато больно смотреть
echo "{$row['name']} - от: {$row['login']}<br>
<input type=checkbox name=\"delletter[{$row['id']}]\" value=\"1\">удалить
<br>{$row['content']}\n";
В итоге мы получим массив $_POST['delletter'] в котором ключи будут ID отмеченых сообщений
мой совет если хочешь чтобы код был нормальным никогда не пиши переменные внутри строки
echo $row['name']." - от: ".$row['login']."<br>
<input type=checkbox name=\"delletter[".$row['id']."]\" value=\"1\">удалить
<br>".$row['content']."\n";
I-I()/Ib, на вкус и на цвет товариа нет!
И ваще, я ступил, а ты хуле тупиш за мной... Нахера ключи делать IDшниками если можно массив идишников создать
echo "{$row['name']} - от: {$row['login']}<br>
<input type=checkbox name=\"delletter[]\" value=\"{$row['id']}\">удалить
<br>{$row['content']}\n";
ВОт... print_r($_POST['delletter']); А чё я тогда про ключи написал, сам незнаю... Давно просто чекбоксами не занимался :)
I-I()/Ib, на вкус и на цвет товариа нет!
И ваще, я ступил, а ты хуле тупиш за мной... Нахера ключи делать IDшниками если можно массив идишников создать
echo "{$row['name']} - от: {$row['login']}<br>
<input type=checkbox name=\"delletter[]\" value=\"{$row['id']}\">удалить
<br>{$row['content']}\n";
ВОт... print_r($_POST['delletter']); А чё я тогда про ключи написал, сам незнаю... Давно просто чекбоксами не занимался :)
не во вкусе и не в зенеде дело, ступил я только в том что забыл поменять двойные кавычки на одинарные, вынеся переменные из строк, как хотел сначала сделать. Дело в том что это обрабатывается гораздо быстрее...
а скажите зачем проверять строку на хтмл тэги если до этого она проверялась регулярным?может и так сойдёт?
groundhog
17.12.2007, 13:31
Demetra, смотря каким регулярным она проверялась... Лучше два раза проверить, чем потом огребать проблемы от своей собственной беспечности... :)
.:EnoT:.
17.12.2007, 13:49
а скажите зачем проверять строку на хтмл тэги если до этого она проверялась регулярным?может и так сойдёт?
А что значит "проверять на хтмл теги". Если ты имеешь ввиду именно проверять, то это тоже регулярные выражения. Наверно ты имела ввиду фильтровать(htmlspecialchars))
Лишняя фильтрация и проверка никогда не помешает, всё таки безопасность должна быть на первом месте)
.:EnoT:., а может он имел в виду strip_tags? O_o
.:EnoT:.
17.12.2007, 15:29
.:EnoT:., а может он имел в виду strip_tags? O_o
Может быть....но уже в сотый раз замечаю что многие фильтрацию называют проверкой)
Кстати всё давно хотел спросить.
На всех сайтах с авторизацией под формой входа есть галочка "Запомнить".
Так вот мне до сих пор не понятен смысл этой кнопки...
Браузер - хм, браузер и так выдаст запрос за сохранение пароля и он будет автоматически появляться в форме каждый раз...
Двиг - а как собственно двиг будет запоминать юзера? он либо авторизовал либо нет. Так что запоминать то тут собственно нечего. А запоминание в виде кукисов это и так понятно, куки есть, юзеру не надо авторизовываться, куков нету входи заново....
В чём смысл этой галки? О_о
.:EnoT:., фраза "Браузер - хм, браузер и так выдаст запрос за сохранение пароля" убила
Если так будеш сохранять, злобный хацкер сломает твой комп и уведёт все твои пароли! Сохраняют пароли на компе токо ламаки ИМХО!
А кнопочка полезная... Есть разные способы как её сделать, например если на неё не нажать, создасться сессия, после закрытия браузреа она удалится, и надо будет логиниться заново, если тыкнуть на кнопку, инфа твоя запишется в куки и сессия будет автоматом создаваться каждый раз как заходиш... Забей в общем :)
.:EnoT:.
17.12.2007, 16:20
.:EnoT:., фраза "Браузер - хм, браузер и так выдаст запрос за сохранение пароля" убила
Если так будеш сохранять, злобный хацкер сломает твой комп и уведёт все твои пароли! Сохраняют пароли на компе токо ламаки ИМХО!
можешь называть меня кем хочешь, но я сохраняю пароли в браузере, потому что я уверен в себе. Не все пароли конечно, например от хостинга и панели управления доменом у меня на дискете. А злобный хацкер пусть сколько угодно ломает. Я тебе больше скажу, у меня не разу не стоял файрвол, только антивирус. И за два года ни одного вируса/троя, прост уметь надо :)....качаю я все программы с офф сайтов, не хожу по всяким ссылкам, не с кем в инете не ссорюсь, не понтуюсь, не выёбываюсь.....кому я нужен))
З.Ы. с кнопочкой примерно стало понятно...короче это фигня полная имхо
VampiRUS
17.12.2007, 16:21
.:EnoT:. если не ставить галку запомнить то должна быть создана сессия котороая уничтожается после закрытия браузера(мож коряво написал более правильно тебе гугл скажет), а если запомнить то уже в куках будет долгосрочный идентификатор пользователя, позволяющий ему каждый раз не авторизироваться.
Предложение браузера сохранить пароль здесь вообще нипричём.
в регулярном указаны только допустимые символы,например на мэил латиница собака и точка,лучше на тэги проверить еще да?
.:EnoT:.
17.12.2007, 16:53
в регулярном указаны только допустимые символы,например на мэил латиница собака и точка,лучше на тэги проверить еще да?
Ну если ты в регулярном укажешь только разрешённые символы, то ненадо....хотя я бы сделал фильтрацию на всякий случай....мало ли что ))
Нужен скрипт переводчика.. С возможностями добавления своих слов в базу... Лучше без скуль
Нужен скрипт переводчика.. С возможностями добавления своих слов в базу... Лучше без скуль
Ну пиши, в чём проблема? Тема называется "[php] Новичкам: задаем вопросы" а не "[php] Халявщикам: пишем переводчики" ;)
Мой те совет юзай promt.ru или другой веб переводчик, посылай туда свой запрос, результат выводи на сайте (работа с сокетами), нарушение авторских прав и т.д. но это токо совет, решать тебе :)
Ну если ты в регулярном укажешь только разрешённые символы, то ненадо....хотя я бы сделал фильтрацию на всякий случай....мало ли что ))
Ты им не доверяешь?)
-=lebed=-
18.12.2007, 18:14
Где ошибка в коде?:
<?php
$n=0;
$hash_code="";
$hash="30313233343536373839404142434445";
do
{
$code='0x'.$hash[$n].$hash[$n+1];
$hash_code.=chr($code);
echo $n."<br>";
echo $code."<br>";
echo chr($code)."<br>";
echo $hash_code."<br>";
$n++;
}
while ($n++<31)
?>
Вообщем в переменной $hash_code должен оказаться массив из 8 символов, код которых в "шестнадцатиричном" виде записан в переменной $hash (попарно, т.е 0x30,0x31,0x32,0x33 и т.д.)
Вообщем почему-то chr($code) выдаёт пустой результат, хотя вроде как тип в шестнацатиричное целое должен автоматом должен преобразовываться при использовании в качестве значения функции chr
ЗЫ Подозреваю что дело в кавычках...
VampiRUS
18.12.2007, 18:26
помойму туплю...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot