Просмотр полной версии : [php] Новичкам: задаем вопросы
На некоторых серверах нельзя изменить данный параметр, насколько я знаю. Пример - джино.
На некоторых серверах нельзя изменить данный параметр, насколько я знаю. Пример - джино.
было бы весело, если на бесплатном хостинге это можно было сделать+))
а может прекращение работы скрипта с чемнибудь другим свзяано кроме этого?? хз просто иногда и без эрора от сервера просто типо прекращает работать и все
Digimortal
19.09.2007, 22:09
но серавно на некоторых серваках он работает но потом вылетает с эрором о конфигурации сервера
как заставить работать его постоянно чтобы не случилось -- или это из-за конфига php??
это из-за конфига пхп (максимальное время выполнения скрипта задается в max_execution_time)..
а может прекращение работы скрипта с чемнибудь другим свзяано кроме этого??
еще в конфиге ограничение на используемую сценарием память выставляется..
это из-за конфига пхп (максимальное время выполнения скрипта задается в max_execution_time)..
так это же вроде дефолт. а в самом скрипте можно конкретно настраивать
lsass.exe
19.09.2007, 22:19
так это же вроде дефолт. а в самом скрипте можно конкретно настраивать
даже если в скрипте выставить,не факт что это будет работать.
Digimortal
19.09.2007, 22:20
>> так это же вроде дефолт. а в самом скрипте можно конкретно настраивать
далеко не всегда.. обычно как раз юзерам на многих хостингах запрещают самостоятельно выставлять эти параметры..
далеко не всегда.. обычно как раз юзерам на многих хостингах запрещают самостоятельно выставлять эти параметры..
я так понял, что речь идет о небесплатном хостинге=) в противном случае смысл это обсуждать. там и так все по полной урезано)
далеко не всегда.. обычно как раз юзерам на многих хостингах запрещают самостоятельно выставлять эти параметры..
set_time_limit(0) и ini_set("max_execution_time", 0) это одно и тоже, единственное нельзя будет их изменить при включенном safe_mode
Digimortal
19.09.2007, 22:38
>> set_time_limit(0) и ini_set("max_execution_time", 0) это одно и тоже, единственное нельзя будет их изменить при включенном safe_mode
не только при safe_mode, можно ведь в disable_functions прописать..
пишу в обшем ифреймер чисто для себя перепробывал уже около 15 серваков пока нинаодном скрипт не проработал до конца списка (список большой) --- вот такая бяка =(
просто иногда и без эрора от сервера просто типо прекращает работать и все
Просто так не бывает О_о
Убери @ и посомотри, может там выдаёт ошибку какуюнить... А скрипт завершается без ошибок только если он сделал всю свою работу или сервер убил процесс php.exe потомучто он долго работал, тоже вариант ;)
Ещё везде в скприптах пропиши
echo 'test 1';
echo 'test 2';
echo 'test 3';
...
И посомтри до какого он теста доработает, сделай это несколько раз, если вырубает на одном и томже тесте, значит проблема в скрипте, а если в разных местах, пиши уже админам, это изних ук дело ИМХО
Ещё везде в скприптах пропиши
echo 'test 1';
echo 'test 2';
echo 'test 3';
А лучше "проверять" с помощью or die('Test 1');
Например
ignore_user_abort(1) or die('Test 1');
NOmeR1, тоже вариант, хотя я сомневаюсь... Ведь ошибок нет + во всех функциях это писать, не кайф
ребят плиз не подскажите скрипт отправлющий пост запрос через сокет и записывающий в текстовый файл третью строчку ответа (с меня +10))
SIBON, телепаты в отпуске! Тебе на каком языке?
Вотъ РНР
http://php.net/fsockopen
(с меня +10))
Сматри какбы на +1 хватило :D
P.S. Судя по всему ты не разберёшся, стучи 202-995-022 или в стенку головой :D
Подскажите новичку: есть поле ввода текста, всё содержимое его отправляется по нажатию кнопки скрипту, как сделать чтоб по нажатию кнопки отпровлялись не только данные из input но и данные какой либо переменной.
groundhog
21.09.2007, 11:08
Внутри формы делаешь "скрытое" поле ввода, вот пример:
<input id="secret" type="hidden" name="some_var" value="...">
Такое поле не отображается на странице, но если оно находится в пределах вормы, то в action-скрипте будет созданна переменная $some_var с соответствующим value значением.
А может он имеет в виду типо логин и пасс юзверя всевремя держать при себе так сказать? :) Тогда нужны сессии
Куданить до вывода текста (обычно в первую строку config.php если такой используется) пропиши session_start(); потом при логине пиши $_SESSION['username'] = $переменая_с_именем; потом эта перемегная будет доступна в любом скрипте... Если ты это имеешь в виду...
Мне нужно создать вот такую форму http://investmarket.ru/ApplicationNew.asp на PHP но без MySQL
lsass.exe
24.09.2007, 20:11
Мне нужно создать вот такую форму http://investmarket.ru/ApplicationNew.asp на PHP но без MySQL
какую форму?У меня просто белая страница а по бокам навигация =\
lsass.exe короче на Investmarket.ru жми на
Разместить заявку =>Бизнес Продажа=>и тут появится форма
такая ошыбка
Fatal error: Call to a member function query() on a non-object in /modules/category_block.php on line 49
49.$db->query("SELECT p.category, COUNT(p.category) AS cnt FROM ".PREFIX."_post p WHERE p.approve = 1 AND p.date<=NOW() GROUP BY category");
Самое странное что отображаетса в другом скрипте который к даному модуле не имеет
ни каких зацепок.Может гуру скажут что за ошыбка и как можна исправить положения.Зарание спс.
groundhog
25.09.2007, 11:54
Fatal error: Call to a member function query() on a non-object in /modules/category_block.php on line 49
Означает, что ты пытаешься вызвать метод у неинициализированного объекта. У объекта, как я понимаю $db. Сделай var_dump($db), посмотри где он инициализируется. Как я понимаю $db - это какая-то абстракция для работы с БД. Возможно, что ты неверно указал реквизиты соединения с БД, в следствие чего не может быть создан объект. Вообще, после создания объекта хорошо было бы проверить корректность его создания, хотя бы с помощью функции is_object.
Ded MustD!e
25.09.2007, 17:00
Нужно связать PHP и XML. У меня есть XML файл с кодом:
<?xml version="1.0" encoding="windows-1251" ?>
<quests>
<quest id="0">Вопрос_1</quest>
<quest id="1">Вопрос_2</quest>
<quest id="2">Вопрос_3</quest>
<quest id="3">Вопрос_4</quest>
<quest id="4">Вопрос_5</quest>
</quests>
Его обрабатывает следующий PHP скрипт:
<?php $dom = domxml_open_file("quest.xml");
$root = $dom->document_element();
$children = $root->get_elements_by_tagname("quest"); ?>
Какой командой мне вывести на экран содержимое тэгов <quest></quest>, т.е. "Вопрос_1" и т.д.?
Не могу найти подходящей команды.
Ded MustD!e,
Насколько помню есть libxml и libxml2 (php4 и php5), поконкретнее надо.
Ded MustD!e
25.09.2007, 17:18
Что именно нужно конкретизировать? Я просто впервые столкнулся с необходимостью использовать xml.
groundhog
25.09.2007, 17:19
<?php
$dom = domxml_open_file("quest.xml");
$root = $dom->document_element();
$children = $root->get_elements_by_tagname("quest");
foreach ($children as $child) {
printf("%s<br>", $child->get_content());
}
?>
Ded MustD!e
25.09.2007, 17:24
выводит, но каериками(
вроде бы кодировка везде проставлена...
groundhog
25.09.2007, 17:32
Ded MustD!e, ну сделай конвертацию через iconv - проблемы уйдут. Я думаю трабла в неверно-настроенных локалях, или переменных окружения.
http://ru.php.net/manual/ru/ref.iconv.php
Ded MustD!e
25.09.2007, 17:35
просто это все вертится на бесплатном хостинге...
groundhog
25.09.2007, 17:41
просто это все вертится на бесплатном хостинге...
Я думаю, что iconv на любом юниксовом хостинге будет доступен без проблем. Фишка в том, что не смотря на пролог твоей XML - парсер сохраняет текстовые данные в кодировке UTF-8, поэтому нужно воспользоваться принудительным конвертом:
<?php
$dom = domxml_open_file("quest.xml");
$root = $dom->document_element();
$children = $root->get_elements_by_tagname("quest");
foreach ($children as $child) {
$value = iconv("UTF-8", "CP1251", $child->get_content());
printf("%s<br>", $value);
}
?>
Ded MustD!e
25.09.2007, 17:42
Большое спасибо, все работает!
Как создать скрипт который использует форму чтобы писать информацию в один файл а потом из этого файла она появляется на сайт но на другой странице?
Как создать скрипт который использует форму чтобы писать информацию в один файл а потом из этого файла она появляется на сайт но на другой странице?
для начала нужно почитать учебник
Moldman вопрос сформулируй папроще.
Такой вопросец....нужно закодить данные конекта к базе.Хотел бы увидить способы реализацыи на мд5 и басфе.
$mysql_host = '';
$mysql_user = '';
$mysql_pass = '';
$mysql_dbname = '';
Зарание блогодарен.
halkfild
26.09.2007, 02:24
ну мд5 тут ты не сможешь юзать так как мд5 невозратимое шифрование..
вообще твое шифрование тут не сильно остановит знающего человека так как должна быть функция расшифровки
хотя это может немного замедлить процесс получения данных..
а еще лучше в конфиге задавать сами хеши а в дополнительном файле его росшифрововать.. так хекер проверит данные а они не подходят) лишь птом мона разобратся в чем был баг
halkfild, ну почемуже... Можно зэндом закодировать config.php и инклуджить его туда, где используется MySQL
ИМХО отиличное решение :)
Молдован, или как там тебя... Moldman :D
Стучись в аську 202-995-022 помогу ;)
Я создал форму которая всю информацию записывает в один файл .dat
Но мне нужно чтоб каждая строка из этого файла превратилось в отдельный Html файл а потом на сайте поевились сылки на них.
Это возможно?
Я создал форму которая всю информацию записывает в один файл .dat
Но мне нужно чтоб каждая строка из этого файла превратилось в отдельный Html файл а потом на сайте поевились сылки на них.
Это возможно?
<?php
if (!isset($file))
{
print "<form>Введите имя файла:
<input type='text' name='file' /><br />
<input type='submit' value='submit' /></form><br /><br />";
die("Не указано имя файла");
}
$cont = file($file) or die("Файл не существует. <a href='javascript:history.go(-1);'>Назад</a>");
$i = 0;
print "Список ссылок: <br />";
foreach ($cont as $work)
{
$i++;
$name = $file.".$i.html";
$f = fopen($name, "w") or die ("Не могу создать $name. <a href='javascript:history.go(-1);'>Назад</a>");
fwrite ($f, $work);
fclose ($f);
print "<a href='".$name."'>".$name."</a><br />";
}
print "<br /><br />
<strong>Завершено. Обработано $i.</strong>";
?>
Кстати, с помощью одной только формы ничего никуда не запишешь.
Скрипт обрабатывает dat-файл, записывает построчно в разные html-файлы содержимое источника и выводит ссылки на экран.
1.Считать информацию из файла построчно в массив
2.Для каждого элемента(конструкция foreach) массива(т.е строка из файла) создать новый html-файл(т.е открыть его с w+ указателем) и добавить префикс(типа http://saent.org/)+названия.htm в базу.
3. На странице сайта(главной?) считать из базы ссылки
эМ?
Warning: mysql_pconnect() [function.mysql-pconnect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client in z:\home\test2.ru\www\inc\db_connect.php on line 6
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in z:\home\test2.ru\www\inc\db_connect.php on line 7
Ошибка соединения с БД!
Чё делать всегда выдает ошыбку а настроил то всё верно
<?php
$img_server="http://localhost";
$now = time();
$link=mysql_pconnect("localhost","zavodim","1234");
mysql_select_db("zavodim",$link) or die ("Ошибка соединения с БД!");
$uri=GetEnv("REQUEST_URI");
$uri=explode(".....",$uri);
$ips=GetEnv("REMOTE_ADDR");
$ip=explode(".",$ips);
if (($ip[0] == 62 && $ip[1] == 183 && $ip[2] == 53) || $ips=="80.66.247.94" || $ips=="80.66.253.60") {
echo"You are died Go back ";
exit;
}
?>
чё тут может быть не верного пароль 1234 бд zavodim а в чём дело так и не понял Плизззз хелп
groundhog
02.10.2007, 18:17
А что ты настраивал? Он тебе говорит, что клиентская функциональность не поддерживает протокол, предлагаемй сервером. Проблема не в скрипте! Какая версия PHP? Какая версия MySQL? Где у тебя лежит libmysql? В PHP.INI включён php_mysql? Попробуй как альтернативу постоянным соединениям использовать обычные - mysql_connect (просто замени вызов функции)...
Приветствую всех.
Есть php скрипт для генерации мыл по словарю, только криво он как-то генерирует, сохраняет сгенерированые мыла в такой спискок:
aback
@mail.com
abacus
@mail.com
abase
@mail.com
Нужно чтобы было:
aback@mail.com
abacus@mail.com
abase@mail.com
Вот сам код скрипта, подскажите плиз где что подправить.
#Coded by R0id (r0id@mail.ru)
<?
$domen = 'mail.com';
$fp = fopen("wordlist.txt", "r");
$fn = fopen("base.txt", "a");
while(!feof($fp))
{
$login = fgets($fp);
fputs($fn, "$login@$domen\n");
}
fclose($fn);
fclose($fp);
?>
#Coded by R0id (r0id@mail.ru)
#Modified by Piflit
<?
$domen = 'mail.com';
$fp = fopen("wordlist.txt", "r");
$fn = fopen("base.txt", "a");
while(!feof($fp))
{
$login = fgets($fp);
$login = preg_replace('/[\r\n]*/','',$login);
fputs($fn, "$login@$domen\n");
}
fclose($fn);
fclose($fp);
?>
<?
//Coded by R0id (r0id@mail.ru)
//Modified by c411k witf participation _toxa_
//grats all members ru_antichat, my family, friends, bash.org.ru, чмоке!!
//ps. and irc.antichat.net #antichat, write me email blablabla and ICQ blalbalba..
$domen = 'mail.com';
$fp = fopen("wordlist.txt", "r");
$fn = fopen("base.txt", "a");
while(!feof($fp))
{
$login = fgets($fp);
fputs($fn, trim($login)."@$domen\r");
}
fclose($fn);
fclose($fp);
?>
Делаю простенькую галерею.
Застрял на выводе картинок.
Надо чтобы картинки выводились по 3 штуки в ряду
т.е.
_____ _____ _____
|____| |____| |____|
|____| |____| |____|
|____| |____| |____|
_____ _____ _____
|____| |____| |____|
|____| |____| |____|
|____| |____| |____|
_____ _____ _____
|____| |____| |____|
|____| |____| |____|
|____| |____| |____|
Как это реализовать?
Картинки берутся из таблицы в mysql
Еще интересно как реализовать постраничный вывод
GreenBear
06.10.2007, 20:07
Надо чтобы картинки выводились по 3 штуки в ряду
echo '<table><tr>';
for($i=0;$i<9;$i++){
if($i == 3 || $i == 6 || $i == 9)
echo '</tr><tr><td>image</td>';
else
echo '<td>image</td>';
}
echo '</tr></table>';
помоему проще некуда.
Еще интересно как реализовать постраничный вывод
узнать общее кол-во записей и разделить их на кол-во выводимое на странице.
halkfild
06.10.2007, 20:10
лучше юзать $a % 3==0
типо картинка №3 новая строка таблици.. а постраничный вывод через лимит
просто кода делаешь выборку смотришь сколько тебе надо строк картинок помножить на 3
следущая страница с этой позиции и тд
Joker-jar
06.10.2007, 20:16
Для разбивки на страницы, вероятно, понадобится функция ceil.
Joker-jar
06.10.2007, 20:30
А, ну вот же делал - http://forum.antichat.ru/showpost.php?p=402095&postcount=14
Хочу добавить сервис смайликов для комментариев :)
Например, пишешь двоеточие и правую скобку и картинка появляется)
Но у меня почему-то вместо картинки вылазят html-теги, например, <img src="http://mysite.ru/pic/1.gif" /> Как можно решить эту проблему?Помогите пожалуйста, я понял что это нетрудно, но не допер)) с меня + ;)
http://www.php.net/str_replace ?
Спасибо за ссылку на мануал, без нее никак.
Жаль, что там конкретно мой пример не рассматривается, ибо я не понял в чем ошибка у меня...
Кто еще что подскажет? :)
Спасибо за ссылку на мануал, без нее никак.
Жаль, что там конкретно мой пример не рассматривается, ибо я не понял в чем ошибка у меня...
Кто еще что подскажет? :)
скрипт в студию
Скрипт целиком не вижу смысла выкладывать, ибо проблема в строчках 2 :)
$smile=str_replace(":-)", "<img src=\"/smiles/1.gif\" alt=\":-)\" />", $smile);
halkfild
07.10.2007, 18:44
<?php
$test="lolololo :-)<br> blablabla:-)<br>:-)<br>:-)<br>:-)<br>:-)<br>";
$test=str_replace(":-)", "<img src=\"http://127.0.0.1/lab/1.gif\" alt=\":-)\" />", $test);
echo $test;
?>
эта часть нормально работает.. только что проверял..
кинь весь скрипт.. или..
эта часть нормально работает.. только что проверял..
кинь весь скрипт.. или..
Не знаю, не знаю...у меня просто показывает двоеточие и скобку справа в твоем примере.
Вот отрывок из кода, если поможет...
$kf = @implode("",@file("komment/$komnews.k"));
$kf="$komnews";
$kf=str_replace("::","<br/>",$kf);
$kf=str_replace("||","<br/><br/>",$kf);
$kf=str_replace("<b><font color="red">","<b><font color=\"red\">",$kf);
$kf=str_replace("</font></b>","</font></b>",$kf);
$kf=str_replace(":-)", "<img src=\"/smiles/1.gif\" alt=\":-)\" />", $kf);
В чем дело??Не пойму ничего... :confused:
halkfild
07.10.2007, 19:15
у тя не правильные пути к картинке и потому показывает только альт
клацни правой на твоей картике и посмотри урл картинки.. скорее всего он кривой..
насчет моей тоже самое напиши нормальный путь к картинке на сервере и она отразится а не только ее альт
Какой это неправильный путь? :)
Адрес у меня правильный или я не так понял)
P.S. показывает у меня не альт а всю строку кода:
<img src="pic.gif" />
Red_Red1
07.10.2007, 19:33
Все должно работать!!! Дай для проверки значение которое принимает переменная $kf после строчки $kf="$komnews";
Чё ты паришься?
$kf = str_replace(':-)','<img src="http://полный_путь.ru/smiles/1.gif" alt="smile">', $kf);
И вообще может быть у тебя там стоит htmlspeciachars или что-то типо этого.
Спасибо всем за помощь, советы!halkfild оказался прав, надо было полностью указывать адрес.
Люди добрые помоги пожалуйста! Столкунлся с токой проблемой хочу написать скрипт для извлечения данных из БД. Подскажите где можно найти что то подобное?
groundhog
08.10.2007, 14:10
phpMyAdmin, напимер...
NaX[no]rT
08.10.2007, 14:12
Смотря какая БД. Чаще всего MySQL, а скрипт посмотри на woweb.ru =)) точно что-то подходящее найдешь.
m0rf держи http://shankar.name/sql.phps
обсуждение https://forum.antichat.ru/thread19797.html
Мне нужно под обределенный сайт а там только с локал хоста можно залогинится, есть уязвимость SQL Инъекция. шелл не залить. пробовал вручную вот так http://site.site/index.php?id=-3+union+select+concat_ws(0x3a,name,pass,email),2+f rom+users+limit+0,1/* но приходится постоянно менять параметр, короче гемор получается
тогда читай следующее:
https://forum.antichat.ru/threadnav24918-1-10.html
https://forum.antichat.ru/threadnav28461-1-10.html
как скопировать текст в буффер обмена?
Red_Red1
08.10.2007, 22:18
Если я не прав то поправте, но помоему это можно сделать например нажав клавиши Ctrl+C ;)
!{ra!{e/\/
08.10.2007, 23:02
как выдрать все ссылки допустим с http:\site.xxx?Как 'щелкать' по этим ссылкам?
!{ra!{e/\/, тебе нужно знание HTTP протоколов... Но т.к. мне делать нехер, можешь постучать, разберёмсо :) ася 202-995-022
scrat, ты хочешь из PHP переносить текст в буфер, чтоб его потом можно было вставлять на Ctrl+V :confused:
scrat, ты хочешь из PHP переносить текст в буфер, чтоб его потом можно было вставлять на Ctrl+V :confused:
именно так
вот как это на javascript:
window.clipboardData.setData('Text', 'то что копируем');
а как на php?
halkfild
09.10.2007, 21:31
на пхп это в принципе не возможно.. потому что пхп интерпретируется на сервере.. а жабаскрипт выполняется на стороне клиента.. пхп может только вывести текст а ничего сделать непосредственно с клиентом не может
на пхп это в принципе не возможно.. потому что пхп интерпретируется на сервере.. а жабаскрипт выполняется на стороне клиента.. пхп может только вывести текст а ничего сделать непосредственно с клиентом не может
а можно через пхп передать js?
например echo("<script>...</script>"); ?
halkfild
09.10.2007, 21:38
а можно через пхп передать js?
например echo("<script>...</script>"); ?
но в буфер запишет жабаскрипт, а не пхп
ему такой вариант вроде не подходит так как она сам написал это решение, но вопрос оставил открытым..
2 scrat делай через пхп+жабаскрипт самим пхп ты этого не сделаешь
Пусть чувак сходит в C++ раздел, пусть ему тама прогу напишут которая запускается с параметром -text и вносит этот text в буфер, а их PHP выполнять system("programm.exe -add to bufer");
ИМХО :)
Доброго дня, я столкнулся с одной проблемой в пхп, но не знаю, существует ли вообще ее решение на пхп...
Проблема: нужно чтобы каждые 8 сеунд переменная в бд заменялась на, скажем, rand(0,6) (для примера).
А также, как можно сделать обновление чата? (как заставить фрейм с сообщениями обновиться со стороны сервера?)
Спасибо ^^
groundhog
11.10.2007, 00:57
Проблема: нужно чтобы каждые 8 сеунд переменная в бд заменялась на, скажем, rand(0,6) (для примера).
Кроме как скриптом, который пускается с консоли и в бесконечном цикле засыпает, обновляет переменную и опять засыпает ты это не сделаешь. Даже задачи крона не могут выполняться чаще чем одна минута.
А также, как можно сделать обновление чата? (как заставить фрейм с сообщениями обновиться со стороны сервера?)
Никак. Используй хидер Refresh чтобы инициировать обновление в определённые промежутки времени:
header("Refresh: 5; index.php");
Заставит обновляться страницу один раз в пять секунд и при этом подгружать index.php. Это будет продолжать до тех пор, пока клиент не закроет браузер или не потеряет соединение с веб-сервером.
Проблема: нужно чтобы каждые 8 сеунд переменная в бд заменялась на, скажем, rand(0,6) (для примера).
Пример:
<?php
set_time_limit(0); //Чтоб работал бесконечно
ignore_user_abort(); //Ещё раз чтоб работал бесконечно :)
while(!file_exists("stop_refresh.txt")) { //Будет работать пока не создаш файл stop_refresh.txt
blablabla(); //Заносим в БД rand(0,6)
sleep(8); //Засымаем на 8 сек
}
?>
А также, как можно сделать обновление чата? (как заставить фрейм с сообщениями обновиться со стороны сервера?)
Чесн говоря не совсем понял... В смысле как обновлять у юзверей сообщения? Ябы посоветовал не обновлять (т.к. будет хавать много трафика) а поддерживать коннект с юзверем (пример mpchat.com) или с помощью Ajax сделать чтобы скрипт каждые 10 сек например подключался на сервер и если есть новые сообщения, выводил их юзверю ИМХО :)
lsass.exe
11.10.2007, 08:31
Пример:
<?php
set_time_limit(0); //Чтоб работал бесконечно
ignore_user_abort(); //Ещё раз чтоб работал бесконечно :)
while(!file_exists("stop_refresh.txt")) { //Будет работать пока не создаш файл stop_refresh.txt
blablabla(); //Заносим в БД rand(0,6)
sleep(8); //Засымаем на 8 сек
}
?>
Чесн говоря не совсем понял... В смысле как обновлять у юзверей сообщения? Ябы посоветовал не обновлять (т.к. будет хавать много трафика) а поддерживать коннект с юзверем (пример mpchat.com) или с помощью Ajax сделать чтобы скрипт каждые 10 сек например подключался на сервер и если есть новые сообщения, выводил их юзверю ИМХО :)
зачем так сложно,тогда уж
<?
set_time_limit(0);
while(1)
{
$query
sleep(8);
}
?>
есть код
require_once "mysql_connect.php";
$r =mysql_query('SELECT `id` FROM `women` WHERE `citi` = "'.$_REQUEST['citi'].
' and `1home` > '.$_REQUEST['cenas'].
' and `1home` <'.$_REQUEST['cenam']) or die("По вашему запросу анкет не найдено.");
for ($data=array(); $row= mysql_fetch_row($r); $data[] = $row);
print_r( $data);
Что выдаёт:
Array([0]=> array([0]=>2)[1]=> array([0]=>5))
Как сделать чтоб выдовал только значения 1 и 5 без array и =>&
require_once "mysql_connect.php";
$r =mysql_query('SELECT `id` FROM `women` WHERE `citi` = "'.$_REQUEST['citi'].
' and `1home` > '.$_REQUEST['cenas'].
' and `1home` <'.$_REQUEST['cenam']) or die("По вашему запросу анкет не найдено.");
for ($data=array(); $row= mysql_fetch_row($r); $data[] = $row);
echo( $data[1].'|'.$data[5]);
Вообщем идею я тебе подал ;)
идея понятна. только при таком раскладе выводит
Array|Array
есть код
require_once "mysql_connect.php";
$r =mysql_query('SELECT `id` FROM `women` WHERE `citi` = "'.$_REQUEST['citi'].
' and `1home` > '.$_REQUEST['cenas'].
' and `1home` <'.$_REQUEST['cenam']) or die("По вашему запросу анкет не найдено.");
for ($data=array(); $row= mysql_fetch_row($r); $data[] = $row);
print_r( $data);
Что выдаёт:
Array([0]=> array([0]=>2)[1]=> array([0]=>5))
Как сделать чтоб выдовал только значения 1 и 5 без array и =>&
echo $data[0][0].' AND '.$data[1][0]; ?
MegaDeth
12.10.2007, 16:34
gergi, массив значит у тя двумерный.
echo( $data[0][1].'|'.$data[0][5]);
так попробуй
Вот вопрос: Подскажите самый кульный онлайн монитор.
Вот вопрос: Подскажите самый кульный онлайн монитор.
самописный/Webalizer
Chifvv_59
13.10.2007, 12:41
<?php phpinfo();?>
Кто может подсказать как загнать в переменную часть результата выполнения данного скрипта, а именно:
USERNAME ****
Точнее в переменную нужно загнать: ****
Заранее благодарен.
Кто может подсказать как загнать в переменную часть результата выполнения данного скрипта, а именно:
USERNAME ****
Точнее в переменную нужно загнать: ****
Заранее благодарен.
<?
$text = 'USERNAME ****';
$text2 = preg_replace('|USERNAME\s+(.*)|', '\\1', $text);
echo $text2;
?>
groundhog
13.10.2007, 13:24
phpinfo() засунуть в переменную можно так:
<?
ob_start();
phpinfo();
$info = ob_get_contents();
ob_end_clean();
?>
Псоле этого в переменной $info будет содержимое всего (!) вывода от phpinfo(). Если тебя интересует какая-то отдельная часть, используй в качестве параметров вызова phpinfo следующие флаги:
INFO_GENERAL - общая информация о конфигарации серверног ПО и системы.
INFO_CREDITS - разработчики данной версии PHP.
INFO_CONFIGURATION - различные установки PHP.
INFO_MODULES - загружаемые модуля и их конфигурация.
INFO_ENVIRONMENT - переменные среды, которые также доступны через $_ENV.
INFO_VARIABLES - показывает все утановленные переменные (окружения, сервера, куки, гет, пост).
INFO_LICENSE - информация о лицензии.
INFO_ALL - показать всё, что только можно.
А высечь из всего полученного вывода нужную тебе информацию можно так:
if (preg_match('/USERNAME\s+(.*)/iu', $info, $match)) print($match[1]);
Chifvv_59
13.10.2007, 13:58
groundhog Большое спасибо
ребята неподскажите как поддлать referrer при сокет запросе
$headers .= "Referrer: http://passport.yandex.ru";
непомогает
и может быть это связано с тем что сраница на которую конектится сокет использует протокол https ?
ребята неподскажите как поддлать referrer при сокет запросе
непомогает
и может быть это связано с тем что сраница на которую конектится сокет использует протокол https ?
Возможно, но ещё возможно, не правельно вписал. Должна быть одна n и в конце \r\n
$headers .= "Referer: http://passport.yandex.ru\r\n";
groundhog
13.10.2007, 18:08
Возможно что и:
...
$headers .= "Referer: https://passport.yandex.ru\r\n";
...
хых. невыходит
<?php
$hostname = "icq.com";
$path = "/register/";
$line = "";
$fp = fsockopen($hostname, 443, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$data = "\r\n\r\n";
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
$headers .= "Accept: */*\r\n";
$headers .= "Accept-Language: ru\r\n";
$headers .= "Pragma: no-cache\r\n";
$headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n";
$headers .= "Proxy-Connection: Keep-Alive\r\n";
$headers .= "Referer: https://www.icq.com/register/\r\n";
fwrite($fp, $headers.$data);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line;
?>
может я ещё что напутал?
groundhog
14.10.2007, 02:14
У тебя в строчке:
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
дофига переводов строк. Нужно сделать так:
$headers .= "Content-Length: ".strlen($data)."\r\n";
Joker-jar
14.10.2007, 11:38
Есть функция, возвращающая кол-во MySQL-запросов? Или только счетчиком считать?
lsass.exe
14.10.2007, 11:44
Есть функция, возвращающая кол-во MySQL-запросов? Или только счетчиком считать?
не припоминаю таких функций, вроде тока счетчиком
groundhog
14.10.2007, 13:32
lsass.exe, учи мат. часть! :) Есть такая функция:
int mysql_num_rows ( resource result )
Она возвращает количество выбранных запросом записей из заданной таблицы. Разумеется, выбранных запросом SELECT. Ну или:
int mysql_affected_rows ( [resource link_identifier] )
Такая функция возвращает количество записей, затронутых последним INSERT, UPDATE или DELETE запросом к серверу.
lsass.exe
14.10.2007, 13:50
lsass.exe, учи мат. часть! :) Есть такая функция:
Она возвращает количество выбранных запросом записей из заданной таблицы. Разумеется, выбранных запросом SELECT. Ну или:
Такая функция возвращает количество записей, затронутых последним INSERT, UPDATE или DELETE запросом к серверу.
хы,ему нужно считать кол-во запросов к самой базу,тоесть сколько раз он юзал саму mysql_query, а не кол-во строк возвращаемое в результате запроса
groundhog
14.10.2007, 13:54
lsass.exe, ужос! Я тупею на глазах :( Перестаю понимать людей...
проблемка ....на локалке катет а на хосте нет.......
<form style='width:300px;' method='post' name='text' action='http://hacked.ipsys.net/tools/index.php'>
Текст:<br>
<textarea name='text' rows=7 cols=30></textarea><br>
<input type=submit>
</form>
Почемуто моему скрипту не передаютсо параметры и функции не работают.....
екшн правильно оформил?
-----
а на локалке работает В(
Ах да... Вот полный листинг:
<html>
<head>
<style>
..........
</style>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >
<meta name="description" content="HacKed - exploits : . : shellcode">
<meta name="keywords" content="exploits code, exploit code, exploits, shellcode">
<link type="text/css" rel="stylesheet" href="hacked.css">
<link rel="Shortcut Icon" href="tools.ico"></head>
<title>encode() && decode()</title>
</head>
<body>
<form style='width:300px;' method='post' name='text' action='http://hacked.ipsys.net/tools/index.php'>
Текст:<br>
<textarea name='text' rows=7 cols=30></textarea><br>
<input type=submit>
</form>
<hr>
<?
$text=htmlspecialchars($text);
echo("<b>koi8-r - windows-1251</b>");
$k_w=convert_cyr_string($text,"k","w");
echo("<input type=text value='$k_w'> ");
echo("<b>Windows-1251 - koi8-r</b>");
$w_k=convert_cyr_string($text,"w","k");
echo("<input type=text value='$w_k'> ");
echo("<hr>");
echo("<b>Bin - Hex</b><br>");
$b_h=bin2hex($text);
echo("<textarea rows=5 cols=20>$b_h</textarea><br>");
echo("<b>Url кодування</b><br>");
$urle=rawurlencode($text);
echo("<textarea rows=5 cols=20>$urle</textarea><br>");
Echo("<b>Url декодування</b><br>");
$urld=rawurldecode($text);
echo("<textarea rows=5 cols=20>$urld</textarea><br>");
echo("<b>Base 64 encode</b><br>");
$b64e=base64_encode($text);
echo("<textarea rows=5 cols=20>$b64e</textarea><br>");
echo("<b>Base 64 decode</b><br>");
$b64d=base64_decode($text);
echo("<textarea rows=5 cols=20>$b64d</textarea><br>");
?>
<br>
<br>
<bdo dir="ltr">© 2007 Coded by Dimi4 (N-F)</bdo></span></center>
</body>
</html>
halkfild
14.10.2007, 22:40
скорее всего, отключены глобальные переменные
включи их
php.ini
register_globals=On
но лучше принимай как
$text=$_POST['text']
p.s. немного по сабжу
http://articles.org.ru/cfaq/index.php?qid=1783&catid=14
а как можна узнать hash ?????
MegaDeth
14.10.2007, 22:46
Dimi4,
$text=htmlspecialchars($_POST['text']);
groundhog
15.10.2007, 10:03
xXx_007, какой хеш? crc, md5, rsa1?
Народ кому не впадлу исправьте этот скрипт на регу очень надо
<?
$ok=0;
#include('inc/noflood.php');
include('inc/db_connect.php');
include('time.php');
$now=time();
$ip=GetEnv("REMOTE_ADDR");
$browser=GetEnv("HTTP_USER_AGENT");
SetCookie("user","");
SetCookie("pass","");
unset($user);
unset($pass);
if (@$register) {
// Блокировка таблицы
mysql_query("LOCK TABLES `players` WRITE, `slots` WRITE");
echo mysql_error();
$login=trim($login);
$login=addslashes($login);
if ($login=="" or $conf_pass=="" or $name=="" or $sex=="") $nms.="Вы не заполнили обязательные поля!"; else {
$hinfo=mysql_fetch_array(mysql_query("SELECT id FROM players where user='".$login."'"));
echo mysql_error();
if (!empty($hinfo['id'])) $finded=1; else $finded=0;
if ($finded == 0) {
if (strlen($login)<3) { $nms.="Логин не должен быть короче 3-х символов!\\n"; } else $ok+=1;
$arr[] = chr(32);
for($i = 48; $i != 57; $i++) {
$arr[] = chr($i);
}
for($i = 65; $i != 91; $i++) {
$arr[] = chr($i);
}
for($i = 97; $i != 123; $i++) {
$arr[] = chr($i);
}
for($i = 192; $i != 256; $i++) {
$arr[] = chr($i);
}
for ($i=0; $i<strlen($login); $i++) {
if (!in_array($login[$i],$arr)) { $fb=1; break; }
}
if ($fb == 1) { $nms.="Логин содержит недопустимый символ!\\n"; } else $ok+=1;
if (preg_match("#[A-Za-z]#", $login) && preg_match("#[А-Яа-я]#", $login)) { $nms.="Логин должен состоять либо только из русских букв, либо только из английских!\\n"; } else $ok+=1;
if (is_numeric($login)) { $nms.="Логин не может состоять только из цифр!\\n"; } else $ok+=1;
if ($psw!=$conf_pass) { $nms.="Введённые Вами пароли не совпадают!\\n"; } else $ok+=1;
if ($psw==$conf_pass && strlen($psw)<6) { $nms.="Пароль не должен быть короче 6-и символов!\\n"; } else $ok+=1;
if ($sex!=1 && $sex!=2) { $nms.="Неверно указан пол!\\n"; } else $ok+=1;
if ($rase!=0 && $rase!=0 && $rase!=0 && $rase!=0) { $nms.="Неверно указана раса!\\n"; } else $ok+=1;
if (is_numeric($day) && is_numeric($month) && is_numeric($year)) {
if (($day>0 && $day<32) and ($month>0 && $month<13) and ($year>1949 && $year<2000)) { $ok+=1; }
else $nms.="Неверно указана дата рождения!\\n";
} else $nms.="Неверно указана дата рождения!\\n";
if ($law!=1) { $nms.="Принятие наших законов является обязательным условием!\\n"; } else $ok+=1;
} else $nms.="Персонаж с таким логином уже существует!\\n";
}
// Вставляем в базу
if(empty($ip))
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else
{
$ip=getenv('REMOTE_ADDR');
}
}
if ($ok>9) {
$max = mysql_fetch_array(mysql_query("SELECT MAX(id) as id FROM players"));
$NEW_USER_ID = $max['id'] + 1;
mysql_query("INSERT INTO slots (id, slots.1) values('".$NEW_USER_ID."','0')");
mysql_query("INSERT INTO players (id, user, pass, name, birth, birthdate, real_city, sex, browser, deviz, ip) values('".$NEW_USER_ID."','".addslashes($login)."',md5('$psw'),'".addslashes($name)."','$day.$month.$year','$this_time','".addslashes($city)."','".addslashes($sex)."','".addslashes($browser)."','".addslashes($deviz)."','$ip')");
$finded = 1;
mysql_query("unlock tables");
// Разблокировка таблицы
header("Location: register.php?page=end&login=$login");
exit;
}
//
mysql_query("unlock tables");
// Разблокировка таблицы
}
if ($page!="end") {
$title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
if ($nms!="") echo"<script>alert('Найдены ошибки:\\n$nms');</script>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<form action='' method=post>
<tr>
<td width=50%> Логин персонажа: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='login' class=input style='WIDTH: 150px' maxlength=20 value='$login'></td>
</tr>
<tr>
<td> Пароль: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='psw' type=password class=input style='WIDTH: 150px' maxlength=30 value='$psw'></td>
</tr>
<tr>
<td> Пароль повторно: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='conf_pass' type=password class=input style='WIDTH: 150px' value='$conf_pass'></td>
</tr>
<tr>
<td> Реальное имя: (<b style='COLOR: Red'>*</b>)</td><td align=center><input name='name' class=input style='WIDTH: 150px' maxlength=11 value='$name'></td>
</tr>
<tr>
<td> Дата рождения: (<b style='COLOR: Red'>*</b>)</td><td align=center>
<select name=day>";
for ($i=1; $i<32; $i++) { echo"<option value=$i"; if ($i==$day) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
<select name=month>";
for ($i=1; $i<13; $i++) { echo"<option value=$i"; if ($i==$month) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
<select name=year>";
for ($i=1950; $i<2000; $i++) { echo"<option value=$i"; if ($i==$year) echo" selected"; echo">$i"; }
unset($i);
echo"</select>
</td>
</tr>
<tr>
<td> Пол: (<b style='COLOR: Red'>*</b>)</td><td align=center><select name=sex style='WIDTH: 85px'><option><option value=1"; if ($sex==1) echo" selected"; echo">Мужской<option value=2"; if ($sex==2) echo" selected"; echo">Женский</select></td>
</tr>
<tr>
<td> Девиз: </td><td align=center><input name='deviz' class=input style='WIDTH: 150px' value='$deviz'></td>
</tr>
<tr>
<td> Город: </td><td align=center><input name='city' class=input style='WIDTH: 150px' maxlength=11 value='$city'></td>
</tr>
<tr>
<td colspan=2><input type=hidden name=law value=0><input type=checkbox name=law value=1"; if ($law == 1) echo " checked"; echo"> Я обязуюсь соблюдать <a href='law.php' target=_blank>законы</a></td>
</tr>
<tr>
<td align=center><input type=submit name=register class=input value='Регистрация' style='WIDTH: 150px'></td>
<td align=center><input type=button class=input value='Закрыть' style='WIDTH: 150px' onclick='window.close();'></td>
</tr>
</form>
</table>
";
}
elseif ($page=="end") {
$inf=mysql_fetch_array(mysql_query("SELECT * FROM players where user='".addslashes($login)."'"));
if ($inf[user]!="") {
if ($inf[active]==0) {
$title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
echo"<table width=330 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3 height=329><tr><td align=center valign=center>";
echo"Спасибо за регистрацию, <b>$inf[user]</b>!<br>
<br>
<br>
<input type=button value='Войти в игру с главной страницы!' class=input onclick='window.open(\"http://\",\"\",\"width=700,height=400,resizable,location=yes,menuba r=yes,status=yes,toolbar=yes,scrollbars=yes\");'>
";
mysql_query("update players set active=1 where id=$inf[id]");
} else { $title='[Регистрация]';
include('inc/html_header.php');
echo"<body bgcolor=EBEDEC>";
echo"<table width=350 border=1 bordercolor=CCCCCC cellspacing=0 cellpadding=3>
<tr>
<td align=center><b style='COLOR: Green'>[Регистрация]</b></td>
</tr>
</table><br>
";
echo"<center>Аккаунт был активирован ранее!</center>"; }
}
echo"</td></tr></table>";
}
?>
Joker-jar
15.10.2007, 17:14
Требуется поднять поддержку ф-ии mail на локалхосте. Кто-нибудь знает smtp-сервер, поддерживающий анонимную отправку писем, либо подскажите, как настроить php, чтоб использовал сервер с авторизацией (в php.ini вижу только адрес сервера и порт)
MegaDeth
15.10.2007, 18:15
sasha72 структуру бд в студию и где конкретно прогон?
MegaDeth
Всмысле прогон? и бд в студию?
MegaDeth
15.10.2007, 18:46
sasha72, ну если ты прсишь его исправить.. значит в скрипте прогон?
и не саму бд а структуру её... атакже еще инклюды (подкл. файлы)...
что на регу? с регистрацией глюк? в чем ошибка, как проялвяется?
mouse.pro
15.10.2007, 20:17
Как сделать обводку текста в imagettftext() ?
Просто вывожу текст на изображение, но мне надо этот текст обвести черным цветом. :confused:
MegaDeth
Ошибка состоит в том что когда я регюсь и заполняю все нужные поля нажимаю Зарегистрировать ну и меня возвращает обратно на страницу регистрации а акк в этом процессе не созаётся! Я терь вот думаю как исправить.....
MegaDeth
15.10.2007, 22:07
sasha72
кстати, код оформляй в [.CODE] [/CODE]
во вторых первре что на ум приходит - настройки сервера (тоесть интерпритатора точнее). попробуй так :
в 18 строку добавь
$login=$_POST['login'];
$conf_pass=$_POST['conf_pass'];
$name=$_POST['name'];
$sex=$_POST['sex'];
$day=$_POST['day'];
$month=$_POST['month'];
$year=$_POST['year'];
$deviz=$_POST['deviz'];
$city=$_POST['city'];
а также и все передаваемые скрипту данные, которые я незнаю еще потомучто нет инклюдов.
Как сделать обводку текста в imagettftext() ?
Просто вывожу текст на изображение, но мне надо этот текст обвести черным цветом. :confused:
Читай маны)
(PHP 3 >= 3.0.1, PHP 4, PHP 5)
imagettfbbox -- Give the bounding box of a text using TrueType fonts
Description
array imagettfbbox ( float size, float angle, string fontfile, string text )
This function calculates and returns the bounding box in pixels for a TrueType text.
не таже проблема. Может это не с клиентом а с бд?
MegaDeth
15.10.2007, 23:45
sasha72, для отладки временно включи отображение ощибок или посмотри лог. Может это не с клиентом а с бд?
если так думаешь то посмотри какую ошибку будет выдвать скрипт после запроса INSERT INTO. (104 строка добавь "echo mysql_error();" )
mysql_query("INSERT INTO players (id, user, pass, name, birth, birthdate, real_city, sex, browser, deviz, ip) values('".$NEW_USER_ID."','".addslashes($login)."',md5('$psw'),'".addslashes($name)."','$day.$month.$year','$this_time','".addslashes($city)."','".addslashes($sex)."','".addslashes($browser)."','".addslashes($deviz)."','$ip')");
echo mysql_error();
далее у тебя идет "отправка" браузера register.php?page=end&login=login. который в свою очередь отфутболивает на главную пагу тк. записи в таблице почемуто нет. блин, скинул бы весь движек и структуру бд тогда мог бы чемнить помоч ато тыкаюсь вслепую...
mouse.pro
16.10.2007, 04:53
Читай маны)
Ты думаешь я сразу прям сюда обратился?
Я прочитал мануалы, но что-то у меня ничего не вышло. Я надеюсь здесь мне помогут.
P.S: Меня раздражают такие умники типа тебя, которые посылают читать мануалы.
Это тема по-моему специально создана для подобных вопросов.
MegaDeth
Вот ссылка на движок и на бд, пароль "sasha72" (бд в самом движке в папке www (BD)) если поможешь буду оч блогадарен.
Я прочитал мануалы, но что-то у меня ничего не вышло.
Если бы ты прочитал, ты бы увидел, что imagettfbbox возвращает координаты углов нужной рамки, после чего отрисовать эту рамку линиями не составляет труда.
mouse.pro
16.10.2007, 13:17
Если бы ты прочитал, ты бы увидел, что imagettfbbox возвращает координаты углов нужной рамки, после чего отрисовать эту рамку линиями не составляет труда.
Ты мне лучше код напиши, твои слова мне ничего не говорят.
Объясните мне кто-нибудь, как работает вообще язык PHP, да и программирование в целом??А то тут задумался и не понял...занимаюсь этим, а самого главного пожалуй не знаю.
в смысле вот почему, допустим, функция file() читает файл и передает его в массив??почему она вот так делает, как ей "приказали" так делать?? :)
Как объяснили интерпретатору правильно обрабатывать код?
P.S. не подумайте ничего плохого, просто понять не могу, как происходят такие процессы.
Объясните мне кто-нибудь, как работает вообще язык PHP, да и программирование в целом??А то тут задумался и не понял...занимаюсь этим, а самого главного пожалуй не знаю.
в смысле вот почему, допустим, функция file() читает файл и передает его в массив??почему она вот так делает, как ей "приказали" так делать??
Как объяснили интерпретатору правильно обрабатывать код?
P.S. не подумайте ничего плохого, просто понять не могу, как происходят такие процессы.
простой пример интерпритатора:
если команда file() то почитать её параметры и сделать то-то
если комада echo то почитать её параметры и сделать то-то
.....
ну и тд
эт каэш самый примитив.
MegaDeth
16.10.2007, 15:48
Impuls*,
функции пхп обьявлены в либах,(библиотеках) там заложены инструкции что и как делать, вообще высокоуровневые языки програмирования придуманы чтобы каждый мог програмировать не задумаваясь о выделении адреса в памяти для какой-то переменной, чтобы не парить мозг с типом хранимых данных (а пхп, в этом плане очень прост и там идет автоматическая конвертация данных) интерпритатор получая эти более "человеческие" инструкции выполняет их, тоесть от file() принимает параметр, например file($put) . $put для этой переменной был выделено в памяти адрес, по которому распологается путь к файлу. далее идет открытие файла, чтение его содержимого в память, разбивка по переносу, забивка по выделеным адресам значений, для пхп это будет "массив". ну а само название функции указывает что с параметром делать)
Помогите решить задачку: (само задание ;) )
Условие: нужно написать скрипт для периименования файлов в директории из всякой абра кодабры в числовае вида: 01 02 03 04.....10 посоветуйте как это сделать :confused:
у меня имеются лиш поверхностные знания php :( поэтому тяжело мне пока осилить самостоятельно
lsass.exe
16.10.2007, 23:46
Помогите решить задачку: (само задание ;) )
Условие: нужно написать скрипт для периименования файлов в директории из всякой абра кодабры в числовае вида: 01 02 03 04.....10 посоветуйте как это сделать :confused:
у меня имеются лиш поверхностные знания php :( поэтому тяжело мне пока осилить самостоятельно
абсолютно всех файлов или определенных? подробнее опиши файлы в директории
MegaDeth
16.10.2007, 23:54
$Lemur$
$dir= opendir("./dir/");
$inc=0;
while($file = readdir($dir)){rename($file, $inc); $inc++;};
Помогите решить задачку: (само задание ;) )
Условие: нужно написать скрипт для периименования файлов в директории из всякой абра кодабры в числовае вида: 01 02 03 04.....10 посоветуйте как это сделать :confused:
у меня имеются лиш поверхностные знания php :( поэтому тяжело мне пока осилить самостоятельно
<?
$dr="наша директория";
$dir=opendir($dr);
chdir($dr);
$i=0;
while($d=readdir($dir))
{
if(is_file($d)) rename($d,$i);
$i++;
}
MegaDeth
Спасибо, теперь понятно :)
to lsass.exe все файлы в дире формата .jpeg
to scrat MegaDeth спасибо!
spamoney
19.10.2007, 16:21
Такая проблема: Хотел cраббить анекдоты с _http://anekdotov.net/vovochka/index-page-1.html
но скрипт почему то не работает, хотя вроде всё правильно написано, в чём проблема??
<?
$file = file_get_contents('http://anekdotov.net/vovochka/index-page-1.html');
$file = preg_match_all('|<strong>(.*)<tr>|U',$file,$frazes);
for($i=0;$i<10;$i++){
echo "<hr>".$frazes[0][$i]."\r\n<hr>";
}
?>
Выдаёт ошибку:
Warning: file_get_contents(http://anekdotov.net/vovochka/index-page-1.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in z:\home\backup.ru\www\anek.php on line 2
MegaDeth
19.10.2007, 16:27
spamoney так низя. надо самому запрос писать... и пихать его в сокет.
Y.Dmitriy
19.10.2007, 16:32
Warning: file_get_contents(http://anekdotov.net/vovochka/index-page-1.html) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in z:\home\backup.ru\www\anek.php on line 2
groundhog
19.10.2007, 16:34
spamoney, проблема в file_get_contents, она посылает кривой запрос... Скорее всего не посылает заголовок Host. Лучше тяни через сокеты...
spamoney
Ошибка в том, что этот скрипт пытается получить страницу, а получает ошибку 403 (доступ запрещён), это чаще всего бывает из-за robots.txt (http://anekdotov.net/robots.txt) он блочит если вы заходите без браузера как видно. Поэтому здесь вряд ли получится сделать без сокетов.
spamoney так низя. надо самому запрос писать... и пихать его в сокет.
Чушь. Так можно, но здесь нужны сокеты.
MegaDeth
19.10.2007, 16:40
spamoney
Ошибка в том, что этот скрипт пытается получить страницу, а получает ошибку 403 (доступ запрещён), это чаще всего бывает из-за robots.txt (http://anekdotov.net/robots.txt) он блочит если вы заходите без браузера как видно. Поэтому здесь вряд ли получится сделать без сокетов.
Чушь. Так можно, но здесь нужны сокеты.
я имел ввиду в конкретном этом случае, что еще сказать челу который про ошибку протокола хттп "403 доступ запрещен" не знает? (ну или невидет...)
скрипт добавления в mysql базу
<?php
$login = $_POST['login'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$link = mysql_connect("localhost", "root", "*****") or
die("Could not connect: " . mysql_error());
mysql_select_db("nova");
$query = DBQuery("SELECT * FROM admin WHERE email = '$email'");
if (mysql_num_rows($query))
die("Такой пользователь уже существует");
DBQuery("insert into admin (username, passwd, email) values('$login','$pass','$email')");
mysql_close($link);
?>
php ругается на выделеную строку а вот почему незнаю =(
в php нет функции DBQuery(), есть mysql_query(), а DBQuery() ты скорее всего взял из какого-нибудь движка, где она и была определена.
в php нет функции DBQuery(), есть mysql_query(), а DBQuery() ты скорее всего взял из какого-нибудь движка, где она и была определена.
вобщем если DBQuery() у тебя определена, то пользуй так :$query = DBQuery("SELECT * FROM admin WHERE email = '".$email."'");
аналогично и с mysql_query()
ЗЫ это же у тебя все равно не конечный вариант скрипта, да? (надеюсь)
spamoney
20.10.2007, 09:58
spamoney
Поэтому здесь вряд ли получится сделать без сокетов.
Всем спасибо, что сказали про сокеты, а то я в php как то не очень по этому сам бы не догнал, сделал через сокеты, вроде получилось, правда там наверное много лишннего кода, т.к фук-цию function httpSocketConnection нашел в полезных скриптах:
<?php
function httpSocketConnection($host, $method, $path, $data)
{
$method = strtoupper($method);
if ($method == "GET")
{
$path.= '?'.$data;
}
$filePointer = @fsockopen($host, 80, $errorNumber, $errorString);
if (!$filePointer)
{
exit('Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n');
return false;
}
$requestHeader = $method." ".$path." HTTP/1.1\r\n";
$requestHeader.= "Host: ".$host."\r\n";
$requestHeader.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n";
$requestHeader.= "Content-Type: application/x-www-form-urlencoded\r\n";
if ($method == "POST")
{
$requestHeader.= "Content-Length: ".strlen($data)."\r\n";
}
$requestHeader.= "Connection: close\r\n\r\n";
if ($method == "POST")
{
$requestHeader.= $data;
}
fwrite($filePointer, $requestHeader);
$responseHeader = '';
$responseContent = '';
do
{
$responseHeader.= fread($filePointer, 1);
}
while (!preg_match('/\\r\\n\\r\\n$/', $responseHeader));
if (!strstr($responseHeader, "Transfer-Encoding: chunked"))
{
while (!feof($filePointer))
{
$responseContent.= fgets($filePointer, 128);
}
}
else
{
while ($chunk_length = hexdec(fgets($filePointer)))
{
$responseContentChunk = '';
//logEventToTextFile('debug', $chunk_length);
$read_length = 0;
while ($read_length < $chunk_length)
{
$responseContentChunk .= fread($filePointer, $chunk_length - $read_length);
$read_length = strlen($responseContentChunk);
}
$responseContent.= $responseContentChunk;
fgets($filePointer);
}
}
//logEventToTextFile('debug', $responseContent);
return chop($responseContent);
}
$bb=0;
for($f=0;$f<3;$f++){
$data="";
$host = "anekdotov.net";
$path = "http://anekdotov.net/vovochka/index-page-$f.html";
$method = "GET";
$a=httpSocketConnection($host, $method, $path, $data);
$file = preg_match_all("#<input type=hidden name=story value='(.*?)<INPUT type=image src=#si",$a,$frazes);
for($i=0;$i<$file;$i++){
echo "<hr>".$frazes[1][$i]."\r\n<hr>";
}
$bb++;
}
$vsego=$bb*$file;
echo "Анекдотов на странице: <font color=red>$file</font><br>";
echo "Всего Анекдотов: <font color=green>$vsego</font>";
?>
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>";
}
$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
mysql_close($link);
между проверкой на совпадение в базе и добавлением в базу надо чтото ещё написать? просто если даже находит совпадение оно всё равно дальше лезет добавлять в базу и пишит успешно зарегистрирован =) чтото не пойму в чём ошибка
уже разобрался всем спасибо
сделал чтота типа вот работает =)
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>Регистрация невозможна";
}
elseif ($num_rows = 1){
$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
}
mysql_close($link);
groundhog
20.10.2007, 18:03
XIII, ты коряво сделал... Нужно так:
$result = mysql_query ("SELECT * FROM admin WHERE email = '".$email."'");
$num_rows = mysql_num_rows($result);
echo "Совпадений $num_rows \n<br>";
if ($num_rows >= 1){
print "Такой логин или email уже зарегистрирован в базе!<br>Регистрация невозможна";
}
else {
$query ="insert into admin (username, passwd, email) values('$login','$pass','$email')";
$result = mysql_query($query);
printf ("Пользователь успешно зарегистрирован", mysql_insert_id());
}
mysql_close($link);
Помогите пожалуйста!
Вот хочу сделать так, чтобы на моем сайте не флудили, не спамили не нужной фигней :)
А именно:
Вот когда пользователь добавляет комментарий, то ту переменную, допустим строка комментария - $text, обыскивали. Я это реализовал через strstr() .
$www=strstr($text, "http://");
if ($www=='http://'){
echo "
Реклама запрещена!";
exit;}
Но проблема заключается в том, что будут же вводить не "http://", а там "http://mysite.ru" и это уже обходит скрипт, как мне это подредактировать под все случаи?Как можно сделать так что, если в строке $text php-сценарий находит фрагмент "http://", то независимо от того что идет дальше или шло раньше делает то-то? :)
P.S. если есть более рациональный способ анти-спама, то сообщите пожалуйста.
Заранее спасибо!
if (preg_match('/http:\/\//', $text))
{
//... что-то делаем
}
lsass.exe
20.10.2007, 22:10
Помогите пожалуйста!
Вот хочу сделать так, чтобы на моем сайте не флудили, не спамили не нужной фигней :)
А именно:
Вот когда пользователь добавляет комментарий, то ту переменную, допустим строка комментария - $text, обыскивали. Я это реализовал через strstr() .
$www=strstr($text, "http://");
if ($www=='http://'){
echo "
Реклама запрещена!";
exit;}
Но проблема заключается в том, что будут же вводить не "http://", а там "http://mysite.ru" и это уже обходит скрипт, как мне это подредактировать под все случаи?Как можно сделать так что, если в строке $text php-сценарий находит фрагмент "http://", то независимо от того что идет дальше или шло раньше делает то-то? :)
P.S. если есть более рациональный способ анти-спама, то сообщите пожалуйста.
Заранее спасибо!
как уже сказал Dr.Check юзай
$www=str_replace("http://","",$text);
например
переменные сам поменяешь, ну и на что заменять тоже
Спасибо всем за помощь, но я решил сделать через preg_match()
ИМХО так удобнее на мой взгляд. :)
Еще вопрос в связи с этим...
Вот я решил все слова забить в массив, но сценарий почему-то неправильно обрабатывается, пишет ошибку - preg_match() expects parameter 1 to be string
Пробывал я сам решить проблему, но не понял... :-D
$_words=array('http://', '.ru', '.com', '.mobi', '.info', '.org');
if (preg_match($_words, $text)){
// делаем то-то :)
exit;}
Подскажите, что тут не правильно) надо значения из массива как-то по-другому выводить что ли?Заранее спасибо.
Red_Red1
21.10.2007, 11:31
preg_match($_words[n], $text) где n номер елемента массива. Возможно тебе нужен цикл.
Как то так
for ($n=1, $n>count($_words), $n++) if preg_match($_words[n], $text)......
Нужно все это только по одной причине у preg_match первым параметром идет строка, а ты ставишь массив.
preg_match($_words[n], $text) где n номер елемента массива. Возможно тебе нужен цикл.
Оо. А без цикла что ли никак??
Red_Red1
21.10.2007, 11:55
Можно и без цикла, почитай про оператор альтернативы в регулярных выражениях.
Должно быть примерно так
$_words='^http://|\.ru$|\.com$|\.mobi$|\.info$|\.org$'
if (preg_match($_words, $text))....
Нет, что-то не так... не работает.
А как же массив? :)
lsass.exe
21.10.2007, 12:12
Нет, что-то не так... не работает.
А как же массив? :)
Массив в прег_матч ты не запихаешь, входной параметр должен быть строкой(как уже сказал Ред) а ты выбираешь массив, если ты будешь рассматривать каждый элемент массива по отдельности, то он будет представлять из себя строку. $_words[n], ну а n перебираем естествено в цикле...
Red_Red1
21.10.2007, 12:20
<?
$text='http:s//dgasda';
$_words='#^http://|\.ru$|\.com$|\.mobi$|\.info$|\.org$#';
if (preg_match($_words, $text))
echo 'Чтото сделали!!!!!!!!!; Регулярка прошла';
else
echo 'Нифига не сделали!!!!!!!!!; Регулярка НЕ прошла';
?>
Поэксперементируй со строкой $text.
Вот тебе и без цикла, я же сказал ПОЧИТАЙ оператор альтернативы в регулярках.
2 Red_Red1
ЗачОт!! :) Огромное спасибо!!
temp_late
22.10.2007, 00:44
читал гдето про эту функцию preg_match() есть у ней какойто баг, не совсем работает как задумывалось, баг вроде связан с проверкой на емейл, если задать чуток дургие символы при которы должен вернуть false, то он все равно в проверку дает true.. Эту дыру спамеры юзают для рассылки спама, это я в статье читал гдето.
______________
Вопрос такой есть в php.ini такие настройки:
post_max_size = 8M
upload_max_filesize= 2M
Как выглядят функции для их перезадания уже в самом PHP скрипте?
groundhog
22.10.2007, 02:14
Как выглядят функции для их перезадания уже в самом PHP скрипте?
Выглядят они так: string ini_set ( string varname, string newvalue ). Например:
ini_set('post_max_size', '16M');
ini_set('upload_max_filesize', '16M');
вопрос по сессиям:
хочу закрыть сессию а мне пишит ошибки
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\user\admin\logout.php:2) in C:\AppServ\www\user\admin\logout.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\user\admin\logout.php:2) in C:\AppServ\www\user\admin\logout.php on line 9
скипт закрытия
<?
session_start();
session_destroy();
Header("Location: index.php");
?>
чёт не пойму в чём дело
После того, как был передан хотя бы один байт данных нельзя передать ни одного заголовка, а при создании/удалении сессии передаются заголовки Set-Cookie
Как вариант, создавать/разрушать сессии до вывода данных или использовать буферизацию вывода (что, в принципе, то же самое, но меньшей кровью):
<?php ob_start(); ?>
тут был вася
<?php
// работаем с сессиями
?>
тут я тоже был
<?php
ob_end_flush();
как тогда после очистки сессий вернутся на обратную сраницу если на преодресацию пхп кричит Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\user\admin\logout.php:2) in C:\AppServ\www\user\admin\logout.php on line 5
Посмотри что у тебя выводится на второй строке скрипта C:\AppServ\www\user\admin\logout.php и выводи это после работы с сессиями
ferdinant
23.10.2007, 10:48
1. Мне нужен на сайте wap (отображение новостей в мобильной версии)
2. Создать билинговую систему совместную с даталайф. В которой есть денежные и неденежные средства. С разными правами доступа (плачу отдельно). Это перспектива.
3. Новости можно придать более 3-6 значений. Например в Дле счас придать новости можно по одному значению. И виглядит это примерно так: 1 - 1.1, 1.2, 1.3, 1.4 и тд. Я думаю понятно, а мне нужно 1, 2, 3, 4, 5, 6, и потом только можно подпункты.
4. Ности не имеют привичку публиковатся по дате розмещения, это существет нов коде на странице не должно показыватся. Основная по чему будет публиковатся новость это региональное розмещение (1. Страна 1.1Область/Огромный город 1.1.1 Район 1.1.1.1 Город.... ) это основной признак! И потом все остальное. Потом другие признаки который придаются новости. Что бы можно было отобрать 1.1.1.1 Город.... + 2.2 + 3.
5 Новости розмещаются на странице заданый мной позиции Например вип на самом верху. А самые галимые в самом конце. Также самостоятельно новости розмещаются розмещаются по посещаемости и по датете! Также в ручную можно добавить посещаемость!
6. Скрип создание меню випадающих и розкладающихся!
7. Система защиты!!!
Какой движок лутше? Какой по минимуму нужно будет переделывать? ЗА помощь плачу, от 100.
По вопросам: 311960596 ferdinant@i.ua
groundhog
23.10.2007, 10:52
Для ваших целей идеально подойдёт битрикс, но разумеется он не бесплатен. Ни один движок с открытым исходным кодом не даст такой функциональности, разве что Drupal. Да и вообще, такую работу нужно делать с нуля, а не базироваться на каком-то движке. И поверьте, такая работа стоит не 100, а 1000 USD или даже больше.
ferdinant
23.10.2007, 11:13
Для ваших целей идеально подойдёт битрикс, но разумеется он не бесплатен. Ни один движок с открытым исходным кодом не даст такой функциональности, разве что Drupal. Да и вообще, такую работу нужно делать с нуля, а не базироваться на каком-то движке. И поверьте, такая работа стоит не 100, а 1000 USD или даже больше.
Я это понимаю, но у меня нет счас таких денег! Мне б найти програмиста на перспективу... В будущем ЗП рослаб от 100=>1000 и више появление новых сервисов и тому подобное! Есть идея но нет знаний! Учить надо это потерять год. За год может появится целое стадо конкурентов! Или просто идея утратит свою актуальность! Тот кто будет заниматся этип проэктом получит cPanel И все нужные рычаги. Ищу желающих! Может кто-то есть? У кого есть свободное время и пока ЗП.
groundhog
23.10.2007, 11:35
Не знаю... В такой ситуации на работу согласиться только не опытный разработчик. У меня есть опыт разработки биллинговых систем, мобильных порталов, систем продажи мобильного контента, поэтому я знаю каким гемором это обернётся в будущем. Тем более, когда работаешь один... За такие деньги нормальный разработчик не возьмётся за реализацию этого проекта. Ни один проект не будет приносить прибыли, пока в него не будет вложено достаточно моральных и материальных сил... В любом случае - теперь вам в разде о работе... Тут обсуждаются технические вопросы, а не организационные.
ferdinant
23.10.2007, 12:02
Не знаю... В такой ситуации на работу согласиться только не опытный разработчик. У меня есть опыт разработки биллинговых систем, мобильных порталов, систем продажи мобильного контента, поэтому я знаю каким гемором это обернётся в будущем. Тем более, когда работаешь один... За такие деньги нормальный разработчик не возьмётся за реализацию этого проекта. Ни один проект не будет приносить прибыли, пока в него не будет вложено достаточно моральных и материальных сил... В любом случае - теперь вам в разде о работе... Тут обсуждаются технические вопросы, а не организационные.
У меня огромное жедание с Вами пообатся!!! Свяжитесь со мной 311960596 моя ася
что подразумевается под выражением "класс, предназначенный для хранения
коллекции объектов"?
я понимаю, что это класс, который содержит другие классы. Но где и он их содержит и в чем? хотелось бы увидеть пример. (подразумевается работа с php5)
=======ДОБАВЛЕНО===========
Долго думал над этим... полазил в нете. Может подразумевается класс, в котором есть переменная-ассоциативный массив, которая хранит указатели на объекты. И обращаться к объекту нужно по его ключу (имени из массива). Логично же? но все равно жду версий и примеров
======ЕЩЕ ДОБАВЛЕНО=========
Да, короче, это так. Вопрос снят. попозже выложу пример, в этот же пост.
======ЕЩЕ ЕЩЕ ДОБАВЛЕНО :)========
короче примерно так:
class Collection
{
var $col; //типа ассоциативный массив будущий
//добавление объекта
function AddItem($key,$object)
{
$this->col[$key]=$object;
}
//получение объекта по ключу, если объект есть то возвращает его иначе NULL
function GetItem($key)
{
if(isset($this->col[$key]))return $this->col[$key];else return NULL;
}
}
$a=new Collection();
$b=1;$c="yoo";$massiv=array(1,2,3,4);
$a->AddItem('b',$b);
$a->AddItem('c',$massiv);
$d=$a->GetItem('b');
echo "$d<br>";
$d=$a->GetItem('c');
echo $d[3];
где тут ошибка? запрос не выполняется чего то
mysql_query("UPDATE admin SET username = '$useedit', passwd = '$passedit', email = '$mailedit', iсq = '$icqedit' WHERE admin.id_admin= '$_SESSION[id_adm]' LIMIT 1; ");
где тут ошибка? запрос не выполняется чего то
мож здесь:
mysql_query("UPDATE admin SET username = '$useedit', passwd = '$passedit', email = '$mailedit', iсq = '$icqedit' WHERE admin.id_admin= '$_SESSION[id_adm]' LIMIT 1; ");
просто r пропустил?
lsass.exe
24.10.2007, 00:40
где тут ошибка? запрос не выполняется чего то
скопируй сюда репорт об ошибке, а вобще убери limit 1; проверь правильность имен таблиц и замени admin.id_admin на id_admin
да всё равно лажа =) делаю тоже самое сразу в mysql всё работает а через скрипт не пашет =)
halkfild
24.10.2007, 01:14
сделай дебаг..
сам запрос пиши в переменную и в процесе выводи на екран.. проверь сам запрос и юзай вывод ошибок
echo mysql_errno() . ": " . mysql_error(). "\n";
саму ошибку можешь кинуть сюда
1054: Unknown column 'iГ±q' in 'field list'
это типа ошибка самой базы
groundhog
24.10.2007, 09:23
xiii, ты пытаешься апдейтнуть несуществующее поле в таблице... Ошибка именно об этом и говорит. Только название поля в какой-то кодировке странной... Ты что, создавал поля на русском? :)
поле icq напиши заново, ты походу "c" русскую написал, они ничем неотличаются и на одной клавише находятся...
.:EnoT:.
24.10.2007, 13:10
Тупой вопрос:
Можно ли средствами php определить включён ли жаба-скрипт в браузере или это возможно определить только самим жаба-скриптом?
Просто нужен скрипт который пускает на страницу если включён джава-скрипт в браузере и посылает если выключен.
<?php
if (....) {echo "Привет, вы вошли!";} else {echo "Пшол вон!";}
?>
groundhog
24.10.2007, 13:28
Ну теоретически можно... В PHP есть такая функция:
mixed get_browser ( [string user_agent [, bool return_array]] )
Подробнее можешь про неё узнать из мануала:
http://ru.php.net/manual/ru/function.get-browser.php
Вот с помощью этой функции можно сделать такую функциональность:
<?php
$data = get_browser(null, true);
if ($data) {
echo ($data["javascript"] == 1) ? "Привет, вы вошли!" : "Пшол вон!";
}
?>
Да, чуть не забыл... Чтобы воспользоваться этой функцией, тебе нужно скачать файл:
http://browsers.garykeith.com/stream.asp?PHP_BrowsCapINI
Он содержит параметры современных браузеров. Сохраняешь его в директорию доступную для чтения PHP, и в php.ini в секции [browscap] прописываешь параметр:
browscap = /путь/к/файлу/browscap.ini
.:EnoT:.
24.10.2007, 13:34
Спасибо разобрался :)
Всем привет! :)
Я опять, кто помнит, по поводу антирекламы))
Вот как правильно сделать антирекламу, чтобы и синтаксис учитывался и все...а то вот посидел и понял, что мой скрипт достаточно легко обводится :) кто не видел, то его я обсуждал раньше в этой теме.
Если кто выложит готовый вариант своей, чужой, то буду очень благодарен!!С меня + ;)
P.s. антиреклама делается для комментариев новостей сайта, если кому надо знать)))
привет . ребята вот сижу вечерамя сума схожу .. помогите избавьте от страданий . в Instincts.ru там в лесу надо клад добывать. и сижу каждую минуту пароль набираю для клада .. немоглибы вы дать или сделать php код. чтоб код сам определялся и вводился и чтоб автоматически отправлялся . ато постоянно надоедает набирать разные пароли и сидеть ждать пока пройдет минута и сново прописывать .. буду очень благодарна . зарание спасибо
Iceangel_
25.10.2007, 09:12
Может кто нибудь дать скрипт (его писать пару минут, просто я php только начал изучать...), чтобы он отправлял 1000 http запросов и ответ от каждого сохранял в файл?
С меня ++
Iceangel_
25.10.2007, 09:20
2 Impuls*
Вот что нашел...
http://hosttest.info/webmaster.php?id=php
Там должно быть в исходниках чата...
Сам ничего не проверял...
Может кто нибудь дать скрипт (его писать пару минут, просто я php только начал изучать...), чтобы он отправлял 1000 http запросов и ответ от каждого сохранял в файл?
С меня ++
<?php
for($i=0;$i<1000;$i++){
$ch = curl_init("http://www.site.ru/");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
$result=curl_exec($ch);
curl_close($ch);
$fp=fopen('file.txt',"a+");
fputs($fp,$result);
fclose($fp);
}
?>
в каталоге со скриптом создай файл file.txt с правами на запись, в него будут писаться ответы на запросы
+ нужна поддержка curl'а на хостинге
ниукого небудет ? =(
https://forum.antichat.ru/showpost.php?p=222983&postcount=10
inlanger
25.10.2007, 23:26
Привет. У меня такой вопрос. Страница содержит в себе информацию, которая зависит от переменной type. Так же количетсво этой информации зависит от переменной num.
То есть, при загрузке страницы адресс выглядит примерно так:
news.php?type=menu&num=3
а вопрос такой...как мне сделать, чтобы значение одной переменной менялось, а значение другой - нет? Ведь если я перезагружаю страницу, то обе переменные обнуляются...
подробнее напиши что хочешь, а то ничего не понятно=\
inlanger
25.10.2007, 23:42
мне надо, чтобы переменная num изменилась, например на 10, а переменная type и дальше осталась menu
lsass.exe
25.10.2007, 23:58
мне надо, чтобы переменная num изменилась, например на 10, а переменная type и дальше осталась menu
если я тебя правильно понял, ты хочешь чтобы при каждом нажатии ф5 строка news.php?type=menu&num=3 менялась на news.php?type=menu&num=4 и т.д. ?
inlanger
26.10.2007, 00:05
ну,типа того. только не при нажании на ф5, а при нажатии на сцылку
lsass.exe
26.10.2007, 00:08
делай ссылку вида
news.php?type=menu&num=$n
и в начало страницы всунь $n++
при каждом обращении к странице $n будет увеличиваться
inlanger
26.10.2007, 00:13
и толку? При нажатии на ссылку ОБЕ переменные обулятся.
lsass.exe
26.10.2007, 00:15
давай линк на сайт и объясни для чего тебе это нужно, тогда мы сможем тебе реально помочь
inlanger
26.10.2007, 00:19
сайт тупо перестал работать.
а нужно это мне для того, чтобы при различных переменных выводился различный контент.
lsass.exe
26.10.2007, 00:24
<a href=news.php?type=menu&num=1>Страница 1</a>
<a href=news.php?type=menu&num=2>Страница 2</a>
<a href=news.php?type=menu&num=3>Страница 3</a>
В скрипте вывода контента юзай $_GET['num']=1,2,3 и т.д.
Или опять не то? =\
Dimon93rus
26.10.2007, 10:15
Всем доброго времени суток, тут такая проблема:
при попытке открыть страницу браузер выводит сообщение:
Warning: include(.) [function.include]: failed to open stream: Success in /var/www/test/parser/out.php on line 46
Warning: include() [function.include]: Failed opening '.' for inclusion (include_path='.:/usr/share/pear') in /var/www/test/parser/out.php on line 46
Вот строчка файла на которое указывает сообщение:
include $DOCUMENT['filename'];
Но я запускаю не именно этот файл, а другой....
Дело в том что на инет сервере всё работает нормально, а у меня на локальной машине не хочет...
Я так понимаю, что у меня проблемы с ПХП?
Какая Вам необходима дополнительная информация для решения моей проблемы?
P.S.
OS: ASPLinix 11.2
PHP: 5.1.2
Apache: 2.2.3
Red_Red1
26.10.2007, 10:26
Если можно скрипт полностью. И еще глянь значение $DOCUMENT['filename'];
Например так echo $DOCUMENT['filename']; Может там нифига нету.
inlanger
26.10.2007, 10:46
<a href=news.php?type=menu&num=1>Страница 1</a>
<a href=news.php?type=menu&num=2>Страница 2</a>
<a href=news.php?type=menu&num=3>Страница 3</a>
В скрипте вывода контента юзай $_GET['num']=1,2,3 и т.д.
не катит. надо чтобы при нажатии на ссылку news.php?type=menu&num=2 было изменении этой же ссылки на news.php?type=world&num=2
lsass.exe
26.10.2007, 11:53
не катит. надо чтобы при нажатии на ссылку news.php?type=menu&num=2 было изменении этой же ссылки на news.php?type=world&num=2
не кажется ли тебе что ты сам запутался, вот цитата одного из твоих постов выше
мне надо, чтобы переменная num изменилась, например на 10, а переменная type и дальше осталась menu
Давай ты уже решишь что именно тебе нужно ;)
inlanger
26.10.2007, 12:07
блин...точно запутался. просто система у меня тупая получилась...вот и запуталсо...
inlanger, как я понял тебе тупо постраничный вывод нужен =\
http://www.google.com/search?client=opera&rls=ru&q=php+%D0%BF%D0%BE%D1%81%D1%82%D1%80%D0%B0%D0%BD%D 0%B8%D1%87%D0%BD%D1%8B%D0%B9+%D0%B2%D1%8B%D0%B2%D0 %BE%D0%B4&sourceid=opera&ie=utf-8&oe=utf-8
Помогите плиз!
Вот написал антирекламу для сайта)но тут в чем-то ошибка, потому что всегда скрипт выводит false вроде.Кто знает, помогите пожалуйста!
$_anti='#^http://|\.ru$|\.com$|\.mobi$|\.info$|\.org$|\.net$|\.su$| \.ua$#';
$search_text=stristr($content, $_anti);
if ($search_text==false){
echo "
<body>
<div style=\"text-align:left\" class=\"tit\">Ошибка</div>
<div style=\"text-align:left\" class=\"box\">
Спам запрещен!<br/>
Пожалуйста, будьте разумными:<br/>
покупайте официально рекламу на нашем сайте.<br/>
В любом случае ваш спам будет удален,<br/>
ваши старания ровно на 3 мин :)
</div>";
include("inc/foot.inc.php");}
Насчет "синтаксических ошибок" не беспокоится))просто коряво вывел код на форум.
А вот в самом коде чего-то не хватает, надо описать когда true?Что написать?
Заранее спасибо! :)
lsass.exe
27.10.2007, 21:48
if ($search_text==false)
сделай так
if($search_text)
{
true
}
else
{
false
}
Red_Red1
27.10.2007, 21:49
Как то странно ты используешь функцию stristr. У тебя в переменной $_anti записано регулярное выражение, а ты его подставляешь в функцию поиска в строке. Короче логика кода мягко говоря хромает. Если быть точнее то написан полный бред. Без обид но это так.
Вот описание функции stristr.
http://doc.mpv.ru/php/function.stristr.html
Объясни свой код с точки зрения этого описания
Что-то я не понял.
Мне надо, чтобы выполнялись определенные действия, а не просто true или false)
Может я тебя не понял, напиши плиз подробнее.Все равно спасибо)
lsass.exe
27.10.2007, 21:54
Impuls* напиши в чем именно заключается твоя "антиспам система" тогда нам будет легче тебе помочь
Как то странно ты используешь функцию stristr. У тебя в переменной $_anti записано регулярное выражение, а ты его подставляешь в функцию поиска в строке. Короче логика кода мягко говоря хромает. Если быть точнее то написан полный бред. Без обид но это так.
Я не обижаюсь, я учусь, спасибо за критику :)
Тогда, подскажи как сделать правильно.
Мне надо чтобы при спаме (наборе определенных слов), комментарий не печатался, а выводилось сообщение, например: "Реклама запрещена!".Вот я так попытался сделать)
str_replace не подойдет на мой взгляд, потому что сообщение напечатается, а мне этого не надо.
Что, уже никто не может помочь? :)
Red_Red1
27.10.2007, 22:21
Если я правильно понял твой алгоритм, то должно быть так.
$_anti='#^http://|\.ru$|\.com$|\.mobi$|\.info$|\.org$|\.net$|\.su$| \.ua$#';
if (preg_match($_anti, $content)){
echo "
<body>
<div style=\"text-align:left\" class=\"tit\">Ошибка</div>
<div style=\"text-align:left\" class=\"box\">
Спам запрещен!<br/>
Пожалуйста, будьте разумными:<br/>
покупайте официально рекламу на нашем сайте.<br/>
В любом случае ваш спам будет удален,<br/>
ваши старания ровно на 3 мин :)
</div>";
include("inc/foot.inc.php");}
Но я уже выше тебе это писал. Странно что ты не реализовал.
Действует так: если регулярка сработала т.е. в переменной $content присутствует что то из $_anti, функция preg_match вернет true и выполниться ветка "Спам запрещен!"
Вроде так. Если что не понял стучись 434-675-68три
RedBull@12
27.10.2007, 23:58
Всем привет.
по мне там неверно написан шаблон.
//$content - переменная текста
$anti='#http://[a-z0-9_\.]+(\.ru$|\.com$|\.mobi$|\.info$|\.org$|\.net$|\.su$ |\.ua$)#i';
preg_match($anti,$content,$out);
if ($out[0] != ""){
echo "<div style=\"text-align:left\" class=\"tit\">Ошибка</div> ";
echo "<div style=\"text-align:left\" class=\"box\"> ";
echo "Спам запрещен!<br/> ";
echo "Пожалуйста, будьте разумными:<br/> ";
echo "покупайте официально рекламу на нашем сайте.<br/> ";
echo "В любом случае ваш спам будет удален,<br/> ";
echo "ваши старания ровно на 3 мин :) ";
echo "</div>";
}
else { echo "Ok!"; }
Red_Red1
28.10.2007, 00:07
Шаблон тот который дал Impuls*. Может ему именно так нужно искать. Хотя я понял твою идею :). А вот ($out[0] != "") необязательно т.к. preg_match - функция и если есть совпадения то вернет 1, т.е. можно сразу писать if (preg_match($_anti, $content)
Да и еще одно при твоем варианте шаблона будет неверно обрабатываться сайты вида site.xxx т.к. у тебя в [a-z0-9_\.]+ присутствует точка и дальше в расширениях тоже есть точка, значит регулярка будет искать site..xxx (две точки) что неверно.
RedBull@12
28.10.2007, 00:25
Шаблон тот который дал Impuls*. Может ему именно так нужно искать. Хотя я понял твою идею :). А вот ($out[0] != "") необязательно т.к. preg_match - функция и если есть совпадения то вернет 1, т.е. можно сразу писать if (preg_match($_anti, $content)
Там изначально неверный шаблон.
Ну по поводу if-согласен,но мне почему-то просто так больше нравится(хотя вероятно это менее безопасно).
Да и еще одно при твоем варианте шаблона будет неверно обрабатываться сайты вида site.xxx т.к. у тебя в [a-z0-9_\.]+ присутствует точка и дальше в расширениях тоже есть точка, значит регулярка будет искать site..xxx (две точки) что неверно.
вот скрипт накатал...все работает...т.к. в адресе могут быть поддомены.
http://aandb.ru/test.php?a=http://aaa.www.ru
Red_Red1
28.10.2007, 00:51
Я тоже думал про поддомены.... все это ясно. Но я написал адреса вида site.xxx т.е. как оно будет работать если нету поддоменов?
RedBull@12
28.10.2007, 00:52
Я тоже думал про поддомены.... все это ясно. Но я написал адреса вида site.xxx т.е. как оно будет работать если нету поддоменов?
я кинул линк скрипта...можешь порверить все работает.
Red_Red1
28.10.2007, 01:07
Да. Я все понял. Будет работать! Ты прав... я тупанул с классом :)
Хотя там есть одна темка которую скрипт не учитывает. По идее регулярка ищет адреса и если запись соответствует "понятию" адрес сайта, то пишет "СПАМ". Но если мы в сделаем так. http://aandb.ru/test.php?a=http://aaa.........ru (http://aaa.........ru - не адрес сайта) то скрипт все равно выдаст СПАМ!!!! Хотя это уже наверно не критично.
RedBull@12
28.10.2007, 01:14
Да. Я все понял. Будет работать! Ты прав... я тупанул с классом :)
Хотя там есть одна темка которую скрипт не учитывает. По идее регулярка ищет адреса и если запись соответствует "понятию" адрес сайта, то пишет "СПАМ". Но если мы в сделаем так. http://aandb.ru/test.php?a=http://aaa.........ru (http://aaa.........ru - не адрес сайта) то скрипт все равно выдаст СПАМ!!!! Хотя это уже наверно не критично.
почему?...если это порсто текст то он просто проинорирует и все.
ну можно еще прописать дополнительный,необзатель ый параметр в шаблоне, чтобы проверял раширение файла...и т.п. но это уже авто сам добавит...это уже причесать и прилизать...
Как прикрутить капчу к форме, а точнее вообще как реализовать капчу. сПс
forsecure4
28.10.2007, 08:54
Доброго времени суток господа!
Есть 2 пхп скрипта на удаленном сервере
1 пхп начинается:
<? session_start(); ?>
<html>
<head>
<title>ADMIN</title>
<script type="text/javascript">
function CheckAll(formname)
{
thisCheckBoxes = document.forms[formname].getElementsByTagName('input');
for (i = 0; i < thisCheckBoxes.length; i++) {
if (thisCheckBoxes[i].name!='forall')
thisCheckBoxes[i].checked = !thisCheckBoxes[i].checked;
}
}
</script>
</head>
<body>
<?
if (session_is_registered("valid_user")) $valid=true; else $valid=false;
if (!isset($login) && !isset($password)) $logged=false;else $logged=true;
if (!$logged && !$valid) {
?>
Please, log in:
<form method=post name=auth action='1.php'>
<table><tr>
<td>Login:</td>
<td><input type=text name=login></td>
</tr><tr>
<td>Password:</td>
<td><input type=password name=password></td>
</tr><tr>
<td colspan=2 align=center><input type=submit value="LOGIN"></td>
</tr>
</form>
<?
}
if ($logged)
...
2 пхп начинается так:
<? session_start();
if (!session_is_registered("valid_user")) exit();
?>
<?php
@set_time_limit(0);
@ini_set('max_execution_time',0);
@ini_set('output_buffering',0);
require ("3.php");
...
Возможно ли подменить сеесию?
или получить первый скрипт ?
Или может что-нить другое можно сделать ?
За помощь отблагодарю $
RedBull@12
28.10.2007, 10:25
Как прикрутить капчу к форме, а точнее вообще как реализовать капчу. сПс
а собственно что такое "капча"?
RedBull@12
28.10.2007, 10:57
Возможно ли подменить сеесию?
Чтобы подделать сессию,ее нужно найти сначала.
Как найти сессию - XSS,но здесь вроде как ничего не сделаешь.
у тебя есть участок кода после if ($logged)?
Или может что-нить другое можно сделать ?
если там идет обращение к БД, то вероятно можно покапаться на наличие SQL-inj.
forsecure4
28.10.2007, 15:12
У меня есть код, он почТИ такой же:
if ($login=='admin' && $password=='admin) {
session_register("valid_user");
$valid=true;
} else {
echo "<h3>WRONG LOGIN OR PASS!</h3>";
}
if (!$valid) exit();
groundhog
28.10.2007, 15:18
При register_globals=off к таким скриптам не докопаться.
phol1eadeux
28.10.2007, 16:48
а собственно что такое "капча"?
Почитай здесь:
http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D0%BF%D1%87%D0%B0
Про preg_match(), я реализовал этот вариант как только ты мне его дал!
НО: он ищет именно этот текст, учитывает вроде регистр букв, потом если написать "http://google.ru/tuta - картинки!" то он пропустит его, я пробывал.Или просто надо что-то добавить))
Вот из-за этих минусов я пробывал это реализовать через поиск без регистра stristr(), здесь и если написано еще что-то то скрипт работает.
Red_Red1
28.10.2007, 18:40
В регулярках можно поставить модификатор "i" тогда будет игнорировать регистр. По поводу остального - напиши подробнее что ты хочешь чтобы у тебя искало и фильтровало... какие именно записи должны фильтроваться скриптом?
ОГРОМНОЕ СПАСИБО Red_Red1!! :)
Все понял, все работает!
RedBull@12
28.10.2007, 19:56
ну собственно в моем примере использовался параметр "i"...
не за что
RedBull@12
28.10.2007, 20:10
Как прикрутить капчу к форме, а точнее вообще как реализовать капчу. сПс
http://www.php.ru/forum/viewtopic.php?p=67825
если нужно могу помочь с реализацией.
----------
С наилучшими пожеланиями!
RedBull@12
29.10.2007, 22:35
http://captcha.ru/
В личку глянь
inlanger
30.10.2007, 01:42
Люди, а как вывести количетсво он-лайн посетителей на сайте не используя базу?
Люди, а как вывести количетсво он-лайн посетителей на сайте не используя базу?
сессии
RedBull@12
30.10.2007, 09:34
Люди, а как вывести количетсво он-лайн посетителей на сайте не используя базу?
Работай с сессиями.Сейвь их файл,может конечно есть функция,при заходе чела проверяй какий остались живые.
Если нужно помогу с реализацией.
--------------
С наилучшими пожеланиями!
есть текст.. с сайта граблю, а затем юзаю preg_match... надо вытащить название файла и размер...
HTML
*****
<p align="center">
test.rar 304,237 байт
<br><br>
</p>
*****
preg_match("/\<p align=\"center\"\>(.*?\<)/i", $html, $text);
чёта никак не вкурю в эти каракули с preg_match =\
.::Gh0st::.
30.10.2007, 14:15
можно сделать preg_split с регуляркой <p align="center">| |<br>
RedBull@12
30.10.2007, 16:30
А у меня предложение всеже использовать вот такого вида шаблон.
<?
$content = "<p align=\"center\">test.rar 304,237 байт <br><br> </p>";
$anti='#<p align="center">(.*) (.*)<br><br> </p>#i';
preg_match($anti,$content,$out);
echo $content."<br>";
if ($out[0] != ""){
echo "index=0 =>".$out[0];
echo "index=1 =>".$out[1]."<br>";
echo "index=2 =>".$out[2];
}
?>
Т.к. у прег_мача есть необязательный парамет, в него под нулевым индексом записывается полностью вся найденная комбинация.
А дальше начина с 1- в массиве[1] лежит первая скобка,в массиве[2] лежит вторая скобка и т.д.
Данный пример имет общий вид.
---------------------
С наилучшими пожеланиями!
вобщем почитал http://ru.php.net/manual/ru/reference.pcre.pattern.syntax.php попарил мозги и сделал...
http://tanzwut.name/parser.php
Люди, а как вывести количетсво он-лайн посетителей на сайте не используя базу?
<?Php
session_save_path("/path/to/custom/directory");
session_start();
define("MAX_IDLE_TIME", 3);
function getonlineusers(){
if ( $directory_handle = opendir(session_save_path() ) )
{ $count = 0; while ( false !== ( $filename = readdir( $directory_handle ) ) )
{ if($file != '.' && $file != '..'){
if(time()- fileatime(session_save_path() . '\\\\' . $filename) < max_idle_time * 60)
{ $count++; } } } closedir($directory_handle); return $count; } else { return false; }}
print 'Пользователей онлайн: ' . getonlineusers() . '<br />';
?>
inlanger
02.11.2007, 12:31
Народ, у меня такой вопрос. Я хочу создать РСС ленту на сайте. Но у меня тупо не выходит.
<?php
header("content-type: application/rss+xml");
echo "
<?xml version=\"1.0\" encoding=\"windows-1251\"?>
<rss version=\"2.0\">
<channel>
<title>Здесь название канала</title>
<link>Здесь ссылка на сайт</link>
<description>Здесь краткое описание данного канала</description>
<lastBuildDate>Здесь дата последнего изменения в канале (RFC 2822)</lastBuildDate>
<item>
<title>Заголовок статьи1 или новости1</title>
<link>Ссылка на эту статью или новость</link>
<description>Текст статьи или новости в произвольном объёме</description>
<pubDate>Дата опубликования данной статьи или новости</pubDate>
</item>
<item>
<title>Заголовок статьи2 или новости2</title>
<link>Ссылка на эту статью или новость</link>
<description>Текст статьи или новости в произвольном объёме</description>
<pubDate>Дата опубликования данной статьи или новости</pubDate>
</item>
<item>
<title>Заголовок статьи3 или новости3</title>
<link>Ссылка на эту статью или новость</link>
<description>Текст статьи или новости в произвольном объёме</description>
<pubDate>Дата опубликования данной статьи или новости</pubDate>
</item>
</channel>
</rss>";
?>
когда я пытаюст открыть эту страницу мне браузер предлагает её сохранить или выбрать, через что открыть. Если я выбираю ФФ, то выводит
Здесь ссылка на сайт Здесь краткое описание данного канала Здесь дата последнего изменения в канале (RFC 2822) Ссылка на эту статью или новость Текст статьи или новости в произвольном объёме Дата опубликования данной статьи или новости Ссылка на эту статью или новость Текст статьи или новости в произвольном объёме Дата опубликования данной статьи или новости Ссылка на эту статью или новость Текст статьи или новости в произвольном объёме Дата опубликования данной статьи или новости
вот такая фигня... проверял не только на локалке.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot