PDA

Просмотр полной версии : [php] Новичкам: задаем вопросы


Страницы : 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

Doom123
01.02.2008, 13:30
2ое...
када вызываеш оператор вывода загаголовок уже посылается... и при попытке записать куки он не может ещё раз послать заголовок ... поэтому выводит ошибку которая говорит тебе что заголовок отправлем и в какой строке...

-=lebed=-
01.02.2008, 13:41
Требуется оптимизация php кода функции (в плане скорости выполнения)

// Функция кодирования строки хэша в бинарный вид
function code_hash($s)
{
$n=0;
$hash_code="";
$code="";
$l=strlen($s)-1;
do
{
$code='0x'.$s[$n].$s[$n+1];
$code1=chr(hexdec($code));
$hash_code.=$code1;
$n++;
}
while ($n++<$l);
return $hash_code;
}

Предложите свой вариант!
Аргумент может быть только хэш [0-9a-f] т.е. символьное представление в hex 16, 32 или 40 символов. На выходе получаем строку в бинарном виде 8,16,20 байт соответсвенно.

Macro
01.02.2008, 13:46
mysql_query("INSERT INTO `comments` (ftext, messageid) VALUES ('$ftext', '$messageid')") or die("0o0".mysql_error());

Выдает ошибку. Почему ?

Потому что нету такого столбца

2 -=lebed=-
Смотри ниже пост Piflit'а он все правильно написал :)

Piflit
01.02.2008, 13:52
-=lebed=-
$bin_hash = pack("H*", $hex_hash);
это?

-=lebed=-
01.02.2008, 14:08
-=lebed=-
$bin_hash = pack("H*", $hex_hash);
это?
Ога! То что нужно! И не надо изобретать велосипед!
Как теперь реализовать обратное с помощью unpack() ? Какой формат указать?

Piflit
01.02.2008, 14:15
Ога! То что нужно! И не надо изобретать велосипед!
Как теперь реализовать обратное с помощью unpack() ? Какой формат указать?
bin2hex();

ElteRUS
01.02.2008, 15:03
Нет, не правильно. Разделитель должен быть не \n а \r\n и, кроме того, На всякий случай, последи за Content-Length

Да, я тоже читал про такое, но дело в том, что все остальные заголовки прекрасно работают и без \r , а вот этот с multipart/form-data - не работает ( Точнее скрипт просто не завершает роботу ... А Content-Length учитывает также и обратные слеши, которые экранируют кавычку $in .= "Content-Disposition: form-data; name=\"qqqq\"\n";, правильно ?

Macro
01.02.2008, 15:41
Нет, слэши учитывает только парсер при компиляции.

cash$$$
01.02.2008, 18:19
Подскажите какая php-функция преобразует a в символ «а»?

mister
01.02.2008, 19:03
echo html_entity_decode('a'); // a
почему то a заменяется на a
да блин! & # 9 7 ;

superboys
02.02.2008, 04:12
Подскажите как правильно обозначать БД, я обозначаю bd@localhost а у меня ошибка.
Подскажите люди знающие.

Piflit
02.02.2008, 04:18
mysql_select_db('название_бд');
есть удобная утилита для работы с бд SQLyog

superboys
02.02.2008, 04:25
Сори я не так написал
Мне надо в такой код вписать
<?
$base_name="bd@localhost";
$base_user="bd";
$base_pass="";
$db_name="bd";
$GSM="1";
$break = "0";
$debug = false;
?>
Не знаю где чо.

Piflit
02.02.2008, 04:36
mysql_connect("localhost", $base_user, $base_pass);
mysql_db_select($db_name);
$base_name и $db_name по логике одно и то же. пойду я спать.

superboys
02.02.2008, 04:57
Теперь вопрос как в БД добавить базу с пассами.
Подскажите.

.:EnoT:.
02.02.2008, 05:17
Теперь вопрос как в БД добавить базу с пассами.
Подскажите.
Ну это зависит от того какую структуру имеет твоя таблица...
Ну в общих чертах добавляется так:
mysql_query("INSERT INTO `table` VALUE('passes')");
где table - имя твоей таблицы, а passes - твои пассы
Этот запрос выполнится если у тебя в таблице одно поле

superboys
02.02.2008, 05:26
А уменя ещё таблицы нет я не создал, что надо делать при создании подскажешь?

superboys
02.02.2008, 05:39
Enot мне нужна такая база в БД чтоб в игру входить.

.:EnoT:.
02.02.2008, 06:34
мда, оказывается всё сложнее чем я думал.....
Вот почитай, мне лично очень помогло, когда я начинал изучать sql запросы

http://slil.ru/25429076

Piflit
02.02.2008, 12:21
Ну это зависит от того какую структуру имеет твоя таблица...
Ну в общих чертах добавляется так:
mysql_query("INSERT INTO `table` VALUE('passes')");
где table - имя твоей таблицы, а passes - твои пассы
Этот запрос выполнится если у тебя в таблице одно поле
mysql_query("INSERT INTO `table` (passes_column) VALUES ('passes')");
чем отличаются одинарные кавычки от двойных и обратных? кроме того, что в одинарных не происходит замены переменных на их значения.

superboys
02.02.2008, 12:26
Куд это тыкать,плиз скажи?

Ch3ck
02.02.2008, 12:31
http://ru2.php.net/manual/ru/ref.mysql.php

Joker-jar
02.02.2008, 12:44
чем отличаются одинарные кавычки от двойных
в двойных канают спецсимволы типо \r \n и т.д., hex значения и еще всякая хрень

mister
02.02.2008, 13:59
а в обратных выполняются команды ОС, если не отключили shell_exec().

superboys
02.02.2008, 14:08
Всем спасибо разобрался!

Ershik
02.02.2008, 22:09
Как правильно составить выражение, чтобы корректно отображалась страница.?
Например:.
<?php
if ($age < 18 ) echo "Вопрос: Вам больше 18?" ;
echo "Ответ: Да." ;
?>

Здесь сбито в одну строчку. Некрасиво. Я хочу, чтобы отображалось правильно, типа:
Вопрос: Вам больше 18
Ответ: Да.
У меня же эти две строчки слиты в одну.

MegaDeth
02.02.2008, 22:22
Ershik, я так и не понял что ты хочеш добиться :(
что такое "слепка"?

Ershik
02.02.2008, 22:33
Я отредактировал пост. Мне нужно узнать, как сделать, чтобы Вопрос-ответ были не в одной строке.

MegaDeth
02.02.2008, 22:36
Я отредактировал пост. Мне нужно узнать, как сделать, чтобы Вопрос-ответ были не в одной строке.
это уже не пхп.. :)
вставь <br> и учи хтмл =)
break Line.
то, я правильно тебя понял?

Ershik
02.02.2008, 22:41
Правильно поняли :) Но <br> не действует внутри
<?php
?>
Это первое, что я попробовал, и она не сработало. Показывает пустую страницу, не более.

Piflit
02.02.2008, 22:43
echo '<br>'; =\

Ershik
02.02.2008, 22:52
Cработало. Спасибо за внимание.

Piflit
02.02.2008, 22:55
я бы удивился, если бы не сработало

4NT1P0V
02.02.2008, 23:36
Подскажите как сделать на вобле 3,6,8 Главную страницу.?? :confused:

symbioin
03.02.2008, 20:41
смотрите написал код проверил, все нормально а на выходе выбивает
Parse error: syntax error, unexpected $end in C:\wamp\www\site\admin\edit_lesson.php on line 102

и еще есьб какаято замена функции

print <<<TRALIVALI ....... TRALIVALI;

scrat
03.02.2008, 21:18
symbioin: echo?

symbioin
03.02.2008, 21:23
мне нада какуюнебудь чтобы отобразить html тег <form...........>

ехо не канает

bul.666
03.02.2008, 21:27
Parse error: syntax error, unexpected $end in C:\wamp\www\site\admin\edit_lesson.php on line 102
Смотри линия ном. 102 или выше возможно где то не хватает фигурной скобки или наоборот лишняя...

и еще есьб какаято замена функции
echo<<<CODE
....
....
CODE;
echo "
asdasdasd
asdsadasd
asdasddsa
asddasdas
";
//Но тут будь внимателен с двойными ковычками...
Высмысле отобразить? Чтоб она работала как форма? или просто ввиде текста "<form .... >" ???

symbioin
03.02.2008, 21:36
спасибо, щас попробую. просто у меня есть форма с текстинпутом, есть оброботчик.
и вот проблема вставки формы в пхп :(

щас попробую спасибо. может еще чтото есть?

lsass.exe
03.02.2008, 21:43
смотрите написал код проверил, все нормально а на выходе выбивает
Parse error: syntax error, unexpected $end in C:\wamp\www\site\admin\edit_lesson.php on line 102

и еще есьб какаято замена функции

print <<<TRALIVALI ....... TRALIVALI;
Первая ошибка из-за отсутствия скобки, проверяй внимательнее код либо скидывай сюда.

Вместо второго можешь использовать
print("");
echo "";

rem
03.02.2008, 21:44
что значит "проблема вставки в пхп"?
если те нужно чтобы форма отображалась на экране при вызове скрипта то повставляй html теги в echo и усе

symbioin
03.02.2008, 22:04
<?php
include ("bd.php");

if (!isset($id))
{

$result = mysql_query ("SELECT title,id FROM lessons");
$myrow = mysql_fetch_array($result);

do
{
printf ("<p><a href='edit_lesson.php?id=%s'>%s</a></p>",$myrow["id"],$myrow["title"]);
}

while ($myrow = mysql_fetch_array($result));

}

else

{
$result = mysql_query ("SELECT * FROM lessons WHERE id=$id");
$myrow = mysql_fetch_array($result);

echo<<<CODE
form name="form1" method="post" action="update_lesson.php">
<p>
<label>title of lesson<br />
<input value="$myrow[title]" type="text" name="title" id="title" />
</label>
</p>
<p>
<label>description<br />
<input value="$myrow[meta_d]" type="text" name="meta_d" id="meta_d" />
</label>
</p>
<p>
<label>keywords<br />
<input value="$myrow[meta]" type="text" name="meta_k" id="meta_k" />
</label>
</p>
<p>
<label>insert date<br />
<input value="$myrow[date]" name="date" type="text" id="date" />
</label>
</p>
<p>
<label>enter description<br />
<textarea value="$myrow[description]" name="description" id="description" cols="60" rows="5"></textarea>
</label>
</p>
<p>
<label>text<br />
<textarea value="$myrow[text]" name="text" id="text" cols="60" rows="20"></textarea>
</label>
</p>
<p>
<label>author <br />
<input type="text" name="author" id="author" />
</label>
</p>
<p>
<label>
<input type="submit" name="submit" id="submit" value="Submit" />
</label>
</p>
</form>
CODE;

}
?>

symbioin
04.02.2008, 02:48
фсё решыл.
у меня вопросик, есть какаято програма для сливания пхп файлов?

FeraS
04.02.2008, 03:02
Подскажите как сделать на вобле 3,6,8 Главную страницу.?? :confused:
В шаблонах редактируй FORUMHOME
С этими вопросами не сюда)

bul.666
04.02.2008, 04:05
у меня вопросик, есть какаято програма для сливания пхп файлов?
Всмысле?

symbioin
04.02.2008, 05:08
ну наверное нету такой....

мне нада млить полноценную пхпшку. а не трансформированую....

GreenBear
04.02.2008, 05:47
фтп клиент программа называется.

superboys
04.02.2008, 05:53
Помогите поставил среденевековие и везде такие лаги в чём дело кто подскажет?
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\Middleages_3\Middleages_3\www\za yavka.php on line 53

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\Middleages_3\Middleages_3\www\za yavka.php on line 92

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\Middleages_3\Middleages_3\www\za yavka.php on line 101

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\Middleages_3\Middleages_3\www\za yavka.php on line 113

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in T:\home\localhost\Middleages_3\Middleages_3\www\za yavka.php on line 513

.:EnoT:.
04.02.2008, 11:41
Эта ошибка говорит о том что отсутствует запрошенный результат. Часто такое бывает из-за того что не существует таблицы с таким именем или неверное название таблицы. Например когда я пишу что-то...то иногда запускаю скрипт чтобы проверить на наличие ошибок, но БД ещё не загружал, так вот такая же ошибка выскакивает..
Так же эти предупреждения могут появляться из-за некорректного sql-запроса.
Так что проверяй :)

Nickotin
04.02.2008, 16:52
Дай те плиз легкое задание,хочу попробовать свои силы написать.

symbioin
04.02.2008, 20:37
какое мне дать collation в phpmyadmin для кодировки windows1251 на сайте???? перепробывал фсе что мона.....

SchmeL
04.02.2008, 23:52
у тебя что знаки вопроса появляются?

Macro
05.02.2008, 00:08
Дай те плиз легкое задание,хочу попробовать свои силы написать.
Напиши скрипт, реализующий на php многопоточное открытие web-страниц и сохранение в файлы

bul.666
05.02.2008, 02:33
да и чтоб выдирал смешные моменты и сохранял в MySQL БД

WriWel
05.02.2008, 02:40
>>да и чтоб выдирал смешные моменты и сохранял в MySQL БД

гг=))

веб-шел пускай напишет...;)

XENOT
05.02.2008, 03:23
Подскажите плз, как сделать изменение .htaccess в зависимости от времени. Например с 12-18 file.1 с 18-00 до 00 file.2 и с 00-12 file.3 будут инклюбиться в хтаццесс

Macro
05.02.2008, 10:00
да и чтоб выдирал смешные моменты и сохранял в MySQL БД
Тогда уж в Oracle :D
2 XENOT это надо простой подменой файла .htaccess делать скриптом, с помощью крона.

4NT1P0V
05.02.2008, 20:50
Подскажите, что не так, при попытке установки главной страницы для воблы выдает такую ошибку Warning: require_once(./global.php) [function.require-once]: failed to open stream: No such file or directory in /home/мой_сайт/public_html/forum/admincp/vbacmps_install.php on line 10

Fatal error: require_once() [function.require]: Failed opening required './global.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/мой_сайт/public_html/forum/admincp/vbacmps_install.php on line 10

ЧТО ДЕЛАТЬ??????????

bul.666
05.02.2008, 20:52
No such file or directory in
Говорит о том, что он не может найти файл...

scrat
05.02.2008, 21:03
4NT1P0V: взять из дистра воблы global.php ;)

4NT1P0V
05.02.2008, 21:03
Но я проверил, он там есть...

4NT1P0V
05.02.2008, 21:04
4NT1P0V: взять из дистра воблы global.php ;)
Чего взять и куда?? :confused:
Я уже второй день пытаюсь, нечего не выходит(((

.Begemot.
05.02.2008, 21:14
Но я проверил, он там есть...
Может права не правильно выставил на файл.

4NT1P0V
05.02.2008, 21:15
Права как в инструкции... Может кто-нибудь лично поможет??

NOmeR1
05.02.2008, 21:18
Может права не правильно выставил на файл.
Нет не может. Скрипт пытается инклудить несуществующий файл
/home/мой_сайт/public_html/forum/admincp/global.php

Проверь наличие этого файла. Если его нет, то вероятнее всего, ты не все файлы форума скинул.

4NT1P0V
05.02.2008, 21:22
Нет не может. Скрипт пытается инклудить несуществующий файл
/home/мой_сайт/public_html/forum/admincp/global.php

Проверь наличие этого файла. Если его нет, то вероятнее всего, ты не все файлы форума скинул.
Там этот файл вообще не нужен, это не форум, тпм по инструкции сказанно все файлы в папку forum ну и туда уже все остальное, а так сайт у меня сразу в корневой

NOmeR1
05.02.2008, 21:25
Мож ты установить забыл =\

4NT1P0V
05.02.2008, 21:49
Все установил!
но проблема, нет главной страницы, а при попытке все заново установить мне пишет что все установленно

4NT1P0V
05.02.2008, 21:56
У меня в админке появился дополнительный модуль vBa CMPS и там такая ошибка Warning: require_once(/home/сайт/public_html/includes/vba_cmps_global.php) [function.require-once]: failed to open stream: No such file or directory in /admincp/vba_cmps_admin.php on line 482

Fatal error: require_once() [function.require]: Failed opening required '/home/сайт/public_html/includes/vba_cmps_global.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/сайт/public_html/admincp/vba_cmps_admin.php on line 482

NOmeR1
05.02.2008, 21:57
Блин да установи по человечески как сказано в установке и не парься.

4NT1P0V
05.02.2008, 22:02
Я ВСЕ ПО ПУНКТАМ УСТАНОВИЛ!!!!!

Isis
05.02.2008, 22:04
Установил бы ты все по пунктам, не было бы ошибок..

http://www.vbsupport.org
Ответ найдешь на любой вопрос по вб..

!{ra!{e/\/
07.02.2008, 21:48
в файле cod.php

<?
if (isset($hh)) echo "net parametrov";
else echo "$hh";
?>


запускаю
cod.php ичего не выдеат

запускаю
cod.php?hh=123
тоже ничего не выдает

Тут же явно никакой ошибки нет.В чем проблема?

MegaDeth
07.02.2008, 21:57
в файле cod.php

<?
if (isset($hh)) echo "net parametrov";
else echo "$hh";
?>


запускаю
cod.php ичего не выдеат

запускаю
cod.php?hh=123
тоже ничего не выдает

Тут же явно никакой ошибки нет.В чем проблема?

<?
$hh=$_GET['hh'];
//etc...

проверяется существование переменной, соответственна ее нет(патамучта из гета надо читать, патамучта см конфиг пхп) а тогда выводится значение переменной которая несуществует => ничо не выводится...

Scipio
07.02.2008, 22:07
if (!isset($hh)) echo "net parametrov";

.:EnoT:.
07.02.2008, 22:11
if(isset($_GET['hh']))
{
$hh = $_GET['hh'];
#дальнейшие действия
}
else
{
echo'hh не указано';
}

bul.666
07.02.2008, 22:42
Нзначение переменной $hh через ?hh=
будет возможным тока если в гастройкх PHP включено register_globals

А так используй код от .:EnoT:.

humansapiens
08.02.2008, 00:33
ЛЮДИ, подскажите какие-нибудь книги по программированию web. но я полный ламер, так что язык там по проще

!{ra!{e/\/
08.02.2008, 14:15
В файле bazza.php

<?
if (mysql_connect("localhost","root",""))
{
mysql_select_db("sql_baza.sql");
$p=mysql_query("select * from `prod_bd`");
for ($i=0;$i<$mysql_num_rows($p);$i++)
{
$f=mysql_fetch_array($p);
echo "$f[num]";
}
}

выдает ошибку
Fatal error: Function name must be a string in Z:\home
\localhost\www\homes\bazza.php on line 7

что неправильно у меня в коде?

Scipio
08.02.2008, 14:25
код полностью неправильный, а эта ошибка из-за того что ты перед именем функции поставил $ вот:for ($i=0;$i<$mysql_num_rows($p);$i++)

krypt3r
08.02.2008, 14:28
<?
if (mysql_connect("localhost","root",""))
{
mysql_select_db("sql_baza.sql");
$p=mysql_query("select * from `prod_bd`");
while ($row = mysql_fetch_array ($p, MYSQL_ASSOC))
{
$f=$row['num'];
echo $f;
}
}
?>

Все в манах есть.

!{ra!{e/\/
08.02.2008, 14:36
<?
if (mysql_connect("localhost","root",""))
{
mysql_select_db("sql_baza.sql");
$p=mysql_query("select * from `prod_bd`");
while ($row = mysql_fetch_array ($p, MYSQL_ASSOC))
{
$f=$row['num'];
echo $f;
}
}
?>

Все в манах есть.
заменил весь код на твой пишет ошибку
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\homes\bazza.php on line 7

Scipio
08.02.2008, 14:39
mysql_select_db("sql_baza.sql");

в имени базы данных в мускуле не может быть точки

krypt3r
08.02.2008, 14:44
А может, это обращение к SQL-скрипту?)) Вообще-то надо все ошибки обрабатывать еще (тогда понятней будет, где затык) и закрывать соединение с помощью mysql_close()

Scipio
08.02.2008, 14:48
А может, это обращение к SQL-скрипту?)) Вообще-то надо все ошибки обрабатывать еще (тогда понятней будет, где затык) и закрывать соединение с помощью mysql_close()

в имени базы данных не может быть точки
2!{ra!{e/\/ в эту функцию передавай имя базы данных, а не файл дампа

bul.666
08.02.2008, 18:30
Он наверное просто взял файл sql_baza.sql поместил в одну папку с bazza.php и пытаеться обратиться к этому файлу как к БД... =\

Эсли это верно, то:

Мой совет скачай mysqlfront или другой софт по работе с SQL базами, создай базу например test_sql_db и импортируй туда файл sql_baza.sql... Дальше из скрипта обращайся как
mysql_select_db("test_sql_db");

Кстати желательно ставить ошибки...
Например:

mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("test_sql_db") or die(mysql_error());
mysql_query("ЗАПРОС") or die(mysql_error());


НО! mysql_error() ставить желательно тока на время отладки, а на работу ствить только сообщения...
Например
mysql_connect("localhost","root","") or die("Невозможно соедениться с базой данных");
mysql_select_db("test_sql_db") or die("База данных не найдена");
mysql_query("ЗАПРОС") or die("Ошибка в запросе");

1NtR0
08.02.2008, 19:09
Вообщем есть допустим сайт и мне нужно скриптом выдирать например то что находиться между словом "piska" и "pipiska", как организовать? Спасибо.

bul.666
08.02.2008, 19:17
$in = file_get_contents("http://sss/sss.html");
preg_match_all('|piska(.*)pipiska|i,$in,$out);
echo $out[1][0];

bul.666
08.02.2008, 19:30
Если в http://sss/sss.html много раз piska и pipiska, то юзай так:


preg_match_all('|piska(.*)pipiska|i',$in,$out);
for($i=0;$i<count($out[1]);$i++)
echo $out[1][$i]."<br>";

Kaimi
08.02.2008, 20:10
Есть страница которая создается динамически в зависимости от введенных данных, требуется после генерации послать её на почту. Как это лучше сделать?

bul.666
08.02.2008, 20:15
Фунцкия mail

mail("Кому","Тема письма","Сообщение");

!{ra!{e/\/
08.02.2008, 20:16
Нужно создать 10ссылок типа
info.php?t=1
info.php?t=2
.......
info.php?t=9
Почему так не работает?

<TABLE BORDER=3 width="100%">
<?
for ($i=0;$i<9;$i++){
echo "<tr><td><a href="info.php?t=$i";>ссылка</a></td> </tr>"
?>
</TABLE>

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in Z:\home\localhost\www\homes\bazza.php on line 4

Kaimi
08.02.2008, 20:16
Про то что существует функция я знаю, вопрос в том как послать Html сообщение и как запихнуть текущую страницу в него


$i";>

Зачем ;?

bul.666
08.02.2008, 20:20
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);


<TABLE BORDER=3 width=100%>
<?php
for ($i=0;$i<9;$i++){
echo "<tr><td><a href=info.php?t=".$i.">ссылка</a></td> </tr>";
}
?>
</TABLE>

.:EnoT:.
08.02.2008, 20:20
Нужно создать 10ссылок типа
info.php?t=1
info.php?t=2
.......
info.php?t=9
Почему так не работает?

<TABLE BORDER=3 width="100%">
<?
for ($i=0;$i<9;$i++){
echo "<tr><td><a href="info.php?t=$i";>ссылка</a></td> </tr>"
?>
</TABLE>

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in Z:\home\localhost\www\homes\bazza.php on line 4

Не знаю насколько твой код будет работать, но синтаксис у тебя неправильный:

<TABLE BORDER=3 width="100%">
<?
for ($i=0;$i<9;$i++)
{
echo "<tr><td><a href=\"info.php?t=$i\">ссылка</a></td> </tr>";
}
?>
</TABLE>

cylaaaan
09.02.2008, 03:07
<TABLE BORDER=3 width="100%">
<?
for ($i=0;$i<9;$i++)
{
echo "<tr><td><a href='info.php?t=$i'>ссылка</a></td></tr>";
}
?>
</TABLE>


Или замени на одинарные кавычки.
Так появятся ссылки одинакового имени, но c разным значением t

!{ra!{e/\/
09.02.2008, 11:35
<?
$t="prod_bd";
$n=4;
if (mysql_connect("localhost","root","")) {
mysql_select_db("ufaflat");
$p=mysql_query("select * from `$t`");
for ($i=4;$i<10;$i++){ echo mysql_result($p,$n,$i); }
$z=mysql_query("select * from 'users_bd'");
$v=mysql_result($p,$n,2);
for ($i=2;$i<4;$i++){ echo mysql_result($z,$v,$i);}
}
mysql_close();
?>


Выдает ошибку
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\homes\123.php on line 10

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\homes\123.php on line 10

не могу понять что неправильно в моем коде?

Macro
09.02.2008, 11:42
select * from 'users_bd' - кавычки должны быть обратные, либо вовсе без них

!{ra!{e/\/
09.02.2008, 11:56
В том же коде

for ($i=3;$i<4;$i++) {echo mysql_result($z,$v,$i);}

так более оптимальнее будет если это записать так

echo mysql_result($z,$v,4);

Но на это выдает ошибку в этой же строке
Warning: mysql_result() [function.mysql-result]: Bad column offset specified in Z:\home\localhost\www\homes\info.php on line 22
Что у меня не правильно?

Macro
09.02.2008, 12:04
echo mysql_result($z,$v,3);

У тебя в условии цикла написано $i=3;$i<4;$i++

Это значит что $i может быть только цифрой 3

Syntaxys
09.02.2008, 17:04
Подскажите пожалуйста как заставить работать этот (http://forum.antichat.ru/showpost.php?p=556953&postcount=15) скрипт. Если можно, то поподробней.

php
09.02.2008, 17:31
Ну раз это функция, то

из php скрипта:
send_mail("КОМУ", "СООБЩЕНИЕ", "ТЕМА", "ОТКОГО", "ОТ_ИМЕНИ","А ТУТ СКОРЕЕ ВСЕГО МЯ ФАЙЛА_ХОТЯ ХЗ")

Doom123
09.02.2008, 22:00
Кто может обьяснить что это такое?
$_SERVER['PHP_AUTH_USER']
$_SERVER['PHP_AUTH_PW']

и чем отличяется Аутентификация на сайте способом выше от Аутентификации например такой..


<?php
if (isset($_REQUEST['login'])) {
...
Проверяем логин и пароль
...
если всё нормально работаем дальше
.....}
?>
...
тут форма ввода
....

GreenTiger
09.02.2008, 22:11
Basic авторизация

Doom123
09.02.2008, 22:17
уху классно обьяснил я аж всё понел ... ты мну отправиш в мануалы... ток я тех обьеснений не понел там описывают метод а не смысл..

bul.666
09.02.2008, 22:29
Немного тут:
https://forum.antichat.ru/showthread.php?t=58583
Тут:
https://forum.antichat.ru/thread20911.html

bul.666
09.02.2008, 22:35
А вообще тут все:
http://ru2.php.net/manual/ru/features.http-auth.php

и чем отличяется Аутентификация на сайте способом выше от Аутентификации например такой..

HTTP строго категорчина проверке имя пользователя и пароля... Форма ввода определяеться браузером ... Все храниться в скрытых файлах .htaccess и .htpasswd (помойму так)...
Способом ниже можно сделать форму ввода и проверять пользователя как хочешь...
Все зависит от того, что тебе нужно... Если скрыть папку, то это способ 1, если провести автоизацию пользователя на сайте и ограничивать или наоборот дать привелегии некоторым функциям и т.д. то 2 способ какраз для этого ...

А вообще я наркоман

Doom123
09.02.2008, 23:48
кароче у меня есть скрипт транслита только он не верно заменячет если слово такое

vasja Заменит на васйа

помогите починить транслит ...

<?php
function trans($trans) {
$list = array(
'А'=>"A", 'Б'=>"B", 'В'=>"V", 'Г'=>"G", 'Д'=>"D", 'Е'=>"E", 'Ё'=>"E", 'Ж'=>"ZH", 'З'=>"Z", 'И'=>"I", 'Й'=>"J", 'К'=>"K", 'Л'=>"L", 'М'=>"M", 'Н'=>"N", 'О'=>"O", 'П'=>"P", 'Р'=>"R", 'С'=>"S", 'Т'=>"T", 'У'=>"U", 'Ф'=>"F", 'Х'=>"H", 'Ц'=>"C", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHH", 'Ъ'=>chr(35), 'Ь'=>chr(39), 'Ы'=>"Y", 'Э'=>"JE", 'Ю'=>"JU", 'Я'=>"JA",
'а'=>"a", 'б'=>"b", 'в'=>"v", 'г'=>"g", 'д'=>"d", 'е'=>"e", 'ё'=>"e", 'ж'=>"zh", 'з'=>"z", 'и'=>"i", 'й'=>"j", 'к'=>"k", 'л'=>"l", 'м'=>"m", 'н'=>"n", 'о'=>"o", 'п'=>"p", 'р'=>"r", 'с'=>"s", 'т'=>"t", 'у'=>"u", 'ф'=>"f", 'х'=>"h", 'ц'=>"c", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shh", 'ъ'=>chr(35), 'ь'=>chr(39), 'ы'=>"y", 'э'=>"je", 'ю'=>"ju", 'я'=>"ja");
foreach ($list as $rus=>$eng) {
$trans = strtr($trans, array ($eng=>$rus));}
return $trans;}
?>

Macro
09.02.2008, 23:50
Тот скрипт, что ты дал, переводит с русского на транслит, а у тебя, судя по тому, что ты написал, проблема в обратной функции.

Doom123
09.02.2008, 23:56
неа... это с транслита на русский я ж проверял .. ты попробуй введи ..

echo trans("vasja");

еси честн скрипт писался давно потом я забил на него и уже не помню чё тут намудрил=)

Macro
09.02.2008, 23:59
неа... это с транслита на русский я ж проверял .. ты попробуй введи ..

echo trans("vasja");

еси честн скрипт писался давно потом я забил на него и уже не помню чё тут намудрил=)
Просто напиши наоборот, чтобы преобразовывать англ. буквы в русские, например

array('ja'=>'я')

в этом роде

!{ra!{e/\/
10.02.2008, 00:03
<?php
session_start();
if (!isset($_SESSION["auth_username"])) {
echo "Только для зарегистрированных пользователей";
}
?>

Пишет ошибку
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\localhost\www\homes\index.php:17) in Z:\home\localhost\www\homes\avt.php on line 2

Что неправильно в коде?

Doom123
10.02.2008, 00:05
Macro

та не он просто доходит до й => j и не идёт дальше где Я => ja

Я сделаю array_unique но всё будет тоже самое =((

Macro
10.02.2008, 00:05
Эта ошибка означает, что в файле index.php есть вывод до того, как используется функция session_start();

DIAgen
10.02.2008, 00:18
помогите починить транслит ...
Я пользуюсь этой функцией для транслита, может тебе подойдет:)
function totranslit($text, $decode = true) {
$rus_b = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З', 'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р', 'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ', 'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я');
$eng_b = array('A', 'B', 'V', 'G', 'D', 'E', 'E', 'ZH', 'Z', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'F', 'H', 'TS', 'CH', 'SH', 'SCH', '', 'Y', '', 'E', 'YU', 'YA');

$rus_s = array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я',);
$eng_s = array('a', 'b', 'v', 'g', 'd', 'e', 'e', 'zh', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'sch', '', 'y', '', 'e', 'yu', 'ya');

if ($decode) {
$text = str_replace($rus_b, $eng_b, $text);
$text = str_replace($rus_s, $eng_s, $text);
} else {
$text = str_replace($eng_b, $rus_b, $text);
$text = str_replace($eng_s, $rus_s, $text);
}
return $text;
}

Macro
10.02.2008, 00:20
Macro

та не он просто доходит до й => j и не идёт дальше где Я => ja

Я сделаю array_unique но всё будет тоже самое =((
А ты сделай сначала проверку на сочитания, а потом уже на отдельные буквы

DIAgen
10.02.2008, 00:21
<?php
session_start();
if (!isset($_SESSION["auth_username"])) {
echo "Только для зарегистрированных пользователей";
}
?>

Пишет ошибку
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\localhost\www\homes\index.php:17) in Z:\home\localhost\www\homes\avt.php on line 2

Что неправильно в коде?
Поставь в начало файла
@ob_start();
@ob_implicit_flush(0);
И все будет ОК:)

Doom123
10.02.2008, 00:26
кстате у тя он тоже с косяком как и у меня попробуй прописать

totranslit("vasya", false)

будет не Вася а Васыа

DIAgen
10.02.2008, 00:39
кстате у тя он тоже с косяком как и у меня попробуй прописать

totranslit("vasya", false)

будет не Вася а Васыа
Держи.. только не проверял как работает
function totranslit($text) {


$rus_s_2 = array('а', 'б', 'в', 'г', 'д', 'е', 'ё', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ъ', 'ы', 'ь', 'э');
$eng_s_2 = array('a', 'b', 'v', 'g', 'd', 'e', 'e', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', '', 'y', '', 'e');

$rus_s_1 = array('ж','ц', 'ч', 'ш', 'ю', 'я',);
$eng_s_1 = array('zh','ts', 'ch','sh','yu', 'ya');

$rus_s_0 = array('щ');
$eng_s_0 = array('sch');

$text = str_replace($eng_s_0, $rus_s_0, $text);
$text = str_replace($eng_s_1, $rus_s_1, $text);
$text = str_replace($eng_s_2, $rus_s_2, $text);

return $text;
}
или вот так
function totranslit($text) {

$rus_s = array('щ','ж','ц', 'ч', 'ш', 'ю', 'я','а', 'б', 'в', 'г', 'д', 'е', 'ё', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ъ', 'ы', 'ь', 'э');
$eng_s = array('sch','zh','ts', 'ch','sh','yu', 'ya','a', 'b', 'v', 'g', 'd', 'e', 'e', 'z', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', '', 'y', '', 'e');

$text = str_replace($eng_s, $rus_s, $text);

return $text;
}

Doom123
10.02.2008, 00:46
Пахает =)

млин та легко а не догадался.. эххь(

!{ra!{e/\/
10.02.2008, 01:46
код сиситемы аунтификации

<?php
session_start();
$url = getenv("HTTP_REFERER");
$err = "<center><font color=#ff0000><p>Ошибка авторизации!<br>
Неверный логин или пароль</font></center></p>";
function showForm() {
echo "<p align='center'>Только для зарегистрированных пользователей!</p>
<p align='center'>Вам нужно авторизоваться или
<a href='self.php'>зарегистрироваться</a>, это не займёт у
Вас много времени.</p>
<center>
<form action='{$_SERVER['PHP_SELF']}' method='post'>
<table border='0'>
<tr>
<td>Логин</td>
<td><input type='text' size='20' name='login' /></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type='password' size='20' name='pass' /></td>
</tr>
</table>
<input type='submit' name='submit' value='Авторизоваться'>
</form>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</center>";
}

function compare_log($log,$pass,$aut_log,$aut_pass)
{
$val = false;
if(($log === $aut_log) &&
(md5($pass) === $aut_pass))
$val = true;
return $val;
}

if(isset($_POST['submit'])) {
if((!eregi("^[_.0-9a-z-]{2,15}$", $_POST['login'])) or
(!eregi("^[_.0-9a-z-]{6,15}$", $_POST['pass']))) {
echo $err;
showForm();
exit; }

else{
include "config.php";
$query = "(SELECT * FROM regy)";
$result = mysql_query($query);
while($aut = mysql_fetch_array($result))
if(compare_log($_POST['login'],$_POST['pass'],$aut['login'],$aut['pass'])) {
$_SESSION["auth_username"] = $aut['pass'];
header("Location: $url");
exit; }

if(!compare_log($_POST['login'],$_POST['pass'],$aut['login'],$aut['pass'])) {
echo $err;
showForm();
exit; }
}
}

if (!isset($_SESSION["auth_username"])) {
showForm();
exit;
}
?>

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

RedBull@12
10.02.2008, 02:25
$query = "(SELECT * FROM regy)";

$query = "(SELECT * FROM `regy`)";
поставь апострофы
иногда бывают из-за этого траблы,
а если честно мне лениво весь код проверять:)

bul.666
10.02.2008, 03:01
Пишет ошибку
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\localhost\www\homes\index.php:17) in Z:\home\localhost\www\homes\avt.php on line 2
Такое как:

header();
session_start();
setcookie();

Надо добавлять перед выводом на экран чего либо... Если ставишь echo или print или до <?php уже был вывод, то заголовок ака header (А куки и сессия именно там) уже формирован и не может быть добавлен...

presidentua
10.02.2008, 03:20
Кто спец по CURLy, подскажите, как загрузить страничку через прокси?

Isis
10.02.2008, 04:55
cURL proxy:

<?php
$curl = curl_init('http://www.antichat.ru/index.php');
curl_setopt($curl, CURLOPT_PROXY, '127.0.0.1:3003);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 10);
$page = curl_exec($curl);
curl_close($curl);
?>

Кельт
10.02.2008, 12:19
Народ, подскажите, пожалуйста, вот есть файл с кучей строк, можно как-нибудь сделать так, что бы после обработки этого файла скриптом, оставались только последние 28 символов, а все предидущие удалялись?

NOmeR1
10.02.2008, 12:21
Кельт, 28 символов от каждой строки?

Если да, то юзай такой код.
<?php
$file = file_get_contents('file.txt');
$new_file = '';
foreach(explode("\n", $file) as $str) {
$new_file .= substr($str, 27)."\n";
}
$file = fopen('new_file.txt', 'w');
fwrite($file, $new_file);
fclose($file);
?>
file.txt - файл с твоими строками, new_file.txt - обработанный файл. Права на файл new_file.txt должны быть 0777.

Isis
10.02.2008, 13:52
Если нет, то такой:
<?php
$file = file_get_contents('file.txt');
$new_file = substr($file, -28);
$file = fopen('new_file.txt', 'w+');
fwrite($file, $new_file);
fclose($file);
?>

-=lebed=-
10.02.2008, 16:54
Надо создать файл для последующего корректного использования в mysql> LOAD DATA INFILE "data.txt" INTO TABLE my_table;
Вообщем столбцы должны быть разделены символом табуляции (0х09), но надо ли заключать сами данные в кавычки и в какие, одинарные или двойные?

$string=$pass.chr(9).$code1.chr(9).$code2.chr(9).$ code3.chr(9).$code4.'\n';

Дело в том что строковые переменные $code1-4 могут содержать спецсимволы (в том числе и символ табуляции и кавычки). Ввобщем как быть? Добавить экранирование спецсимволов в $code1-4? Или создать свой формат и потом использовать опции функции LOAD DATA INFILE
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']

Isis
10.02.2008, 17:03
-=lebed=-=, при записи делать $str = str_replace("\t", " ", $str);
Кавычки при записи экранировать, при выводе - stripslashes
И еще \n должен быть в двойных кавычках, а не одинарных

Кельт
10.02.2008, 19:49
NOmeR1, да в каждой строке =) но твой скрипт удаляет первые 28 символов, а мне надо что бы оставались именно последние 28 =(

ага, просто заменил:
$new_file .= substr($str, 27)."\n";
на
$new_file .= substr($str, -29)."\n";
и все получилось лучше некуда =) спасибо =)

Scipio
11.02.2008, 07:23
-=lebed=-, данные не надо заключать не в какие кавычки, более того если ты их заключишь в кавычки, то и кавычки запишутся в поле данных (вместе с данными), переменные $code1-4 советую парсить на предмет табуляции до занесения в файл (например с помощью str_replace) т.к. наличие лишней табуляции нарушит структуру вносимых данных, т.е. LOAD DATA INFILE равномерно заносит из файла данные, которые начинаются от начала строки, далее находятся между табуляциями и до конца строки (конечно если использовать опции LOAD DATA INFILE поумолчанию, причем опции по умолчанию ты привел в своем посте) ну вот как то так, если ты ничего не понял (мой косяк) то стучи в осику, знаю как помочь

1NtR0
11.02.2008, 13:51
<?php
$file = file('file.txt');

for($i=0;$i<count($file):$i++)
{
$site="http://microsoft.com";
include("$site"."$file[$i]");
}
?>
Почему добавляет в при инклуде в конец урла __ (подчеркивание) ?

krypt3r
11.02.2008, 14:28
Что означает двоеточие в for()?

...
for($i=0;$i<count($file):$i++)
...

Кроме того, переменную $site желательно вынести за пределы цикла (перед ним) и запихать выражение count($file) в какую-нить переменную (во избежании инвариантов), например

<?php
$file = file('file.txt');
$site="http://microsoft.com";
$cnt=count($file);
for ($i = 0; $i < $cnt; $i++)
{
include($site . $file[$i]);
}
?>

ну или так =)

<?php
$file = file('file.txt');
for ($i = 0, $site="http://microsoft.com", $cnt=count($file); $i < $cnt; $i++)
{
include($site . $file[$i]);
}
?>

А подчеркивания, вероятно, в файле прописаны

0x22b
11.02.2008, 14:47
ИМХО в цикле for() в твоём случае двоеточий никогда не было и быть не может..

1NtR0
11.02.2008, 14:53
ИМХО в цикле for() в твоём случае двоеточий никогда не было и быть не может..

Маладец.... я думаю и так понятно что опечатка, в файле нету никаких подчеркиваний...

0x22b
11.02.2008, 14:57
Маладец.... я думаю и так понятно что опечатка, в файле нету никаких подчеркиваний...

Что означает двоеточие в for()?
for($i=0;$i<count($file):$i++)

внимательней посты читай..

symbioin
11.02.2008, 15:20
как мне написать скрипт? мне нада поля для выбора файлов с компютера, потом после сабмита - заливает на серв, плюс добавляет инфу в бз.

GreenBear
11.02.2008, 15:33
http://ru2.php.net/manual/en/features.file-upload.php

cylaaaan
11.02.2008, 16:19
upload.html
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>

upload.php
<?
$host = 'localhost'; // имя хоста mysql
$login = 'dle_root'; // логин к mysql
$pass = 'admin'; // пароль к mysql
$dbase = 'dle'; // база DB
$table1 = 'files'; // таблица

$db = mysql_connect("$host","$login","$pass"); // соединение с базой
mysql_select_db("$dbase",$db);

$cataloge = "C:/"; // Путь для файла
$name_file = $_FILES["filename"]["name"];
$name_size = $_FILES["filename"]["size"];
$cat_result = $_FILES["filename"]["tmp_name"];
$file_type = $_FILES["filename"]["type"];


if ($name_size > 1024*3*1024) // 1024*3*1024 = 3 мбайта
{
echo ("Размер файла слишком большой");
exit;
}

if (copy($cat_result,"$cataloge".$name_file))
{
$result = mysql_query("INSERT INTO $table1 (name,size,tmp_name,type)
VALUES ('$name_file','$name_size','$cat_result','$file_ty pe')");

if ($result == 'true')
{
echo("<strong>Файл успешно загружен </strong><br>");
echo("Характеристики файла: <br>");
echo("Имя файла: $name_file");
echo("<br>Размер файла: $name_size");
echo("<br>Каталог для загрузки: $cat_result");
echo("<br>Тип файла: $file_type");
}
else
{
echo("Ошибка БД");
}
}
else
{
echo("Ошибка загрузки файла");
}
?>


Делал без всяких проверок - на скорую руку.
Если немного разберешься в коде, поправишь под себя.
$file_ty pe - поменяй на $file_type

symbioin
11.02.2008, 16:49
спасибо. я тут просто пробывал прямо в базу файли заливать через Longblob. не получалось. решыл не выебыватся, и на хост лить. спасиба ещераз

symbioin
11.02.2008, 20:27
нужен скрипт на Аs записи звука. как правильно сделать

bul.666
11.02.2008, 20:31
На чем?

symbioin
11.02.2008, 20:36
flash

cylaaaan
11.02.2008, 21:20
Как каждую сторку из файла преобразовать в массив

например в файле 1.txt:

admin:123
root:312
lol:222


что бы было:

$a[0] = "admin:123";
$a[1] = "root:312";
$a[2] = "lol:222";


Что бы потом explode() сделать

NOmeR1
11.02.2008, 22:01
<?php
$a = explode("\n", file_get_contents('1.txt'));
?>

je0n
12.02.2008, 07:59
Как каждую сторку из файла преобразовать в массив

например в файле 1.txt:

admin:123
root:312
lol:222


что бы было:

$a[0] = "admin:123";
$a[1] = "root:312";
$a[2] = "lol:222";


Что бы потом explode() сделать
функцией file() (http://php.ru/manual/function.file.html)
обрати внимание, что функция не убирает символы перехода строки. короче... хз нафиг я это написал :) юзай конструкцию, что n0mer1 показал

Ruskey
12.02.2008, 19:02
Чтоб использовать сокеты, кроме интерпретатора еще и сервер нужен?

Kaimi
13.02.2008, 02:22
Делаю запрос к бд, в бд тип Collation
однако функция определения кодировки показывает UTF-8 при вынимании из базы, далее записываю результат в xml. Вопрос: как сконвертировать из utf в ascii, ибо стандартные функции тупят и постоянно на выходе получаю либо пустые символы, либо вместо слова 'мотоцикл' слово 'lnrnvhjk'

Isis
13.02.2008, 02:28
Kaimi,

utf-8 to ascii
echo iconv('UTF-8', 'ASCII//TRANSLIT', $text);

А лучше при соединении с бд ставь mysql_query('SET NAMES cp1251');

Kaimi
13.02.2008, 02:38
Запрос Set name cp1251 я и так делаю, но функция mb_detect_encoding все равно показывает UTF-8 почему то...
iconv не работает почему то, хотя пхп 5 версии...

ZEXEL
13.02.2008, 03:34
Доброй ночи, помогите плиз с одним делом !

<form action"spam.php" method"post">
<input type="text" name="txt">
<input type="submit" name="go" value="ADD">
<input type="reset" value="CLEAR">
</form>

Мне нужно так зделать что допустим в форму ввожу данные и оно записывало что я ввел в файл text.txt ! Помогите пожалуста - очень нужно !

Piflit
13.02.2008, 03:42
Чтоб использовать сокеты, кроме интерпретатора еще и сервер нужен?
нет

ZEXEL
13.02.2008, 04:19
Suspended
This website has been suspended. To get this website unsuspended, please contact Support.
Мне такое сервер выдает после того как такой коддинг использую !

je0n
13.02.2008, 04:27
Доброй ночи, помогите плиз с одним делом !

<form action"spam.php" method"post">
<input type="text" name="txt">
<input type="submit" name="go" value="ADD">
<input type="reset" value="CLEAR">
</form>

Мне нужно так зделать что допустим в форму ввожу данные и оно записывало что я ввел в файл text.txt ! Помогите пожалуста - очень нужно !
у тебя еще в форме ошибка. поставь "=". ну и то что тебе дал mobile, я ж думаю ты догадался, что нужно положить это в туже дерикторию где файл с твоей формой и назвать его spam.php?

вроде должно работать

ZEXEL
13.02.2008, 04:30
На щет = просто там ошибка , вобще там стоит = ! что тогда не так когда такую ошибку выдает сервер ?

Mobile
13.02.2008, 04:48
На щет = просто там ошибка , вобще там стоит = ! что тогда не так когда такую ошибку выдает сервер ?
вот, этот точно работает
<?
if ($_POST['go']) //проверяем нажата ли кнопка
{
if($_POST['txt']) //проверяем введён ли текст
{
$h = fopen("text.txt","w"); //открываем файл на запись
if (fwrite($h,$_POST['txt']))
echo "Запись прошла успешно";
else
echo "Произошла ошибка при записи данных"; fclose($h);
} }
?>

scrat
13.02.2008, 09:14
вот, этот точно работает
есть прекрасная функция isset:

<?
if (isset($_POST['go'])) //проверяем нажата ли кнопка
{
if(isset($_POST['txt'])) //проверяем введён ли текст
{
$h = fopen("text.txt","w"); //открываем файл на запись
if (fwrite($h,$_POST['txt']))
{
echo "Запись прошла успешно";
fclose($h); //тут ты не закрывал хендлер
}
else
{
echo "Произошла ошибка при записи данных";
fclose($h);
}
}
else echo "Текст не введён!";
}
?>

Mobile
13.02.2008, 10:24
2scrat хендлер там 2 раза закрывать необязательно, и echo в ковычки заключать тоже...

Кельт
13.02.2008, 11:45
А можно как-нибудь обойти ограничение по размеру обрабатываемого файла в str_replace ?

bul.666
13.02.2008, 11:56
scrat & Mobile =\

Зачем стока ифов?

if(isset($_POST['go']) && isset($_POST['txt'])) {
$h = fopen("text.txt","w");
fwrite($h,$_POST['txt']));
fclose($h);
}

Кстати не подскажите какая может быть ошибка записи в файл?
Если тока отсутвие прав на запись, но такие ошибки надо не показывать а предотвращать на лету!
Кстати с $_POST['txt'] я бы проверял его !empty($_POST['txt']);

.:EnoT:.
13.02.2008, 11:59
Кстати с $_POST['txt'] я бы проверял его !empty($_POST['txt']);
а ещё лучше
$a = trim($_POST['txt']);
if(!empty($a))
{...}
потому что можно в форму ввести тупо пробел и данные будут обрабатываться))

Macro
13.02.2008, 12:34
а гораздо проще перед переменной собачку поставить

Isis
13.02.2008, 13:25
Не надо никаких собачек ставить...
И ставить лучше isset , а не !empty....и ошибку проверки chmod файла предотвратить тоже можно
<?php
if(isset($_POST['go']) && isset($_POST['txt']))
{
if($h = fopen("text.txt", "w"))
{
fwrite($h, $_POST['txt']));
fclose($h);
}
}
?>

scrat
13.02.2008, 16:15
да вобще можно делать через тринарный оператор ?

cylaaaan
13.02.2008, 19:20
чуть короче чем у Isis


<?
if(isset($_POST['go']) && isset($_POST['txt']) && $h=fopen("text.txt", "w"))
{
fwrite($h, $_POST['txt']);
fclose($h);
}
?>



И ставить лучше isset


а если я введу spam.php?go=&txt=

то isset скажет, что переменные существуют.
проверять на пустоту - функцией empty или

if ($_POST['go'] != "" && $_POST['txt'] != "") {} else {}

нужно еще использовать trim, что бы убрать пробелы лишние, по бокам, вдруг что.

Dimi4
13.02.2008, 19:48
как проверить существует ли полe в мускул.
та че-тa некатит:

$num = mysql_query("SELECT * FROM auth WHERE login=`$Login`");
if (mysql_numrows($num) > "0") {
die("<font color='red'>Allready Exists</font>");
}

cylaaaan
13.02.2008, 19:51
$num = mysql_query("SELECT * FROM `auth` WHERE login='$login'");
if (mysql_num_rows($num) > 0)
{
exit("<font color='red'>Allready Exists</font>");
}

мб так?

Isis
13.02.2008, 19:52
<?php
$num = mysql_query("SELECT * FROM `auth` WHERE `login` = '".$Login."'");
if (mysql_numrows($num))
{
die("<font color='red'>Allready Exists</font>");
}
?>

.:EnoT:.
13.02.2008, 19:53
хм, вы не правы товарищи =\
Лучше использовать !empty() , т.к. переменная $_POST['txt'] может существовать (при нажатии отправить), но в то же время быть пустой. При обработке форм надо уделять этому внимание.
Кстати я не вижу смысла в данном случае проводить проверку на нажатие кнопки сабмита.
Предлагаю сопстна прекратить споры по поводу этого скрипта, ответы дали в предыдущих постах, и я думаю что такой простой скрипт не требует каких-то дискуссий, более того, каждый пишет код по своему и под свои нужды.

cylaaaan
13.02.2008, 19:55
т.к. переменная $_POST['txt'] может существовать (при нажатии отправить)

об этом я выше и написал

Dimi4
13.02.2008, 19:58
Спасибо исис ±

Isis
13.02.2008, 20:00
А еще лучше mysql_numrows заменить на mysql_num_rows

bobob
14.02.2008, 00:51
первый мой скриптенг калькуля:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Калькулятор</title>
</head>
<body>
<h3 align="center">Калькулятор</h3>
<div align="center">
<form method="get">
<input name="ch1" type="text" size="15" maxlength="10" />
<input name="ch2" type="text" size="15" maxlength="10" />
<input type="submit" value="Считать" />
</form>
<?php
$ch1=$_GET['ch1'];
$ch2=$_GET['ch2'];
$summa=$ch1+$ch2;
$raznitsa=$ch1-$ch2;
$umnozhenie=$ch1*$ch2;
$delenie= $ch1/$ch2;
if ($ch2 == 0){ echo "Делить на ноль нельзя";}
else { echo "Ваши числа: $ch1 и $ch2, их сумма $summa, разница $raznitsa, умножение $umnozhenie, деление $delenie"; }
?>
<br />
<br />
</div>
</body>
</html>

имеем ошибку вот тут $delenie=$ch1/$ch2;
Warning: Division by zero in ...

подскажите.... смотрел калькули на пхп, тоже тупо "переменная / переменная" пишут, а у мя ошибка :mad:
но калькуль пашет справно :D

lsass.exe
14.02.2008, 01:09
первый мой скриптенг калькуля:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Калькулятор</title>
</head>
<body>
<h3 align="center">Калькулятор</h3>
<div align="center">
<form method="get">
<input name="ch1" type="text" size="15" maxlength="10" />
<input name="ch2" type="text" size="15" maxlength="10" />
<input type="submit" value="Считать" />
</form>
<?php
$ch1=$_GET['ch1'];
$ch2=$_GET['ch2'];
$summa=$ch1+$ch2;
$raznitsa=$ch1-$ch2;
$umnozhenie=$ch1*$ch2;
$delenie= $ch1/$ch2;
if ($ch2 == 0){ echo "Делить на ноль нельзя";}
else { echo "Ваши числа: $ch1 и $ch2, их сумма $summa, разница $raznitsa, умножение $umnozhenie, деление $delenie"; }
?>
<br />
<br />
</div>
</body>
</html>

имеем ошибку вот тут $delenie=$ch1/$ch2;
Warning: Division by zero in ...

подскажите.... смотрел калькули на пхп, тоже тупо "переменная / переменная" пишут, а у мя ошибка :mad:
но калькуль пашет справно :D
у тебя выдает ошибку деления на 0, сначала делай проверку, а потом уже выполняй действия а не наоборот ))

bobob
14.02.2008, 01:13
да, про деление на 0 эт я додуплился, пасиб, шяс буду пробывать)

плиа

bul.666
14.02.2008, 01:23
@$delenie= $ch1/$ch2 or die ("Делить на ноль низя!");

bobob
14.02.2008, 01:27
о! реал, пашет без ерора! ну про собачку я еще не читал просто, только начал недавно)

bul.666
14.02.2008, 01:31
МОжешь попробовать такой код:

<?php
@$ch1=$_GET['ch1'];
@$ch2=$_GET['ch2'];
$summa=$ch1+$ch2;
$raznitsa=$ch1-$ch2;
$umnozhenie=$ch1*$ch2;
if (!empty($ch2)) {
@$delenie= $ch1/$ch2 or die('Ошибка деления');
}else die("Введите числа для подсчета");
echo "Ваши числа: $ch1 и $ch2, их сумма $summa, разница $raznitsa, умножение $umnozhenie, деление $delenie";
?>


Ну не советую т.к. портица HTML код =)

Isis
14.02.2008, 02:33
bul.666, отвыкай от собачек и пиши верный код
<?php
$ch1 = (isset($_GET['ch1'])) ? intval($_GET['ch1']) : '' ;
?>

Dimi4
15.02.2008, 19:57
Народ, сорр за тупость но уже 2 дня сижу над сесиями. Кто может, подправть код чтоб он запоминал одмина:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style type="text/css">
......
</style>
<title>NF AUTH System</title>
</head>
<body>
<center>
<h1>Log<font color='green'>In Admin</font></h1>
</center>
<fieldset><legend><font color='red'>HERE>></font></legend>
<form method="post" action="">
<table class="form">

<tr>
<th>Login<font color="red">*</font></th>
<td><input type="text" size="40" name="Login" onblur="if(this.value=='')this.value='Your Login...';" onclick="if(this.value=='Your Login...')this.value='';" value="Your Login..." /></td>
</tr>

<tr>
<th>Password<font color="red">*</font></th>
<td><input type="password" size="40" name="Pass" value="" /></td>
</tr>

<tr><td><center><input type="submit" value=">>Enter<<" /></center></td></tr>
</table>
</form>
</fieldset>
<?php
session_start();

error_reporting(1);
$Login=$_POST[Login];
$Pass=$_POST[Pass];
$md5_pass=md5(md5($Pass));
IF(empty($Login) OR empty($Pass)){die();}
if (!isset($_SESSION['login']) and !isset($_SESSION['password'])) echo("Admin's session isn't found!<br>");
include("config.php");
$Login=stripslashes(htmlspecialchars($Login));
if($_SESSION['password']!=$md5_pass){
if($md5_pass!=$admin_password){die("<font color='red'>Incorect Login or Password was entered!");}else{
$_SESSION['login']=$Login;
$_SESSION['password']=$md5_pass;
echo("Access granted");
echo"<center><font size=2>USER List</font></center>";}
}else{
//connect db
echo "<center>";
$link = mysql_pconnect("$server_db", "$user_db", "$pass_db")
or die("<font color='red'>Could not connect: </font>" . mysql_error());

//select db
if (mysql_select_db("$database")) {

} else {

printf ("<font color='red'>Error selecting database: %s\n</font>", mysql_error());
}

$get_info=mysql_query("SELECT * FROM `auth`");
while($row = mysql_fetch_array($get_info))
{
$login=$row['login'];
$password=$row['password'];
$ip=$row['ip'];
$mail=$row['mail'];
echo("<table width='100%'>
<tr>
<td width='15%'><div align=center>$login</div></td>
<td width='26%'><div align=center>$password</center></td>
<td width='29%'><div align=center>$ip</center></td>
<td width='30%'><div align=center>$mail</center></td>
</tr>
</table>");
}
}




?>

Isis
15.02.2008, 20:23
При логине у тебя 1 раз запонимаются сессии т.к. стоит код
$_SESSION['login']=$Login;
$_SESSION['password']=$md5_pass;

Но смотря на код подумай сам что будет при новом обращении на страницу...
Опять смотрим этот код
$_SESSION['login']=$Login;
$_SESSION['password']=$md5_pass;
Тем временем
$Login=$_POST[Login];
$Pass=$_POST[Pass];
А пост запросов у тебя не было и поэтому значения в 0..
Сессий нет...Вот так..
Переписывай

Dimi4
15.02.2008, 20:36
Ниче не понял... Надо розобратся. А то уже мозги кипят ...
Добавлено:
Понял.. но мыслей по поводу как написать лутше нет. ;)

Isis
15.02.2008, 20:40
Убери сессии, делай на куках...

//Перед записью в куки делай mysql_escape_string, и при проверке логина и пароля из кук через эту же функцию проводи...

Isis
15.02.2008, 21:02
<form method="post" enctype="multipart/form-data">
<table class="login">
<tr>
<td>Логин</td>
<td><input type="text" value="" name="login"></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="password" value="" name="password"></td>
</tr>
<tr>
<td></td>
<td><input type="button" name="sub" value="Войти" /></td>
</tr>
</table>
</form>
Остальной код: http://pastebin.x3k.ru/110

Isis
15.02.2008, 21:03
<form method="post" enctype="multipart/form-data">
<table class="login">
<tr>
<td>Логин</td>
<td><input type="text" value="" name="login" /></td>
</tr>
<tr>
<td>Пароль</td>
<td><input type="password" value="" name="password" /></td>
</tr>
<tr>
<td colspan="2"><input type="button" name="sub" value="Войти" /></td>
</tr>
</table>
</form>

<?php
$password = md5($_POST['password']);
$error = '';

if (!get_magic_quotes_gpc())
{
$_POST['login'] = mysql_escape_string($_POST['login']);
}

if(empty($_POST['login']) || empty($_POST['password']))
{
$error .= 'Вы не ввели логин или пароль';
}

if($error)
{
echo "<div align='center'><div class='error'>".$error."</div></div>";
}
else
{
$query = "SELECT `login`, `pass` FROM `users` WHERE `login`='".$_POST['login']."' AND `pass`='".$password."'";
$result = mysql_query($query);
if(mysql_num_rows($result))
{
$row = mysql_fetch_array($result);
setcookie('user', $row['login'], time() + 86400 * 30 * 12);
setcookie('pass', $row['pass'], time() + 86400 * 30 * 12);
echo "<div align='center'><div class='complete'>Вы успешно зашли</div></div>";
}
else
{
echo "<div align='center'><div class='error'>Логин или пароль не верен.</div></div>";
}
}
?>

#Дальше определить админа так:
<?php
if (!get_magic_quotes_gpc())
{
$_COOKIE['user'] = mysql_escape_string($_COOKIE['user']);
$_COOKIE['pass'] = mysql_escape_string($_COOKIE['pass']);
}
$query = mysql_query("SELECT * FROM `users` WHERE `login`='".$_COOKIE['user']."' AND `pass`='".$_COOKIE['pass']."'");
if(mysql_num_rows($query)) $admin = 1;

if($admin) echo 'Я админ';
?>

Dimi4
15.02.2008, 21:20
Cпасибо чувак!

Ershik
15.02.2008, 21:28
я хочу автоматизировать просмотр acces.log на аномальность =)
Стал искать скрипт с самого начала, нашел вот это от Dr.Frank:

<?php
$t=file("1.txt");
$t=implode("\r\n",$t);
$t=str_replace("\r\nFucken","",$t);
$f=fopen("1.txt","w");
fwrite($f,$t);
fclose($f);
?>

Скрипт ищет в текстовом документе слово "Fucken" и удаляет его.
Я хочу, чтобы программа выдирала аномальные запросы и сохраняла их в текстовый файл. Пытался подредактировать по типу:
<?php
$t=file("acces.log");
$t=implode("\r\n",$t);
$t=str_save("\r\nNull","",$t);
$f=fopen("warn.txt","w");
fwrite($f,$t);
fclose($f);
?>
Соглашаюсь сразу - написал неправильно, лишь недавно стал изучать php и то по возможности, когда появляется свободное время...
Как правильно? В чем тут ошибка?

Macro
15.02.2008, 21:32
Тот скрипт, который ты нашел - удаляет слово Fucken
Чтобы найти что-то в файле и записать в файл - надо пользоваться регулярными выражениями

Isis
15.02.2008, 21:36
Ershik, напиши подробнее что тебе надо...

Ershik
15.02.2008, 21:50
Macro, Мне бы до регулярных выражении дорасти. С константами разобраться не могу.

мне нужна программа, которая сканирует файл access_log и выдирает из него подозрительные запросы.
127.0.0.1 - - [18/Jan/2008:20:47:24 +0300] "GET /123.php HTTP/1.1" 200 4 "-" "Opera/9.25 (X11; Linux i686; U; en)"
Вышеописанное он оставляет.
А
127.0.0.1 - - [18/Jan/2008:20:47:24 +0300] "GET /123.php HTTP/1.1" 200 4 "-" "Opera/9.25 (X11; Linux i686; U; en)"
127.0.0.1 - - [18/Jan/2008:20:49:35 +0300] "GET /123.php?ID=1'+union+select,1,2,3,4,5/* HTTP/1.1" 200 4 "-" "Opera/9.25 (X11; Linux i686; U; en)"
Или
127.0.0.1 - - [18/Jan/2008:20:49:35 +0300] "GET /123.php?ID=.../.../.../.../.../.../.../etc/passwd HTTP/1.1" 200 4 "-" "Opera/9.25 (X11; Linux i686; U; en)"
Он записывал в файл warn.txt. Главное, чтобы можно было самому добавлять в базу запросы, которые нужно искать.

Isis
15.02.2008, 21:54
<?php
$file = file('access_log');

for($i = 0; $i < count('access_log'); $i++)
{
if(strpos('../', $file[$i]) !== false)
{
$fp = fopen('clear_access, 'w+');
fwrite($fp, $file[$i]);
fclose($fp);
}
}
?>
Что-то типа

NOmeR1
15.02.2008, 21:57
<?php
$array = array('union+select', '/*', '../');
$old_file_name = 'access.log';
$new_file_name = 'warn.txt';
$file = explode("\n", file_get_contents($old_file_name));
$newfile = array();
foreach($file as $str) {
foreach($array as $string) {
if(strpos($str, $string) === true) {
$newfile[] = $str;
break;
}
}
}
$file = fopen($new_file_name, 'w');
fwrite($file, implode("\n", $newfile));
fclose($file);
?>
$array - массив с подозрительными значениями.
Исис, о_О.

Macro
15.02.2008, 22:41
Мой вариант:

<?
$log=file_get_contents('access_log');
$patterns=array('union','select','substr','script' ,'java','\'','"','\.\.','/\*'); //символы, которые используются в регулярных выражениях, надо экранировать обратным слешем.
for($k=0;$k<count($patterns);$k++)
{
$patterns[$k]='|.*'.$patterns[$k].'.*|i';
preg_match_all($patterns[$k],$log,$suspicious[$k]);
}
$out=array();
for($i=0;$i<count($suspicious);$i++)
{

foreach($suspicious[$i][0] as $v)
{
$v=trim($v);
if(!empty($v)&&!in_array($v,$out)){$out[]=$v;}}
}
$f=fopen('suspicious.txt','w');
fwrite($f,implode("\r\n",$out));
fclose($f);
?>

symbioin
16.02.2008, 03:47
как мне правильно написать скрипт.?
у меня есть файл который нада переобразировать в НЕХ
использую bin2hex

php код виглядит так

$str = "?????";
echo bin2hex($str)


вместо знаков вопроса идет содержымое файла но,
в нем присутствует ? , $ , < , >, кароче все брейкеры. что мне зделать чтобы отобразилось НЕХ нормально?

Piflit
16.02.2008, 04:03
echo htmlspecialchars($str, ENT_QUOTES);

symbioin
16.02.2008, 04:25
не работает так как должно

Isis
16.02.2008, 04:35
<?php
function binary2hex($str)
{
$newstring = '';
$str = str_replace(" ", "", $str);
$text_array = explode("\r\n", chunk_split($str, 8));
for ($n = 0; $n < count($text_array) - 1; $n++)
{
$newstring .= str_pad(base_convert($text_array[$n], 2, 16), 2, "0", STR_PAD_LEFT);
}
$newstring = chunk_split($newstring, 2, " ");
return $newstring;
}

$str = 'xek?>$';
$str = binary2hex($str);
$str = trim(htmlentities($str));
echo $str;
?>

PEPSICOLA
16.02.2008, 05:55
После фигурных скобок - }, если я ставлю ";" это нормально? =) Ставлю, ибо параноик =)))

PEPSICOLA
16.02.2008, 05:59
И ещё один вопрос. Перед указанием пути - одна точка это current catalog, где находиться скрипт, а две точки - где коренной каталог?

И что ,если точки не указано? а просто путь, папки, файлы.

Isis
16.02.2008, 06:55
PEPSICOLA,
1) Ну вообще их можно не ставить...
2) Допустим мы в дире /home/ugex.net/public_html/www/papka/dir/18/assig/
И в этой дире скрипт index.php
Одна точка ./hek.php значит что файл лежит в этой же дире
Две точки ../gglol.php значит что файл лежит в папке 18
Две пары двух точек ../../xxx.php значит что файл лежит в папке dir
И т.п. :)
Если без точки index.php, то корень public_html

Macro
16.02.2008, 14:58
PEPSICOLA,
Если без точки index.php, то корень public_html
Это в html так... Если речь идет про операции с файлом из скрипта, то include('index.php');
либо fopen('index.php','rb');
Будут значить то же самое, что и include('./index.php');
fopen('./index.php','rb');

И еще, стоит учесть include_path

Isis
16.02.2008, 15:00
Macro, имелось ввиду без точки, но со слешем =)
И еще стоит учесть include_path
А еще chdir()

Macro
16.02.2008, 15:04
Macro, имелось ввиду без точки, но со слешем =)

А еще chdir()

А еще, выполняется ли скрипт напрямую, или он проинклюжен скриптом из другой папки :)

symbioin
16.02.2008, 15:45
<?php
...
$a = 'xek?>$';
$b = bin2hex($a);
$c = trim(htmlentities($b));
echo $c;
?>

в переменной $a у меня используются знаки ' " как мне етозделать?

Macro
16.02.2008, 15:54
function str2hex($str)
{
$hex='';
for($i=0;$i<strlen($str);$i++)
{
$hex.=dechex(ord(substring($str,$i,1)));
}
return '0x'.$hex;
}


Типа того?

symbioin
16.02.2008, 16:06
и еще как правильно написать функцию md5bin? na php.net плохо описано :(

Macro
16.02.2008, 16:17
Если php 5 версии -
$binmd5=md5($str,true);

Если 4-й, то


function md5bin($str)
{
$str=md5($str);
$bin='';
for($i=0;$i<32;$i+=2)
{
$bin.=chr(hexdec(substr($str,$i,2)));
}
return $bin;
}

symbioin
16.02.2008, 16:23
а ехо как дать?

Macro
16.02.2008, 16:24
а ехо как дать?
echo(md5bin($str));

symbioin
16.02.2008, 16:34
нада параметры поменять бо отобраюается вместо 123



,№b¬Y[–K-#Kp

Macro
16.02.2008, 16:36
нада параметры поменять бо отобраюается вместо 123



,№b¬Y[–K-#Kp


Ну все правильно, хотел бинарную строку из 16 символов - получил ее. Так и должно быть. Для чего тебе это надо, вообще?

symbioin
16.02.2008, 16:37
да так идея хорошая родилась

symbioin
16.02.2008, 17:22
как мне открыть сожержымое файла? ну вывести... fopen?

Macro
16.02.2008, 17:26
$file=file_get_contents($file);

symbioin
16.02.2008, 17:37
а как прально функцию написать?

Macro
16.02.2008, 17:40
а как прально функцию написать?
Какую функцию? http://ru2.php.net тебе в помощь

symbioin
16.02.2008, 18:15
реально как написать?

"text/".$_FILES["filename"]["name"] /* путь к файлу */

symbioin
16.02.2008, 18:29
мне нада функцией file_get_content достать содержимое файла. путь к файлу вверху...

Piflit
16.02.2008, 18:41
file_get_contents("../../../твой_файл_на_3_диры_выше");
symbioin почитай учебник. такими вопросами ты ничему не научишься.
ЗЫ если ты про мд5 брут и hex->bin уменьшая в 2 раза размер баз, то это баян

symbioin
16.02.2008, 18:43
file_get_contents("../../../твой_файл_на_3_диры_выше");
symbioin почитай учебник. такими вопросами ты ничему не научишься.
ЗЫ если ты про мд5 брут и hex->bin уменьшая в 2 раза размер баз, то это баян

всмысле, баян?

Piflit
16.02.2008, 18:45
всмысле, баян?
всмысле уже такое было. у лебедя вроде

Macro
16.02.2008, 18:45
Кстати, Piflit, помнишь, ты давал функцию pack() для этих целей? Я тут поразмыслил и пришел к выводу, что при записи хэшей в базу не нужно эти хэши так обрабатывать. Достаточно лишь перед хэшем поставить 0x и скормить его mysql серверу без кавычек :)

symbioin
16.02.2008, 19:00
как вывести из мд5 в нормальный текст?

ZAMUT
16.02.2008, 19:11
как вывести из мд5 в нормальный текст?
никак , сбрутить

symbioin
16.02.2008, 19:17
всмысле.... функции назад нету?

ZAMUT
16.02.2008, 19:19
всмысле.... функции назад нету?
нету
MD5 - это необратимый алгоритм шифрования (хеширования).

-=lebed=-
16.02.2008, 19:25
Кстати, Piflit, помнишь, ты давал функцию pack() для этих целей? Я тут поразмыслил и пришел к выводу, что при записи хэшей в базу не нужно эти хэши так обрабатывать. Достаточно лишь перед хэшем поставить 0x и скормить его mysql серверу без кавычек :)
Надо попробовать, но не будет ли падать скорость запросов к мускулу из-за этого (больше символов в запросе и т.п. или они при запросе уже преобразуются в бинарный вид...)
P.S В понедельник затестю...

GreenTiger
16.02.2008, 21:32
Скорость падать не будет если записываете в верном виде varchar

symbioin
17.02.2008, 00:35
в php можна использывать c коды?

!{ra!{e/\/
17.02.2008, 00:41
в php можна использывать c коды?
Нет..для этого он и есть php...

symbioin
17.02.2008, 02:48
а можна в php заливать одновременно много файлов? ну типа "ggg.gif" "fff.jpg" "ghf.mp3" ? через однин инпут?

Isis
17.02.2008, 06:22
symbioin, а давай ты маны почитаешь?
Вопросы слишком уж...

.:EnoT:.
17.02.2008, 11:45
а можна в php заливать одновременно много файлов? ну типа "ggg.gif" "fff.jpg" "ghf.mp3" ? через однин инпут?
конечно можно, ничего сложного нет. Погуглил бы сначала))
первая ссылка из гугла:
http://www.cracklab.ru/pro/php/showwork.php?id=15

2Isis
Дык на то тема то и существует :)

Smapt
18.02.2008, 21:36
А как можно получить и вывести содержимое левой web страницы??

ZAMUT
18.02.2008, 21:40
А как можно получить и вывести содержимое левой web страницы??
file_get_contents($s), если я тебя правильно понял, где $s - путь до файла.

Smapt
18.02.2008, 21:46
А если $s не путь до файла а ссылка?? работать будет?

ElteRUS
18.02.2008, 21:47
Smapt, да . Еще можешь юзать сокеты


$header = "GET http://rambler.ru/ HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: www.rambler.ru\r\n\r\n";

$sckt = fsockopen("www.rambler.ru",80);
fputs($sckt,$header);

while(!feof($sckt))
{
$serv_answer = fgets($sckt,2048);

echo $serv_answer;

}

fclose($sckt);

ZAMUT
18.02.2008, 21:51
ElteRUS, по моему полное наркоманство, ему всего лишь нужно получить содержимое файла, что занимает всего 1 строчку. Smapt, $s к примеру 'http://bla.com/index.php'.

ElteRUS
18.02.2008, 21:59
ZAMUT, в общем да, но это тоже способ ) + вдруг ему потом еще и заголовки ответа сервера понадобятся

Smapt
18.02.2008, 22:01
ZAMUT,ElteRUS, спасибо... помогли)

Demetra
19.02.2008, 15:44
подскажите какие функции надо юзать чтоб создать предосмотр картинок

.:EnoT:.
19.02.2008, 15:57
вот посмотри
http://articles.org.ru/cfaq/index.php?qid=1875&catid=14

Isis
19.02.2008, 17:58
http://pastebin.x3k.ru/139

presidentua
20.02.2008, 02:12
Для защиты от иньекций можна использовать или адд_слешес или мускул_ескейп_стринг. Но многие рекомендуют использовать последнюю... Хотелось бы узнать почему?

Isis
20.02.2008, 02:16
presidentua, потому что mysql_escape_string наиболее безопасен..
Я если честно не помню, но вроде он экранирует некоторые символы которые addslashes экранировать не может!

Piflit
20.02.2008, 02:19
первая экранирует
одиночная кавычка ('), дойная кавычка ("), обратный слэш (\) и NUL (байт NULL).
вторая
\x00, \n, \r, \, ', " and \x1a

presidentua
20.02.2008, 02:21
Спасибо, Isis и Piflit. Розобрался. Всегда юзал mysql_escape_string, а теперь хоть буду знать -=почему=- :)

Meanor
21.02.2008, 09:49
Добрый день,

Задался вопросом, как онлайновые игры, сделанные целиком (ну, или я так считаю) на пхп, могут иметь ботов? т.е. некоторые вещи в игре происходят сами собой, без сторонних действий пользователя или администратора.

Заранее благодарен.

Macro
21.02.2008, 10:59
Добрый день,

Задался вопросом, как онлайновые игры, сделанные целиком (ну, или я так считаю) на пхп, могут иметь ботов? т.е. некоторые вещи в игре происходят сами собой, без сторонних действий пользователя или администратора.

Заранее благодарен.
Вещи, которые происходят "сами собой" зачастую вовсе не происходят сами собой; так как заметить изменение их состояния возможно лишь обратившись к скрипту, изменения происходят в базе данных при обращении очередного пользователя. Ну, а остальное просто запускается через cron