Просмотр полной версии : [php] Новичкам: задаем вопросы
Как-то странно теперь не могу послать запрос на создание ИД который автоматом задаётся и Дату...
Напишите плиз SQL запросы на это если не сложно (на созданее полей в БД)
И почему он мне после
echo date('d-m-Y',$a_row['date']);
Выводит 01-01-1970 ?
Может сделать что-то типа
echo substr ($a_row['date'],0,10);
Он выводит но в формате 2008-11-15
А надо 15.11.08
Byrger,
http://ua2.php.net/date
$today = date("m.d.y"); // 03.10.01
.:EnoT:.
15.11.2008, 17:12
имхо для даты лучше создать поле в БД с типом datetime и вносить туда запись при помощи NOW()
Напишите плиз SQL запросы на это если не сложно (на созданее полей в БД)
CREATE TABLE `blabla`(
`id` INT NOT NULL auto_increment,
`dt` DATETIME NOT NULL
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
Вносить запись так:
mysql_query('INSERT INTO `blabla` VALUES(NULL, NOW())');
и дата будет храниться в формате 2008-09-19 18:01:21
А для вывода в удобном тебе формате используй регулярку.
Я давненько писал подобную ф-цию, можешь переделать под себя. (там можно обойтись одной регуляркой)
function mydate($date){
if(preg_match('#^[0-9]{4}-[0-9]{2}-[0-9]{2}\s[0-9]{2}:[0-9]{2}:[0-9]{2}$#', trim($date))){
preg_match('#(\d+)-(\d+)-(\d+)\s(\d+):(\d+):(\d+)#', trim($date), $out);
if($out[1] == date('Y') && $out[2] == date('m') && $out[3] == date('d')){
$date = 'Сегодня в '.$out[4].':'.$out[5];
}elseif($out[1] == date('Y') && $out[2] == date('m') && $out[3] == date('d') - 1){
$date = 'Вчера в '.$out[4].':'.$out[5];
}else{
$date = $out[3].'.'.$out[2].'.'.$out[1].' в '.$out[4].':'.$out[5];
}
}
return $date;
}
.:EnoT:. извини конечно но бред ... что лучше назначить нынешний таймстамп а потом выводить дату в ЛЮБОМ ФОРМАТЕ или же ипаца с регулярками и тормозить процесс выполнения ??
с помощью ф-ции date(); можно вывести дату как хочишь ... только нада указать второй параметр в виде таймстамп .... это наилучший выход(НЕ ИМХО)
Byrger может ты наконецто возьмёшь книжку и сам всё прочитаешь и сделаешь? ... ты скорее всего не сделал default current_timestamp ты перед тем как писать чтото хотяб книжку чтоль прочти ...
и кстате мускул не может УГАДАТЬ када была занесена запись если ты создал поле дайт ПОСЛЕ того как занёс запись!!!!!
У меня PhpMyAdmin тупит или MySQl уже раз 20 разных запрсов пытался послать и нифига...
_http://s1.dump.ru/viewer/1214885/
ЗЫ. Я с книгой сижу но у меня что-то не получается SQL запросы через PhpMyAdmin сделать...
Даже на такой запрос ругается
ALTER TABLE `faq` ADD `111` INT NOT NULL auto_increment
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
.:EnoT:.
15.11.2008, 17:27
Doom123,
Просто для него я думаю будет лучше так, потому что я думаю он запутается с преобразованием даты) По хорошему конечно нужно создавать поле типа INT и вносить дату с помощью UNIX_TIMESTAMP(), а потом преобразовывать как угодно)
CREATE TABLE `news` (
`id` int(11) NOT NULL auto_increment,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
`news` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `news` (`news`)
) ENGINE=MyISAM
Вот пример норм запроса ...
в твоём запросе ты походу в конце запетую забыл
У меня PhpMyAdmin тупит или MySQl уже раз 20 разных запрсов пытался послать и нифига...
_http://s1.dump.ru/viewer/1214885/
ЗЫ. Я с книгой сижу но у меня что-то не получается SQL запросы через PhpMyAdmin сделать...
Даже на такой запрос ругается
ALTER TABLE `faq` ADD `111` INT NOT NULL auto_increment
#1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
выдаёт ошибку синтаксиса
попробуй всё это дело без кавычек
Byrger
`dt` DATETIME NOT NULL запетую поставь в конце чтоб было
`dt` DATETIME NOT NULL,
Buffalon
15.11.2008, 18:55
if ( eregi("Ëþäè", iconv('utf-8','utf-8', $user_rasa)))
{$rasa = "human.gif";}
else {$rasa = "magmar.gif";}
Warning: eregi() [function.eregi]: REG_BADRPT
это что такое?
иногда появляется на сайте
как от этого избавится?
А что делать если я допустим хочу внести в таблицу вот так вот сточку...
INSERT INTO `faq` ( `faq` ) VALUES ('<div class=cTop style='text-align:left;'><font color=#FFCA42><b');
Но тут возникает ошибка....какая? в тексте присудствует ' этот знак какбы завершает текст....Как с этим бороться?
Buffalon
15.11.2008, 20:11
А что делать если я допустим хочу внести в таблицу вот так вот сточку...
INSERT INTO `faq` ( `faq` ) VALUES ('<div class=cTop style='text-align:left;'><font color=#FFCA42><b');
Но тут возникает ошибка....какая? в тексте присудствует ' этот знак какбы завершает текст....Как с этим бороться?
Нужно поставить `\`
INSERT INTO `faq` ( `faq` ) VALUES ('<div class=cTop style=\'text-align:left;\'><font color=#FFCA42><b');
Написал скрипт замены букв в тексте, а он выводит текст без энтэров а сплошным. Что нужно добавить?
Написал скрипт замены букв в тексте, а он выводит текст без энтэров а сплошным. Что нужно добавить?
Покажи код. Ты str_replace()'ом делал?
используй что-то типа:
$keys = array('а','о','р','м','Н','п','ш','к','с' ,'М','е','и','у','В','г','О');
$rekeys = array('a','o','p','m','H','n','w','k','c','M','e', 'u','y','B','r','O');
$body = str_replace($keys, $rekeys, $body);
Покажи код. Ты str_replace()'ом делал?
да им
$text = $_POST['text'];
echo '<form action="index.php" method="post"> <textarea name="text" cols="100" rows="20"> </textarea> <br /> <input type="Submit" value="Старт"> </form>';
$a = array('a','b','v','g','d','e','yo','zh','z','i','y ','k','l','m','n','o','p','r','s','t','u','f','h', 'c','ch','sh','sch','jj','yi','j','ye','yu','ya',' A','B','V','G','D','E','Yo','Zh','Z','I','Y','K',' L','M','N','O','P','R','S','T','U','F','H','C','Ch ','Sh','Sch','jj','Yi','j','Ye','Yu','Ya','_');
$b = array('а','б','в','г','д','е','ё','ж','з' ,'и','й','к','л','м','н','о','п','р','с' ,'т','у','ф','х','ц','ч','ш','щ','ъ','ы' ,'ь','э','ю','я','А','Б','В','Г','Д','Е' ,'Ё','Ж','З','И','Й','К','Л','М','Н','О' ,'П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш' ,'Щ','Ъ','Ы','Ь','Э','Ю','Я',' ');
$new = str_replace($a, $b, $text);
echo $new;
Покажи код. Ты str_replace()'ом делал?
используй что-то типа:
$keys = array('а','о','р','м','Н','п','ш','к','с' ,'М','е','и','у','В','г','О');
$rekeys = array('a','o','p','m','H','n','w','k','c','M','e', 'u','y','B','r','O');
$body = str_replace($keys, $rekeys, $body);
Всеравно такая фигня
<?php
$text = $_POST['text'];
echo '<form action="index.php" method="post"> <textarea name="text" cols="100" rows="20"> </textarea> <br /> <input type="Submit" value="Старт"> </form>';
$a = array('a','b','v','g','d','e','yo','zh','z','i','y ','k','l','m','n','o','p','r','s','t','u','f','h', 'c','ch','sh','sch','jj','yi','j','ye','yu','ya',' A','B','V','G','D','E','Yo','Zh','Z','I','Y','K',' L','M','N','O','P','R','S','T','U','F','H','C','Ch ','Sh','Sch','jj','Yi','j','Ye','Yu','Ya','_', "\n");
$b = array('а','б','в','г','д','е','ё','ж','з' ,'и','й', 'к','л','м','н','о','п','р','с','т','у', 'ф','х','ц ','ч','ш','щ','ъ','ы','ь','э','ю','я','А ','Б','В', 'Г','Д','Е','Ё','Ж','З','И','Й','К','Л', 'М','Н','О ','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш ','Щ','Ъ', 'Ы','Ь','Э','Ю','Я',' ', '<br/>');
$new = str_replace($a, $b, $text);
echo $new;
?>
<?php
$text = $_POST['text'];
echo '<form action="index.php" method="post"> <textarea name="text" cols="100" rows="20"> </textarea> <br /> <input type="Submit" value="Старт"> </form>';
$a = array('a','b','v','g','d','e','yo','zh','z','i','y ','k','l','m','n','o','p','r','s','t','u','f','h', 'c','ch','sh','sch','jj','yi','j','ye','yu','ya',' A','B','V','G','D','E','Yo','Zh','Z','I','Y','K',' L','M','N','O','P','R','S','T','U','F','H','C','Ch ','Sh','Sch','jj','Yi','j','Ye','Yu','Ya','_', "\n");
$b = array('а','б','в','г','д','е','ё','ж','з' ,'и','й', 'к','л','м','н','о','п','р','с','т','у', 'ф','х','ц ','ч','ш','щ','ъ','ы','ь','э','ю','я','А ','Б','В', 'Г','Д','Е','Ё','Ж','З','И','Й','К','Л', 'М','Н','О ','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш ','Щ','Ъ', 'Ы','Ь','Э','Ю','Я',' ', '<br/>');
$new = str_replace($a, $b, $text);
echo $new;
?>
Спасибо работает. А как вы определили где нужно ставить пробелы?
$text = nl2br($_POST['text']);
Спасибо работает. А как вы определили где нужно ставить пробелы?
Пробелы ставит этот форум, перенос строки просто заменяй ( \n -> <br/> )
Либо добавляй тег <pre>
echo '<pre>'.$new.'</pre>';
А ещё 1 вопрос по поводу дуратских скобок и кавычек
Есть код
echo $a_row['news'];
нужно вместо news посмавить переменную
но так не идёт
echo $a_row['$table'];
И так не хочет, так как 1 перепенная в "
echo "$a_row['" . $table . "']";
Есть
$words = array(
'привет' => 'здарова',
'здарова' => 'привет'
);
Подскажите как сделать так, чтобы array брался из файла к примеру text.txt
привет=здарова
здарова=привет
echo $a_row[$table];
проблема в том что эти ' там обязательно набо это SQL запрос
<?php
$content = str_replace("\r\n","\n",file_get_contents('1.txt'));
$tmp_array = explode("\n",$content);
foreach ($tmp_array as $value){
$a = explode("=",$value);
$array[$a[0]] = $a[1];
}
print_r($array);
?>
проблема в том что эти ' там обязательно набо это SQL запрос
кажется, я баран. можно вашу проблему поподробнее. если это сиквил запрос, тогда его в студию.
Хацкер preg_match_all('#([^=\n\r]*)=([^\r\n]*)#',file_get_contents('путь к файлу.txt'),$m);
$out=array_combine($m[1],$m[2]);
print_r($out);
Fuckel Чем вам не нравится file() и нравится создавать десяток промежуточных массивов?
Byrger делай как те Ru}{eeZ сказал не нада та никаких '
PandoraBox
16.11.2008, 05:52
как можно в БД MySQL хранить массивы array(array(array(....,...)),array(...),array(..)) в одной колонке по типу JSON может есть какая то библиотека?
spamoney
16.11.2008, 08:04
Здравствуйте, как можно избавиться от такой ошибки и что она вообще значит и может ли создавать значительную нагрузку на сервер?
WARNING: touch() [<a href='function.touch'>function.touch</a>]: Utime failed: Operation not permitted Line: 295 in file /home/httpd/vhosts/***.ru/httpdocs/***/***.php
Строка 295:
@touch($this->_db_file, (time() - $this->_cache_lifetime + $this->_cache_reloadtime));
Нужно было обратиться к пареметру массива!
echo $a_row['lalala'];
но вместо lalala нужно переменную $table
Byrgerтеюе уже ответили не тупи ..... переменую не нада обрамлять кавычками так что делай
echo $a_row[$table];
т.к
echo $a_row['lalala'];
и
$table = 'lalala';
echo $a_row[$table];
одно и тоже !!!!!!
Спасибо всем кто мне ответил 1 раз, но возник ещё 1 вопрос..
Вот есть у меня скрипт, для создания БД и в ней нужной мне таблицы... Только вот он не работает полностью.
Помогите плиз найти опечатки ....или чейтто в етом роде
<?
require "header.php";
require "option.php";
error_reporting(E_ALL);
echo "<h1>instalation program</h1>";
if(!mysql_connect($SERVER,$USER,$PASSWD))
{
echo "<h1> Eror connecting to SQL database</h1>";
echo "</body></html>";
exit;
}
echo "creating data base";
mysql_query('CREATE DATABASE `{$DB}` ;');
if (mysql_errno()==0)
{
echo "<p>Data bases ceated succesfuly, creating tables</p>";
mysql_select_db($DB);
echo mysql_error();
mysql_query('CREATE TABLE news(
id int primary key,
title text not null,
fpic shorttext ,
spic shorttext,
txt text notnull)');
echo mysql_error();
if (mysql_errno()===0)
{
echo "<h1>Table exist, adding testing data</h1>";
mysql_query('INSERT INTO news values(1,"1test title","some text1.....Main news text1")');
mysql_query('INSERT INTO news values(2,"2test title","some text2.....Main news text2")');
echo "<h1> data was added!</h1>";
}
else {"eror adding data";}
}
else {echo "eror creating table";}
echo "</body></html>";
?>
Мускул у меня 5,01,51а , server Apache/1.3.12
Выдает такой результат:
<html><body><h1>instalation program</h1>creating data baseeror creating table</body></html> :(
mysql_query("CREATE DATABASE `{$DB}`");
<?
require "header.php";
require "option.php";
error_reporting(E_ALL);
echo "<h1>instalation program</h1>";
if(!mysql_connect($SERVER,$USER,$PASSWD))
{
echo "<h1> Eror connecting to SQL database</h1>";
echo "</body></html>";
exit;
}
echo "creating data base";
mysql_query('CREATE DATABASE `{$DB}` ;');
if (mysql_errno()==0)
{
echo "<p>Data bases ceated succesfuly, creating tables</p>";
mysql_select_db($DB);
echo mysql_error();
mysql_query('CREATE TABLE news(
id int primary key,
title text(100) not null,
fpic text(100) not null ,
spic text(100) not null,
txt text not null)');
echo mysql_error();
if (mysql_errno()===0)
{
echo "<h1>Table exist, adding testing data</h1>";
mysql_query('INSERT INTO news values(1,"1test title","some text1.....Main news text1","123","123")');
mysql_query('INSERT INTO news values(2,"2test title","some text2.....Main news text2","123","123")');
echo "<h1> data was added!</h1>";
}
else {"eror adding data";}
}
else {echo "eror creating table";}
echo "</body></html>";
?>
судя по выводу скрипта, у тебя уже существует база данных с именем в переменной $DB, удали ее и попробуй скрипт выше
Спс ща попробйю, но почему
mysql_query("CREATE DATABASE `{$DB}`"); ???
Или так правильно?
lsass.exe
16.11.2008, 14:41
Спс ща попробйю, но почему
mysql_query("CREATE DATABASE `{$DB}`"); ???
Или так правильно?
так правильно ;)
http://www.php.su/learnphp/datatypes/?string
Почитай мб про отличия одинарных кавычек от двойных.
cremator (c)
16.11.2008, 17:00
Как можно реализовать скрипт, который бы подключался к определенному порту сервера через сокет и открывал сеанс обмена данными между пользователем и сервером. Необходимо для реализации клиента для чата..
vikseriq
16.11.2008, 19:44
http://www.php.net/fsockopen
$fp = fsockopen("сайт", порт, для ошибок, то же, таймаут);
PandoraBox
16.11.2008, 22:40
нашол $array = array(1, 2, 3);
//некий массив
$array_serialized = serialize($array);
//эта переменная - текстовая, но содержит наш массив, записанный своим "кодом"
mysql_query("UPDATE TABLE `table` SET `field` = '".$array_serialized."'");
//записываем её в таблицу
$sql = mysql_query("SELECT * FROM `field`");
//читаем SQL данные
$temp = mysql_fetch_assoc($sql);
$array = unserialize( $temp['field'] );
//получаем свой массив.
но вот как быть когда массив может быть в месиве и т.д.
[x26]VOLAND
17.11.2008, 03:35
но вот как быть когда массив может быть в месиве и т.д.Если я правильно понял эту фразу, то надо реализовать рекурсивную сериализацию/десериализацию...
Если я правильно понял эту фразу, то надо реализовать рекурсивную сериализацию/десериализацию...
<?php
$array = array(1, 2, 3, array(4, 5, 6, array(7, 8, 9)));
echo '<pre>', serialize($array);
print_r(unserialize(serialize($array)));
?>
Хочу нормально изучить пхп! Пожалуйста посоветуйте книжку, по которой можно релаьно нормально изучить язык)) Пожалуйста... Был в теме про книги, но там их слишком много! Просто посоветуйте что-нибуь хорошее! Заранее спасибо!
prescott
17.11.2008, 16:16
Хочу нормально изучить пхп! Пожалуйста посоветуйте книжку, по которой можно релаьно нормально изучить язык)) Пожалуйста... Был в теме про книги, но там их слишком много! Просто посоветуйте что-нибуь хорошее! Заранее спасибо!
Д.Котеров, А.Костарев PHP5: наиболее полное руководство. В подлиннике.
Изучил по ней ПХП с нуля, и ничего лучше до сих пор не видел.
++Norton++
17.11.2008, 16:20
Также очень неплохая вот эта:
http://forum.antichat.ru/showpost.php?p=59577&postcount=1 (вторая ссылка сверху Professional PHP programming)
Есть даже введение в MySQL, написание wap-скриптов, насколько помню.
Энди Харрис - php/mysql для начинающих
ничего лучше не видел
Д.Котеров для начала очень ничего.
[:|||||:]
17.11.2008, 17:07
Фленов, только Михаил Фленов, господа хакеры. Стыд и срам тому, кто его не прочел.
слышал, что Котёров плохо пишет
На100ящий
17.11.2008, 18:59
Помогите составить регулярку вот строка
<td colspan='2'><span class='text' style='font-weight:bold;' >4.1.22-log</span>
нужно вытягивать 4.1.22-log но это будет менятся
На100ящий preg_match("#<span class='text' style='font-weight:bold;' >([^<]*)<#i",$in,$out);
([^>]*)
скобка в другую сторону ([^<]*)
Еще вопрос(...вот я получаю страницу через cURL
как сохранить рисунок некоторый из этой страницы?
Так же, как и страницу, только указывай ссылку к картинке. Затем пиши переменную с результатом в файл.
У мя вопросик, как организовать проверку "инвиза" пользователя в аське на пхп...
Чекеры в нете есть, но я хочу под себя, ща ищу инфу любую, так что буду благодарен..
Знаю только что проверяемым приходит "в авторизации отказано с левого номера"
Nightmarе
18.11.2008, 02:45
У мя вопросик, как организовать проверку "инвиза" пользователя в аське на пхп...
Чекеры в нете есть, но я хочу под себя, ща ищу инфу любую, так что буду благодарен..
Знаю только что проверяемым приходит "в авторизации отказано с левого номера"
+1 тоже не отказался бы от подробного скрипта!!!
есть сайт: proxer.ru
там есть формочка, в которую вводим какой-нибудь урл и переходим на этот сайт уже через анонимную проксю.
так вот, как делать запросы на ту формочку, чтобы через свой сервис юзать сервис проксера ? Оо
ап :(
<form action="http://proxer.ru/action.php" method="post" target="_blank" id="form1">
<input name="url" id="url" value="http://" size="65" maxlength="200" type="text"> <input name="mode" value="PRoX!" type="submit">
<input name="mode" value="List" type="submit">
</form>
посути всё тут "норм" (в запросе)... но некатит) переадресовывает на proxer.ru :(
ps: сам хоть проверь =\
.:EnoT:.
18.11.2008, 17:03
не проще ли сделать парсер?
.:EnoT:., угу... я хочу сделать типа того... но с запросом проблемы пока(
воообщем что-то не могу придумать, и времени посидеть нет...
пример есть слово
$name1="Радость";
$name2="радость";
$edit="пакость";
Вот задача такая, если в слове первая буква заглавная(т.е большая) то слово $edit преобразуется в "Пакость" если нет, то соответсвенно нет и остается просто "пакость"
помогите пожалуйста
как новые строки из <textarea> заменить на <br /> ?
пробовал что-то типа:
str_replace("\r", '<br />', $_POST['new_them_body']);
str_replace("\s", '<br />', $_POST['new_them_body']);
не получаецо :mad:
мм..
str_replace("\r\n", '<br>', $_POST['new_them_body']);
мм..
str_replace("\r\n", '<br>', $_POST['new_them_body']);
неа, пробовал(
Ru}{eeZ
мм.. ты как бе знаешь что это фунция возвращает, тоесть ты делаешь так ?
$_POST['new_them_body'] = str_replace("\r\n", '<br>', $_POST['new_them_body']);
о ё моё, сори, совсем забыл, что стр стринг не ивозвращает изменённую переменную, спасибо большое!))
Pashkela
18.11.2008, 18:07
как новые строки из <textarea> заменить на <br /> ?
пробовал что-то типа:
str_replace("\r", '<br />', $_POST['new_them_body']);
str_replace("\s", '<br />', $_POST['new_them_body']);
не получаецо
$str = ereg_replace("\n", "<BR>", $str);
.:EnoT:.
18.11.2008, 18:10
воообщем что-то не могу придумать, и времени посидеть нет...
пример есть слово
$name1="Радость";
$name2="радость";
$edit="пакость";
Вот задача такая, если в слове первая буква заглавная(т.е большая) то слово $edit преобразуется в "Пакость" если нет, то соответсвенно нет и остается просто "пакость"
помогите пожалуйста
Интересная кстати задача)
Тока не понял одного, если первая буква исходного слова маленькая, а заменяемого слова большая, нужно ли заменять?
короче вот два варианта:
1)
<?php
$name = 'Радость';
$edit = 'пакость';
$uper = array('А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ё', 'Ж', 'З',
'И', 'Й', 'К', 'Л', 'М', 'Н', 'О', 'П', 'Р',
'С', 'Т', 'У', 'Ф', 'Х', 'Ц', 'Ч', 'Ш', 'Щ',
'Ъ', 'Ы', 'Ь', 'Э', 'Ю', 'Я');
if(in_array($name[0], $uper)){
$name = str_replace($edit[0], strtoupper($edit[0]), $edit);
}else{
$name = $edit;
}
echo $name;
?>
2)
<?php
$name = 'Радость';
$edit = 'пакость';
$uper = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦ ШЩЪЫЬЭЮЯ';
if(strstr($uper, $name[0])){
$name = str_replace($edit[0], strtoupper($edit[0]), $edit);
}else{
$name = $edit;
}
echo $name;
?>
ну там английские буквы допишешь если нужно)
Если я правильно понял задачу то вы наркоманы =\
<?php
$word = 'ояебу';
$edit = 'хуясе';
if(strtoupper($word[0]) !== $word[0]) $edit[0] = strtolower($edit[0]); else $edit[0] = strtoupper($edit[0]);
echo $edit;
?>
Кажись неправильно понял, занчит так
<?php
function deRegistr($word) {
if(strtoupper($word[0]) === $word[0]) $word[0] = strtolower($word[0]); else $word[0] = strtoupper($word[0]);
return $word;
}
echo deRegistr('X3k');
?>
Всёравно вы наркоманы
m0nsieur
18.11.2008, 19:20
Есть 2 массива(представлены ниже) необходимо объединить в один и убрать повторяющиеся элементы. Заранее спасибо.
Array 1
(
[0] => stdClass Object
(
[id] => 2
[title] => блабла
)
[1] => stdClass Object
(
[id] => 3
[title] => лала
)
)
Array 2
(
[0] => stdClass Object
(
[id] => 10
[title] => блабла 10
)
[1] => stdClass Object
(
[id] => 3
[title] => лала
)
)
Есть 2 массива(представлены ниже) необходимо объединить в один и убрать повторяющиеся элементы. Заранее спасибо.
Array 1
(
[0] => stdClass Object
(
[id] => 2
[title] => блабла
)
[1] => stdClass Object
(
[id] => 3
[title] => лала
)
)
Array 2
(
[0] => stdClass Object
(
[id] => 10
[title] => блабла 10
)
[1] => stdClass Object
(
[id] => 3
[title] => лала
)
)
$array = array_unique($array1 + $array2);
но это врятли получится
$array = array_merge($array1, $array2);
$array3=array_merge($array1,$array2);
$result_array=array_unique($array3);
m0nsieur
18.11.2008, 19:31
array_merge() и $array1 + $array2 пробовал, в результате получается только первый массив, чего и следовало ожидать.
Кубик Рубик
18.11.2008, 19:38
Как реализовать ядро кмс/кмф? и вообще что это? спасибо!
а зачем тебе реализовывать , если ты незнаеш что ето ? =)
Кубик Рубик
18.11.2008, 19:43
Ну мне просто интересно)) как работает...
Как реализовать ядро кмс/кмф? и вообще что это? спасибо!
Ядро - базовый набор функций, тоесть работа с базой данных, юзерами, новостями(пример). Реализовывается обычно в виде нескольких классов, с которыми потом будешь манипулировать.
[x26]VOLAND
19.11.2008, 01:38
юзерами, новостями(пример)Подобное никак не относится к ядру. Ядром является некий класс, включающий/инициализирующий самые необходимые базовые компоненты для работы/управляющий другими компонентами.
на сайте есть страница index.php (с авторизацией) и папка /admin.
При верной авторизации происходит перенаправление в папку admin.
Пожалуйста, напишите код файла .htaccess, чтобы доступ к любому файлу папки /admin был возможен при верной авторизации через index.php.
Народ, есть проблема. Вот есть у меня домены, привязаны все к одному моему айпи, Мне нужно чтобы например зайдя на один домен, был один сайт, на другой другой, всё это на моём компе(ip)
heretic1990
19.11.2008, 16:19
нужен скрипт для расшифровки md5 хэша.
есть у кого?
нужен скрипт для расшифровки md5 хэша.
есть у кого?
нет и небудет , md5 не расшифровывается а брутится
heretic1990: <?php
set_time_limit(0);
ini_set('max_execution_time',0);
ini_set('output_buffering',0);
$from=$_REQUEST['from'];
$text=$_REQUEST['text'];
$php=$_REQUEST['php'];
$go=$_REQUEST['go'];
$fulltime=$_REQUEST['fulltime'];
$fullqty=$_REQUEST['fullqty'];
$self=basename($_SERVER['PHP_SELF']);
echo "<html>\n";
echo "<head>\n";
echo "<title>MD5 crack</title>\n";
echo "</head>\n";
echo "<body bgcolor='#181818' text='#FFFFFF'>\n";
echo "<form action=$self name=main>\n";
echo "<center><h1>MD5 crack</h1></center>";
if (empty($go)) {
echo "<b>MD5</b>: <input type=text name=text value='$text' size=40> (только 32 знака: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)<br>";
echo "<b>Диапазон</b>: <input type=text name=php value=\"".htmlspecialchars($php)."\" size=90><br>";
$chars=array(
'a-z'=>"abcdefghijklmnopqrstuvwxyz",
'a-z,A-Z'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ",
'a-z,0-9'=>"abcdefghijklmnopqrstuvwxyz0123456789",
'a-z,A-Z,0-9'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ0123456789",
'a-z,A-Z,0-9,other'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ0123456789~`!@#\$%^&*()_+-=[]{};:,<.>/\"'\\");
$i=0;
foreach ($chars as $k=>$v) {
echo "<script>str$i=\"".str_replace("\"","\\\"",str_replace("\\","\\\\",$v))."\"</script>
<a href='' onclick=\"document.main.php.value=str$i;return false\">$k</a> ";
$i++;
}
echo "
<br><b>Начальная позиция</b>: <input type=text size=70 name=from value='$from'><br>
<input type=hidden name=go value=1>
<input type=hidden name=fullqty value=$fullqty>
<input type=hidden name=fulltime value=$fulltime>
<input type=submit value=\"СТАРТ\"></form>";
}
else {
function mdgetword() {
global $php,$from,$word;
$word="";
for ($i=0; $i<count($from); $i++) $word.=$php[$from[$i]];
}
$fulltime=intval($fulltime);
$fullqty=intval($fullqty);
$text=strtolower($text);
if (!preg_match("!^[0-9a-f]{32}$!",$text)) exit("Неправильный формат MD5! Должен быть: Только 32 знака - 0-9,a,b,c,d,e,f");
if (empty($php) || strlen($php)==0) $php="qwertyuiopasdfghjklzxcvbnm";
if (empty($from) || !preg_match("!^([0-9]+):(([0-9]+,)*[0-9]+)$!",$from,$ok)) {
$pos=0;
$from=0;
}
else {
$pos=$ok[1];
$from=$ok[2];
}
$from=explode(",",$from);
if (!is_array($from) || !count($from) || count($from)==1 && $from[0]==0) {
$from=array(0);
if (md5("")===$text) exit("** DONE **<br><br>md5('')=$text<br><br>(Пустая строка!)");
}
$phplen=strlen($php);
mdgetword();
$poslen=strlen($word);
if ($pos<0 || $pos>=$poslen) $pos=0;
for ($i=0; $i<10; $i++) { echo "<!-- -->\r\n"; flush(); }
echo "<h3><a href='$self".
"?from=".urlencode("$pos:".implode(",",$from)).
"&text=".urlencode($text).
"&php=".urlencode($php).
"&fulltime=$fulltime&fullqty=$fullqty".
"'>Сохранить позицию и выйти</a></h3>";
flush();
echo "
MD5 HASH=$text<br>
CURRENT WORD=$word<br>
CURRENT DIGIT=$pos:".implode(",",$from)."<br>
RANGE=".htmlspecialchars($php)."<br>
Process Time=$fulltime sec (".(floor($fulltime/60/60))."h)<br>
Calculation (qty)={$fullqty}0000<br><br>";
flush();
$fullsum=pow($phplen,$poslen);
$time1=time();
$i=0;
while (1) {
$i++;
if ($i>50000) {
$time=time()-$time1;
if ($time>20) break;
$i=0;
$sum=0;
for ($j=1; $j<count($from); $j++) $sum+=$from[$j]*pow($phplen,$j);
printf("<nobr><b>%02.2f%%</b> ($word) %02dsec |</nobr> \r\n",
$sum*100/$fullsum,$time);
flush();
$fullqty+=5;
}
if (md5($word)===$text)
exit("<br><font color=red size=+1><b>** DONE **<br><br><tt>$word = $text</tt></b></font>
<script> window.focus();window.focus(); setTimeout(\"alert('Done!')\",100);</script></body></html>");
$from[$pos]++;
if ($from[$pos]==$phplen) {
$flag=1;
$from[$pos]=0;
$word[$pos]=$php[0];
for ($pos=$pos+1; $pos<$poslen; $pos++) {
if ($from[$pos]+1<$phplen) {
$from[$pos]++;
$word[$pos]=$php[$from[$pos]];
$flag=0;
$pos=0;
break;
}
else {
$from[$pos]=0;
$word[$pos]=$php[0];
}
}
if ($flag) {
$from[]=0;
$poslen=count($from);
$word.=$php[0];
$pos=0;
$fullsum=pow($phplen,$poslen);
}
}
$word[$pos]=$php[$from[$pos]];
}
$fulltime+=time()-$time1;
if ($i>5000) $fullqty++;
$url="$self".
"?from=".urlencode("$pos:".implode(",",$from)).
"&text=".urlencode($text).
"&php=".urlencode($php).
"&fulltime=$fulltime&fullqty=$fullqty&go=1";
echo "<script>location.href=\"$url\"</script><a href='$url'>click here</a></body></html>";
}
?> ;)
[x26]VOLAND
19.11.2008, 16:29
Народ, есть проблема. Вот есть у меня домены, привязаны все к одному моему айпи, Мне нужно чтобы например зайдя на один домен, был один сайт, на другой другой, всё это на моём компе(ip)С помощью htaccess проверяй имя домена по которому заходят на сайт и перенаправляй в папку нужного сайта.
Пожалуйста, напишите код файла .htaccess, чтобы доступ к любому файлу папки /admin был возможен при верной авторизации через index.php.Это невозможно. Ибо не надо мешать сервер (apache) с интерпретатором(php). Так как у тебя авторизация проходит средствами php, Apache никакого участия тут не принимает. Лучше пропиши в начало всех скриптов в папке admin проверку на авторизацию.
[x26]VOLAND
19.11.2008, 16:30
NIK7O, ты ебанулся брутить md5 на php?!Экзотика никогда не уйдёт из моды ;)
ну если есть пару к лишних лет почему бы не побрутить на пхп ? )
ChaaK, да, я извращенец :)
[x26]VOLAND, а ещё я модный) моду соблюдаю))
зы: хороший сервак можно как дедик использовать, поставить на брут, и пойти в школу учиться,.... и к вечеру пасс выпадет) наверно)
heretic1990
19.11.2008, 16:36
И всётаки он существует)))
есть ли функция для добавляения записи в конец таблицы под последним id?
или нужно определить кол-во записей, прибавить одну единицу и после этого добавить в конец талицы?
оставь поле id пустым при добавлении в базу , а в самой базе для поля id поставь параметр auto_increment
[x26]VOLAND
19.11.2008, 17:05
оставь поле id пустым при добавлении в базу , а в самой базе для поля id поставь параметр auto_incrementАга, а если у тебя MSSQL, в которой нет автоинкремента??
Не зная какая СУБД используется, нельзя точно ответить на этот вопрос.
VOLAND']Ага, а если у тебя MSSQL, в которой нет автоинкремента??
Не зная какая СУБД используется, нельзя точно ответить на этот вопрос.
Если нет автоинкремента - то есть identity :) Было б желание, а ответ найти несложно.
на сайте есть страница index.php (с авторизацией) и папка /admin.
При верной авторизации происходит перенаправление в папку admin.
Пожалуйста, напишите код файла .htaccess, чтобы доступ к любому файлу папки /admin был возможен при верной авторизации через index.php.
лучше после авторизации загоняй логин и пароль в сессию, а при входе на другие страницы пиши:
if($_SESSION['name'] == $name AND $_SESSION['pwd'] == $pwd) {
...код страницы...
} else echo 'пшёл на х =\';
Кому не лень, напишите регулярку :)
Значит есть такое:
*тут может быть все что угодно*
<a href="http://localhost/viewimage.php?image=*Тут находится ссылка, котрую надо вытащить*"
*Тут может быть все что угодно*
Код выводит скуль базу : как вывести эту базу отсортированной по возрастанию или убыванию?
ORDER BY column/ GROP BY column DESC /ASC - к запросу припиши.
Либо asort() к массиву примени
Запрос который до этого кода идет измени, допиши например
ORDER BY id DESC
или ASC
.:EnoT:.
20.11.2008, 03:55
До header не должно быть никакого вывода текста.
ob_start(), ob_end_flush() и др.))
UnPazz
По хорошему надо убивать скрипт после переадресаций)
die() или exit()
Это из-за кодировки mySQL
помню решал это прописывая SET NAMES cp1251 в настройках, ну или что-то подобное
mihail-irk
20.11.2008, 18:52
Помогите пожалуйста,что не так в коде?
<?php
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>';
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Megafon flooder from Inlanger</title>
<style type="text/css">
body { font-weight: normal; font-family: Verdana; font-size: 10px; color: #26029B; background-color: #FDD7A2 }
a:link { text-decoration: none; color : #000000}
a:active { text-decoration: none; color : #000000 }
a:visited { text-decoration: none; color : #000000}
a:hover { text-decoration: none; font-size: 9px; color : #404040 }
div { margin: 1px 0px 1px 0px; padding: 5px 5px 5px 5px; font-weight: bold;}
.a {background-color: orange; text-align: center; font-size: 15px; color: #F0F902; border-left:3px solid #000000; border-right:3px solid #000000; border-bottom:3px solid #000000; border-top:3px solid #000000;}
.v {background-color: orange; text-align: center; font-size: 12px; color: #000000; border-left:3px solid #000000; border-right:3px solid #000000; border-bottom:3px solid #000000; border-top:3px solid #000000;}
</style></head><body bgcolor="#FDD7A2"><!--MADE BY INLANGER-->';
echo"<div class=\"a\" align=\"center\">flooder/spamer from Inlanger</div>";
echo"</div><div class=\"v\">
<form action="sms.php\" method=\"post\">
Номер:<br />
<input name=\"to\" maxlength=\"11\" value=\"7\" /><br />
Текст сообщения:<br />
<input name=\"msg\" /><br />
Диапозон номеров:<br />
ОТ <input name=\"diapstart\" /> ДО <input name=\"diapfinish\" /><br />
Задержка в секундах:<br />
<input name=\"zad\" /><br />
<input type=\"submit\" value=\"Поехали...\">
</form>
<br/><br/>
<br/></div></body></html>";
?>
Хостинг вот так ругается
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /usr/home/musk21/htdocs/index.php on line 17
На двух хостингах пробывал сделать... :confused:
Помогите пожалуйста,что не так в коде?
Хостинг вот так ругается
На двух хостингах пробывал сделать... :confused:
ну и код....
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>';
<title>Megafon flooder from Inlanger</title>
<style type="text/css">
body { font-weight: normal; font-family: Verdana; font-size: 10px; color: #26029B; background-color: #FDD7A2 }
a:link { text-decoration: none; color : #000000}
a:active { text-decoration: none; color : #000000 }
a:visited { text-decoration: none; color : #000000}
a:hover { text-decoration: none; font-size: 9px; color : #404040 }
div { margin: 1px 0px 1px 0px; padding: 5px 5px 5px 5px; font-weight: bold;}
.a {background-color: orange; text-align: center; font-size: 15px; color: #F0F902; border-left:3px solid #000000; border-right:3px solid #000000; border-bottom:3px solid #000000; border-top:3px solid #000000;}
.v {background-color: orange; text-align: center; font-size: 12px; color: #000000; border-left:3px solid #000000; border-right:3px solid #000000; border-bottom:3px solid #000000; border-top:3px solid #000000;}
</style></head><body bgcolor="#FDD7A2"><!--MADE BY INLANGER-->'
<div class=\"a\" align=\"center\">flooder/spamer from Inlanger</div>
</div><div class=\"v\">
<form action="sms.php" method=\"post\">
Номер:<br />
<input name=\"to\" maxlength=\"11\" value=\"7\" /><br />
Текст сообщения:<br />
<input name=\"msg\" /><br />
Диапозон номеров:<br />
ОТ <input name=\"diapstart\" /> ДО <input name=\"diapfinish\" /><br />
Задержка в секундах:<br />
<input name=\"zad\" /><br />
<input type=\"submit\" value=\"Поехали...\">
</form>
<br/><br/>
<br/></div></body></html>
ковычки лишние сам уберёшь
mihail-irk
20.11.2008, 18:58
rushter,подправил)
spamoney
21.11.2008, 08:07
Всем Привет! Помогите пожалуйста с таким вопросом: Как средствами php можно определить включена ли у пользователя поддержка JavaScript и Flash? (если средствами php нельзя то как можно)?
Пробывал функцию get_browser(); но она на моём хостинге не работает...
Warning: get_browser() [function.get-browser]: browscap ini directive not set. in ***
Может быть есть другое решение этой проблемы?
c мопощью http://ru.wikipedia.org/wiki/XMLHttpRequest делаешь субмит на свой скрит, а там уже думаешь.
при заходе узером реагируешь скриптом на get чегонить, а при подтверждении работы js выдаешь что нужно
spamoney
21.11.2008, 08:36
c мопощью http://ru.wikipedia.org/wiki/XMLHttpRequest делаешь субмит на свой скрит, а там уже думаешь.
при заходе узером реагируешь скриптом на get чегонить, а при подтверждении работы js выдаешь что нужно
Эм..а можно более понятным русским языком? A то что-то я ничего не понял..
Такой вопрос..скрипт граббера, этот скрипт загоняется в крон и ставится обновление к примеру на 12 часов и сайт автоматически наполняется новостями. Но основная проблема скрипта это запрет граббинга новостей которые уже были сграбблены. Функционально это оформлено так. Скрипт открывает страницу сайта с новостями (откуда будут граббится новости) копирует ссылки новостей, а затем отдельным циклом начинает грабить с каждой ссылки, при удачном граббинге записывает имя ссылки в файл grabbered.txt. Затем если мы заново запускаем скрипт, но с помощью функции array_search проверяем была ли сграблена эта новость или нет, если не была то грабим иначе ничего не делаем, но вот почему то именно эта проверка работает некорректно, вообще не работает. Посмотрите пожалуйста, может у кого нибудь есть идеи как по другому оформить цикл проверки..
include("./cron/newsland.php");
// собираем линки новостей
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url_grub);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$text = curl_exec($ch);
curl_close($ch);
preg_match_all("#<a href=\"\/News\/Detail\/id\/(.+)\">#",$text,$results);
for($i=0;$i<count($results[0]);$i++)
{
$urlsis="http://newsland.ru".str_replace(array('<a href="','">'),null,$results[0][$i]);
if ($urlsis!="http://newsland.ru/News/Detail/id/284971/cat/78")
{
$urlsos[]=$urlsis;
}
else
{}
}
$list_garb=file("./grabbered.txt");
$check_file=array_map("trim",$list_garb);
foreach ($urlsos as $urls_get )
{
$urls_get=trim($urls_get);
if (array_search($urls_get,$check_file)==FALSE)
{
// берем текст новости
$text_news = file_get_contents($urls_get);
/// вырезаем текст статьи
preg_match('#<h1 class="mt10 grey">(.*?)</h1>(.*?)<div class="bodytext mt5">(.*?)</div></div>#s',$text_news,$result_news);
// меняем кодировку
$result_news[0]=iconv("UTF-8", "WINDOWS-1251",$result_news[0]);
//работаем с рисунком новости
preg_match('#<img src="(.+)" title="(.+)" alt="(.+)" class="floatr mt10">#',$result_news[0],$result_image);
// скачиваем картинку
$result_load_image=file_get_contents("http://newsland.ru".$result_image[1]);
$name_image=substr($result_image[1],strrpos($result_image[1],"/")+1);
$good_image = fopen("./rssnews_image/".$name_image, "w");
fputs($good_image, $result_load_image);
/// создаем текст статьи для записи в файл
$src="<div style=\"float: left;\"><img src=\"./rssnews_image/".$name_image."\" title=\"".$result_image[2]."\" alt=\"".$result_image[2]."\" class=\"imagestyle\"></div>";
$time=date(d."-".m."-".y)."\r\n";
$title=$result_image[2]."\r\n";
$name=date("y-m-d-H-i-s");
$body=str_replace(array('<div class="bodytext mt5">',$result_image[0],'</div>','<div class="newsctrl f12 mt10"><div>','</div></div>'),null,$result_news[0]);
$body=preg_replace('#<h1 class="mt10 grey">(.+)</h1>#',null,$body);
$body=str_replace('<a','<br><br><a',$body);
preg_match_all('#(.*?)\.#is',$body,$out_anonce);
for($r=0;$r<5;$r++)
{
$body=str_replace($out_anonce[0][$r],$out_anonce[0][$r]."\r\n",$body);
}
$good = fopen("./rssnews_/".$name.".txt", "w");
fwrite($good,$time.$title.$src."\r\n".$body);
fclose($good);
$good_urls = fopen("./grabbered.txt", "a");
fwrite($good_urls,$urls_get."\r\n");
fclose($good_urls);
sleep(1);
}
else
{
}
}
Структура тупая, но по моему верная.
Выведи все переменные, которые сравниваются, посмотри что в них.
$urls_get, $check_file
'/image=(.*?)"/'
Самый прикол, что если в коде будет иметься еще хоть одна кавычка после этой фразы, то он обрежет по последнию кавычку.
'#image=([^"].+)#'
Zircool Используйте оператор === для проверки значения, возвращаемого этой функцией. (с) ман про array_search
А вообще - покажи print_r обоих массивов
Solker Учите, что делает ? в регулярных выражениях, а вот это - мега тру
'#image=([^"].+)#' Первый знак не кавычка и дальше любое количество знаков до конца строки
Странно. Спасибо, был не прав.
'#image=([^"]+)#' *
Кубик Рубик
21.11.2008, 20:31
На сколько хороша функция проверки форм?
function insec($text) {
$text = htmlentities(strip_tags($text));
return $text;
}
Как добавить сюда регулярку чтобы проходили только буквы и цифры ну и другие безопасные символы?
if ($addnewfaq==1){
if (($haed!="")&&($faq!=="")){
$link2= connect($host,$user,$pass,$db); //подключаемся к MySQL
$addFAQ= addmysql($link2,faq,faq,$head,$faq,$note); //Добавить запись из формы в MySQL
unset($haed);
unset($faq);
unset($note);
};
};
echo '<form method="POST" action="adminka.php?str=faq">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="hidden" name="addnewfaq" value="1">
<input type="submit" value="Ввод" />
</form>';
При вводе данных в форму, они вносятся в БД с помощью функции addMySQL но после внесения данных при обновлении старицы они сного вносятся...и так при каждом обновлении...уже и в форму скрытое поле ввёл и обнуление переменных с помощью unset() не помогло...
Что можно сделать?
Кубик Рубик
21.11.2008, 20:50
if ($_POST['addnewfaq') {}
имя поставь на кнопку
убери скрытое поле
Pashkela
21.11.2008, 21:02
что-что - переадресовывать на другую страницу, типо "Спасибо, вы внеслися". Нафига там же оставлять?
а вообще быдлокод, юзай лучше if(isset($submit))
т.е. сначала форма, а потом обработка того, что ввели и строго по нажатию кнопки
Кубик Рубик
21.11.2008, 21:07
На сколько хороша функция проверки форм?
PHP код:
function insec($text) {
$text = htmlentities(strip_tags($text));
return $text;
}
Как добавить сюда регулярку чтобы проходили только буквы и цифры ну и другие безопасные символы?
Pashkela
21.11.2008, 21:10
$text = htmlspecialchars($text);
Если сделаешь так - точно не обломаешься
имя поставь на кнопку
убери скрытое поле
Нет не помогло, может это браузер сохраняет данные и при обновлении сного их отсылает?
стоит Opera
мозила также выводит но она выдаёт предупреждение что внесенны данные в форму.
Обновить или нет?
MuXaJIbI4
21.11.2008, 21:40
а не проще header('Location: your_page.php'); отправить после занесения данных из формы в базу.
Pashkela
21.11.2008, 21:48
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<form method="POST">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="hidden" name="addnewfaq" value="1">
<input type="submit" value="Ввод" />
</form>
<?
$haed=$_POST['haed'];
$faq=$_POST['faq'];
$note=$_POST['note'];
$submit=$_POST['addnewfaq'];
if(isset($submit))
{
echo "Уря";
// тут идет твоя вставка чего надо куда надо в БАЗУ
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
// Теперь вставляем данные
$query="INSERT INTO FAQ_TABLE(haed, faq, note) values ('$haed', '$faq', '$note')";
$submitsql=mysql_query($query) or die(mysql_error());
//А теперь перенаправляем куда нам надо
header("Location: http://твой_сайт/adminka.php?str=faq");
}
Pashkela Ну и выбьет тебе ошибку - что заголовки уже посланы. Header - должен быть до любого вывода выполнен
Pashkela
21.11.2008, 22:01
)) ну в смысле да, это меня этот чорт попутал
там надо исправить
<input type="submit" value="Ввод" />
на <input type="submit" name="submit" value="Ввод" />
исправить
$submit=$_POST['addnewfaq'];
на
$submit=$_POST['submit'];
и
<input type="hidden" name="addnewfaq" value="1"> вообще удалить нах
ЗЫЖ Бгг
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<form method="POST">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="hidden" name="addnewfaq" value="1">
<input type="submit" value="Ввод" />
</form>
<?
$haed=$_POST['haed'];
$faq=$_POST['faq'];
$note=$_POST['note'];
$submit=$_POST['addnewfaq'];
if(isset($submit))
{
echo "Уря";
// тут идет твоя вставка чего надо куда надо в БАЗУ
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
// Теперь вставляем данные
$query="INSERT INTO FAQ_TABLE(haed, faq, note) values ('$haed', '$faq', '$note')";
$submitsql=mysql_query($query) or die(mysql_error());
//А теперь перенаправляем куда нам надо
header("Location: http://твой_сайт/adminka.php?str=faq");
}
Он что-то на строчку header("Location: http://твой_сайт/adminka.php?
ругается....
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\***\www\adminka.php:3) in Z:\home\***\www\adminka.php on line 86
Pashkela Ты перед тем как постить сначала сам выучи ...
Во 1 .... Скрипт содержит скуль
Во 2.... header("Location: http://твой_сайт/adminka.php?str=faq"); Выведет ошиьку о том что хидеры уже отослали =\\
<?
if(isset($_POST['submit']))
{
// тут идет твоя вставка чего надо куда надо в БАЗУ
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
$haed="'".mysql_real_escape_string($_POST['haed'])."'";
$faq="'".mysql_real_escape_string($_POST['faq'])."'";
$note="'".mysql_real_escape_string($_POST['note'])."'";
// Теперь вставляем данные
$query="INSERT INTO FAQ_TABLE SET haed=".$haed.", faq=".$faq.", note=".$note;
$submitsql=mysql_query($query) or die(mysql_error());
//А теперь перенаправляем куда нам надо
header("Location: http://твой_сайт/adminka.php?str=faq");
}
?>
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<form method="POST">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="submit" value="Ввод" name="submit" />
</form>
чтото тип того нада
Pashkela
21.11.2008, 22:16
Чего выучи, ну перепутал местами html и php
А у тебя в каждом поле XSS:))) Сам учись так что
ЗЫЖ Тут вообще про безопасность не спрашивали
Разместил до <head>
Опять та-же ошибка...
И как можно сделать так чтоб когда нажимаешь на кнопку выезжала форма...
Pashkela а вот тут ты ошибся только полные ламеры при занесении в БД делают
htmlspecialchars =)
ну да это всеголишь форум по безопасности .. =))
Pashkela
21.11.2008, 22:29
гы, зато вот рабочий скрипт, учись пока я жив, эксперт:) Кстати со всем уважением:
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<form method="POST">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="submit" name="submit" value="Ввод" />
</form>
<?
$haed=$_POST['haed'];
$faq=$_POST['faq'];
$note=$_POST['note'];
$submit=$_POST['submit'];
if(isset($submit))
{
// тут идет твоя вставка чего надо куда надо в БАЗУ
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
// Теперь вставляем данные
$query="INSERT INTO FAQ_TABLE(haed, faq, note) values ('$haed', '$faq', '$note')";
$submitsql=mysql_query($query) or die(mysql_error());
//А теперь перенаправляем куда нам надо
echo "<script language='JavaScript'>";
echo "location='http://Твой_сайт/adminka.php?str=faq'";
echo "</script>";
}
?>
бгг =)))) поверь у меня побольше опыта будет и то что ты там сверху накалякал ваще БРЕД .... 2 одинаковых хтмл формы да ещё и с ЯВой ...ыыы ты хоть не позорься то а?))
кстате .. опять со скулей =))))
гы отредактил ... ))))
Pashkela
21.11.2008, 22:36
1. Почему бред? Если работает
2. В чем бред конкретно?
3. Про безопасность не спрашивали, я консультирую только когда спрашивают конкретно, а не в ОБЩЕМ
4. Настоящий хоцкер - скромен и умеет признавать свои ошибки. Вывод - ты не хоцкер. А опозорится никогда не западло, ибо только знания имеют значения
5. Дай "праильный код", только чтобы работал на секундочку, а я рассмотрю. Будешь прав - с радостью признаю твой мегаопыт. Только попробуй сам, без помощи старших
6. Да отредактил, потому что копирую отсюда, я признаю, что могу ошибаться
7. Ваш МЕГАКОД отличный от моего в принципиальных моментах кроме безопасности, в студию плиз
Pashkela, спасибо...
Теперь нужно вывод формы при нажатии на кнопку :)
Извиняюсь за столько вопросов...
1.Не всё что работает верно
2.Бред это скуля .. хтмл форма ... и ЯВА ... ну и если на то пошло то по хтмл стандарту ... пост пишется маленькими буквами ... и если есть вывод нотисов до нажатия кнопки будет нотис неизвестного индекса ...
3.это форум по безопасности .. новичков нада с самого начал учить писать правильно .. тут спрашивают как правельнее написать....
4.М я писал что я хакер? бля вы меня убеваете ... тож мне.... ыыы =))
5.жди =)
Pashkela
21.11.2008, 22:45
2 Byrger:
Какой формы?
Если другой какой-то, то
замени тут адрес на тот, что тебе надо (где требуемая форма)
echo "location='http://Твой_сайт/adminka.php?str=faq'";
А если таже самая форма треба, то просто удали код перенаправления, т.е. следующее:
echo "<script language='JavaScript'>";
echo "location='http://Твой_сайт/adminka.php?str=faq'";
echo "</script>";
Поля для ввода очистятся сами
2 Doom123:
))) Ждем-с. Просто иногда время имеет значение. Я и не утверждал, что мой вариант - ЕДИНСТВЕННО верный и самый ОПТИМАЛЬНЫЙ
форма имеется ввиду .. то что она сверху ....
<?
if(isset($_POST['submit']))
{
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
// тут идет твоя вставка чего надо куда надо в БАЗУ
$haed= isset($_POST['haed']) : "'".mysql_real_escape_string($_POST['haed'])."'" ? '';
$faq= isset($_POST['faq']) : "'".mysql_real_escape_string($_POST['faq'])."'" ? '';
$note= isset($_POST['note']) : "'".mysql_real_escape_string($_POST['note'])."'" ? '';
// Теперь вставляем данные
$query='INSERT INTO FAQ_TABLE SET haed='.$haed.', faq='.$faq.', note='.$note;
$submitsql=mysql_query($query) or die(mysql_error()); //mysql_error() - оставить до тех пор пока не отправим скрипт в нет ... т.к не желательно чтоб все знали про наши ошибки =)
//А теперь перенаправляем куда нам надо ..... можно и мета редирект заюзать =)
header("Location: http://твой_сайт/adminka.php?str=faq");
exit();
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<body>
<form method="post" action="">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="submit" value="Ввод" name="submit" />
</form>
</body></html>
Pashkela
21.11.2008, 22:54
Объясни пожалуйста, если я тебе еще не надоел, какая разница, где форма? Кроме чисто геометрических понятий "верх" и "низ" и возможно принятой на ачаде эстетических норм оформления кода?
Увидел - exit();
Блин, не успеваю редактировать:)))))) В общем там снизу написали, что не работает твой код. Извини, ничего личного:)
форма имеется ввиду .. то что она сверху ....
<?
if(isset($_POST['submit']))
{
//подключаемся к MySQL - ну тут сам напишешь процедуру подключения, лучше вывести в config.php и инклудить
// тут идет твоя вставка чего надо куда надо в БАЗУ
$haed= isset($_POST['haed']) : "'".mysql_real_escape_string($_POST['haed'])."'" ? '';
$faq= isset($_POST['faq']) : "'".mysql_real_escape_string($_POST['faq'])."'" ? '';
$note= isset($_POST['note']) : "'".mysql_real_escape_string($_POST['note'])."'" ? '';
// Теперь вставляем данные
$query='INSERT INTO FAQ_TABLE SET haed='.$haed.', faq='.$faq.', note='.$note;
$submitsql=mysql_query($query) or die(mysql_error()); //mysql_error() - оставить до тех пор пока не отправим скрипт в нет ... т.к не желательно чтоб все знали про наши ошибки =)
//А теперь перенаправляем куда нам надо ..... можно и мета редирект заюзать =)
header("Location: http://твой_сайт/adminka.php?str=faq");
exit();
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text; charset=windows-1251">
<title>ДОБАВИТЬ СВОЙ МЕГА-FAQ</title>
</head>
<body>
<form method="post" action="">
<input type="text" name="haed" size="100" /><br />
<textarea name="faq" rows="10" cols="100"></textarea> <br />
<input type="text" name="note" size="100" /><br />
<input type="submit" value="Ввод" name="submit" />
</form>
</body></html>
уже писал но пишу ещё раз....
header("Location: http://твой_сайт/adminka.php?str=faq");
не работает...выводит
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\***.***.***.***\www\adminka.php:3) in Z:\home\***.***.***.***\www\adminka.php on line 15
А на счёт JS немного меня не поняли...
"Тыкаем на кнопку и выезжает форма в которой нужно ввести данные"
Господи, сколько можно переливать из пустого в порожнее, код на три строки мусолите несколько часов
Byrger Вставляй код "как есть". header должен быть вызван ДО ЛЮБОГО ВЫВОДА
Doom123 Хватит меряться, человек не понимает ничего и уперся в одну и ту же хрень
Pashkela В пхп желательно писать так, чтобы скрипты работали для любого браузера. У меня например отключен яваскрипт и твои переадресации не сработают. Поэтому если нам нужен редирект, то его лучше делать хидером, опять таки ДО любого вывода. Насчет mysql_query('SELECT * FROM table WHERE id='.$_POST['id']); Утрируя ваши посты вы пишете подобный треш. Подумайте почему это не правильно. И почему НЕ надо писать подобные примеры новисам
Pashkela
21.11.2008, 23:00
А на счёт JS немного меня не поняли...
"Тыкаем на кнопку и выезжает форма в которой нужно ввести данные"
Ну ты ваще наглец. Видишь тут баталия какая, обожди:)
Pashkela есть несколько приемуществ ... при тако раскладе хидеры норм отсылаются( у бургера просто есть вывод в файле админки) и также при отсылки данных идёт сначала обработка а потом вывод .... это если например нада вывести обработаные данные =)
Byrger у тебя есть вывод в админке, место
header("Location: http://твой_сайт/adminka.php?str=faq");
делай
echo '<meta http-equiv="Refresh" content="0; URL=http://твой_сайт/adminka.php?str=faq">';
Pashkela
21.11.2008, 23:01
2 Gifts:
Умно. Надеюсь таки местные эксперты представят РАБОЧИЙ код в студию, пока одно голословие. Извините
Pashkela
21.11.2008, 23:03
2 Doom123:
echo '<meta http-equiv="Refresh" content="0; URL=http://твой_сайт/adminka.php?str=faq">'
Воооооот. Ты - гуру. Будет работать даже при отключенном javascript.
ЗЫЖ Если ТС сейчас ниже не напишет, что опять не работает:))))
2 Doom123:
echo '<meta http-equiv="Refresh" content="0; URL=http://твой_сайт/adminka.php?str=faq">'
Воооооот. Ты - гуру. Будет работать даже при отключенном javascript.
ЗЫЖ Если ТС сейчас ниже не напишет, что опять не работает:))))
Работает ;)
Pashkela
21.11.2008, 23:31
)) Ура. Приношу извинения всем тем, кого мог задеть, от вас извинений не требую.
Cania_vIp
21.11.2008, 23:55
Извените канешно за нубський вопрос но какой прогой заливать на PHP хостинГ
MuXaJIbI4
22.11.2008, 00:05
настрой себе фтп например через Total Commander
Извените канешно за нубський вопрос но какой прогой заливать на PHP хостинГ
Простой FTP клиент, на php. Поддерживает передачу файлов, перемещение и создание каталога.
Скачать (11.67 Kb) http://depositfiles.com/files/ger6doejs
Ага дал ему скрипт на php "как заливать на фтп", как он его запустит, и на фтп то зальет до этого?)))))
пфффф =)
Nightmarе
22.11.2008, 06:12
Простой FTP клиент, на php. Поддерживает передачу файлов, перемещение и создание каталога.
Скачать (11.67 Kb) http://depositfiles.com/files/ger6doejs
А можно поинтересоваться, если я через этот скрипт зайду на ftp://site.com то в логах этого сайта чей IP будет, мой или хоста на котором скрипт?
А то я юзал какой то скрипт web2ftp или net2ftp какой то из этих, в логах мой айпишник пихали.
GreenBear
22.11.2008, 06:19
$haed= isset($_POST['haed']) : "'".mysql_real_escape_string($_POST['haed'])."'" ? '';
не подходите больше к пхп-едитору
А на счёт JS немного меня не поняли...
"Тыкаем на кнопку и выезжает форма в которой нужно ввести данные"
<input type="checkbox" id='add' onClick="if (document.getElementById('add').checked) {document.getElementById('mainform').style.display ='block';} else {document.getElementById('mainform').style.display ='none';}"> Добавить вопрос
<div name="mainform" style="display: none;" id="mainform">
<form method="post" action="">
<input type="text" name="haed" size="100" />бла-бла-бла<br />
<textarea name="faq" rows="10" cols="100"></textarea>Тут введите свой вопрос<br />
<input type="text" name="note" size="100" />хз зачем<br />
<input type="submit" name="submit" value="задать вопрос"/>
</form>
</div>
<br>
<noscript>Для добавления вопроса включите JavaScript</noscript>
Вот как-то так.
spamoney
22.11.2008, 08:43
Здравствуйте, такой вопрос: есть вот такой код:
$result = $db->sql_query("SELECT `time` FROM ".$prefix."_stories ORDER BY `time` DESC");
$content .="<ul>";
while(list($time) = $db->sql_fetchrow($result)) {
if ($i<=11) {
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $getdate);
if ($getdate[2] == "01") { $month = _JANUARY; } elseif ($getdate[2] == "02") { $month = _FEBRUARY; } elseif ($getdate[2] == "03") { $month = _MARCH; } elseif ($getdate[2] == "04") { $month = _APRIL; } elseif ($getdate[2] == "05") { $month = _MAY; } elseif ($getdate[2] == "06") { $month = _JUNE; } elseif ($getdate[2] == "07") { $month = _JULY; } elseif ($getdate[2] == "08") { $month = _AUGUST; } elseif ($getdate[2] == "09") { $month = _SEPTEMBER; } elseif ($getdate[2] == "10") { $month = _OCTOBER; } elseif ($getdate[2] == "11") { $month = _NOVEMBER; } elseif ($getdate[2] == "12") { $month = _DECEMBER; }
if ($month != $thismonth) {
$year = $getdate[1];
$content .= "<li><a href=\"index.php?name=News_Archive&sa=show_month&year=$ye ar&month=$getdate[2]&month_l=$month\">$month, $year</a></li>\n";
$thismonth = $month;
$i++;
}
}
}
А теперь вопрос:
Можно ли ускорить выполнение этого скрипта заменой регулярки на другую (допустим preg_match):
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $getdate);
или можно ли вообще как-нибудь обойтись без регулярного выражения?
[x26]VOLAND
22.11.2008, 12:03
if ($getdate[2] == "01") { $month = _JANUARY; } elseif ($getdate[2] == "02") { $month = _FEBRUARY; } elseif ($getdate[2] == "03") { $month = _MARCH; } elseif ($getdate[2] == "04") { $month = _APRIL; } elseif ($getdate[2] == "05") { $month = _MAY; } elseif ($getdate[2] == "06") { $month = _JUNE; } elseif ($getdate[2] == "07") { $month = _JULY; } elseif ($getdate[2] == "08") { $month = _AUGUST; } elseif ($getdate[2] == "09") { $month = _SEPTEMBER; } elseif ($getdate[2] == "10") { $month = _OCTOBER; } elseif ($getdate[2] == "11") { $month = _NOVEMBER; } elseif ($getdate[2] == "12") { $month = _DECEMBER; }Что за невежество? Во первых, в таких случаях надо использовать switch. Во-вторых, зачем загаживать память константами? Константы хороши к месту, а не где попало...
Можно ли ускорить выполнение этого скрипта заменой регулярки на другую (допустим preg_match):Можно. При занесении строк в базу в 1 ячейку (допустим `date`) заноси дату в нормальном удобочитаемом виде (генеруруй функцией date()). А время заноси в ячейку `time` в unix-stamp формате (для быстрой сортировки).
Ускоришь работу скрипта + не будешь париться с форматом даты.
А вообще, сортировка по не-ключевым полям - зло. Сортируй по ключевому `id`.
GreenBear
22.11.2008, 13:22
order by mark asc
[x26]VOLAND
22.11.2008, 13:50
askASC
как сделать анти-xss ? (зоранее спасибо)
ооода... и это помощь новичкам :)
Pashkela
22.11.2008, 16:41
mysql_query("SET CHARACTER SET UTF-8",$link)or die(mysql_error());
mysql_query("SET NAMES UTF-8",$link)or die(mysql_error());
Вот это всё надо писать после соединения И выбора базы данных
а вообще:
http://forum.antichat.ru/thread91023.html
mysql_query('SET NAMES CP1251');
и это пишешь после функций подлючения к БД, mysql_connect() и mysql_select_db()
inlanger
22.11.2008, 16:57
ооода... и это помощь новичкам
Объясню подробнее:
google => htmlspecialchars
ооода... и это помощь новичкам :)
как спросил, так и ответили
подскажите, где можно почитать про "правила хорошего тона при программировании на php" )) искал не нашел.
Pashkela
22.11.2008, 18:07
http://forum.antichat.ru/thread44779.html
подскажите, где можно почитать про "правила хорошего тона при программировании на php" )) искал не нашел.
http://habrahabr.ru/blogs/php - там много пишут про это... почитай ВСЁ
Здравствуйте!
Код:
<?
$lines = file("http://www.moneysupermarket.com/");
echo $lines[1];
?>
Ошибка:
rning: file(http://www.moneysupermarket.com/) [function.file]: failed to open stream: HTTP request failed! in /public_html/parse.php on line 2
Такая проблема возникает именно с этим доменом, к примеру, yandex открывается нормально.
Пожалуйста, подскажите в чём проблема!
Заранее благодарен! :)
Pashkela
22.11.2008, 19:35
Да хз в чем, работай через сокеты:
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$responce = "";
$fsock = fsockopen("www.moneysupermarket.com",80,$errnum,$errstr,2);
$headers = "GET http://www.moneysupermarket.com/ HTTP/1.1\n";
$headers .= "Host: www.moneysupermarket.com\n";
$headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\n";
$headers .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\n";
$headers .= "Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\n";
$headers .= "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\n";
$headers .= "Keep-Alive: 500\n";
$headers .= "Connection: close\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
fwrite ($fsock,$headers);
while (!feof($fsock)) $responce .= fread($fsock,1024);
fclose ($fsock);
echo $responce;
?>
У тебя это работает?
Просто интересно, а это и этот код у меня в ошибки уперается...
а как можно организовать вот такую схему:
1 Человек выбирает товар и наживает далее
2 Человек поддтверждает товар и соглашение
3 Ему выдаётся уникальный номер и данные заносятся в MySQL
Pashkela
22.11.2008, 21:05
У тебя это работает?
Просто интересно, а это и этот код у меня в ошибки уперается...
да, работает 100%
Такая страница php: <?
$file = fopen("question.txt", "r");
while (!feof($file))
{
$question[$is]= fgets($file);
list($q1[$is],$q2[$is], $q3[$is]) = explode(":", $question[$is]);
$is++;
}
?> отображает п»ї Но она ничего не должна отображать
Символы отображаются в тех местах страницы где расположен код, такое происходит с разными кусками кода
кодировку в браузере смени ..
Подскажите, как на CURL
получить в переменную исходной код страницы с передачей параметра USER_AGENT.
С меня Плюcы :)
а как можно организовать вот такую схему:
1 Человек выбирает товар и наживает далее
2 Человек поддтверждает товар и соглашение
3 Ему выдаётся уникальный номер и данные заносятся в MySQL
Хотябы как это организовать...
А то что-то сообразить не могу как это сделать...
1 Нужно видимо как-то написать на JS скрипт записи в форму...(ну несколько томаров чтоб купить и он тут-же считал сколько будет стоить)
2 ну подтверждение в принципе легко...(только как передать новой странице данные из POST?
3 Вот с этим трудно...
Код буду сам думать....
Для каждой сессии создается своя временная запись в таблице.
1 Щелкает по товару, создается эта временная запись, на время сессии. В корзине появляется 1 товар.
2 Проходит в корзину, из таблицы выводятся товары, которые он выбрал за пребывание на сайте, т.е. сессии. Щелкнув по некому товару, он одобряется, т.к. в таблице у этого заказанного товара во время сессии, меняем столбец validate на 1.
3 Нажимаем далее... Если для этой сессии присутсовует хоть 1 валидная запись товара из таблицы, то выдаем ему уникальынй ключ.
Вообщем, http://phpfaq.ru/sessions
Подскажите, как на CURL
получить в переменную исходной код страницы с передачей параметра USER_AGENT.
С меня Плюcы :)
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera');
Для каждой сессии создается своя временная запись в таблице.
1 Щелкает по товару, создается эта временная запись, на время сессии. В корзине появляется 1 товар.
2 Проходит в корзину, из таблицы выводятся товары, которые он выбрал за пребывание на сайте, т.е. сессии. Щелкнув по некому товару, он одобряется, т.к. в таблице у этого заказанного товара во время сессии, меняем столбец validate на 1.
3 Нажимаем далее... Если для этой сессии присутсовует хоть 1 валидная запись товара из таблицы, то выдаем ему уникальынй ключ.
Вообщем, http://phpfaq.ru/sessions
А почему сессия а не куки?
И создавать запись в таблице кажды раз....
А она не будет много весить? а временно это на сколько и кто будет всё это чистить?
Подскажите, как на CURL
получить в переменную исходной код страницы с передачей параметра USER_AGENT.
С меня Плюcы :)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http:");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.60 (Windows NT 5.1; U; en) Presto/2.1.1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$an = curl_exec($ch);
есть ли какая то функция в php, для
"изменение записи в БД возможно только через определенное время"
или
при добавлении записи нужно сравнивать
время последней записи с временем добавления записи
и если прошло меньее указанного времени,
то не изменять запись.
.:EnoT:.
23.11.2008, 00:08
UnPazz:
Легко до жути)
В БД делаем поле к примеру с названием dateline типом INT
При добавлении записи пишем в это поле UNIX_TIMESTAMP().
Потом при постинге очередной записи проверяем время поста прошлой записи.
<?php
$interval = 60; //Интервал (в секундах)
/* Делаем запрос времени добавления предыдущей записи */
$sql = mysql_query("SELECT `dateline` FROM `table`
WHERE `что-то там` = 'чему-то'
ORDER BY `dateline`
DESC LIMIT 1");
if($sql && mysql_num_rows($sql)){
$result = mysql_fetch_object($sql);
if((time() - $result->dateline) <= $interval)){
echo 'Следующую запись можно отправить не ранее, чем через '.ceil($interval - (time() - $result->dateline)).' сек.';
}else{
/* Добавляем запись */
mysql_query('INSERT INTO ......');
}
}
?>
привет мне надо чтобы я дал по icq сылку ну типа так http://torrentsmd.com/details.php?id=461677 а мне надо чтобы была вот так http://torrentsmd.com/ но чтобы пошла по первыи сылке спасиба
lup108
Сперва надо закончить школу.
<?php header("Location: http://torrentsmd.com/details.php?id=461677"); ?>
.:EnoT:.
23.11.2008, 05:32
Я повторяю что есть спец. раздел по регуляркам (особенно касается товарища OnArs)
В этой теме буду все удалять!
Потерял стандартную функцию проверки email по маске. Кто-нибудь знает?
if (preg_match('/\\A(?:(?:(?:\\r\\n)?[ \\t])*(?:(?:(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*|(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)*\\<(?:(?:\\r\\n)?[ \\t])*(?:@(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*(?:,@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)*:(?:(?:\\r\\n)?[ \\t])*)?(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*\\>(?:(?:\\r\\n)?[ \\t])*)|(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)*:(?:(?:\\r\\n)?[ \\t])*(?:(?:(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*|(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)*\\<(?:(?:\\r\\n)?[ \\t])*(?:@(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*(?:,@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)*:(?:(?:\\r\\n)?[ \\t])*)?(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*\\>(?:(?:\\r\\n)?[ \\t])*)(?:,\\s*(?:(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*|(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)*\\<(?:(?:\\r\\n)?[ \\t])*(?:@(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*(?:,@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*)*:(?:(?:\\r\\n)?[ \\t])*)?(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|"(?:[^\\"\\r\\\\]|\\\\.|(?:(?:\\r\\n)?[ \\t]))*"(?:(?:\\r\\n)?[ \\t])*))*@(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*)(?:\\.(?:(?:\\r\\n)?[ \\t])*(?:[^()<>@,;:\\\\".\\[\\] \\x00-\\x1F]+(?:(?:(?:\\r\\n)?[ \\t])+|\\Z|(?=[\\["()<>@,;:\\\\".\\[\\]]))|\\[([^\\[\\]\\r\\\\]|\\\\.)*\\](?:(?:\\r\\n)?[ \\t])*))*\\>(?:(?:\\r\\n)?[ \\t])*))*)?;\\s*))\\z/', $subject)) {
} else {
}
Стандартно, т.е. по RFC 822
Стандартно, т.е. по RFC 822
что-то страшное :) , я под себя так писал:
preg_match_all('/[a-z0-9_\-\.]{1,25}@[a-z0-9_\-\.]{1,25}/i', $startPage, $foundMails);
ну конечно самому можно много чего напридумывать
Да мне не регулярки нужно...
что-то страшное :) , я под себя так писал:
preg_match_all('/[a-z0-9_\-\.]{1,25}@[a-z0-9_\-\.]{1,25}/i', $startPage, $foundMails);
ну конечно самому можно много чего напридумывать
Твоя регулярка плохая... нету символов начала и конца строки. Смотри:
@[a-z0-9_\-\.]{1,25} - после 25 символов регулярка не будет действовать... т.е мы можем подставить кавычки и прочие смволы в запрос.
Вот моя:
#^([a-z0-9\_\-\.]{2,}@[a-z0-9\-\.]+\.[a-z]{2,5})$#i
[x26]VOLAND
23.11.2008, 15:21
/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix
я же говорю, у всех свои варианты и все они по своему хороши, кому как нравится - тот так и пишет
подскажите, плз, как записать html переменной значение php переменной?
<input name="hidden" type="hidden" id="hidden" value="<?$answer2[$random]?>"> ?
vikseriq
23.11.2008, 19:54
<input name="ИМЯ переменной" type="hidden" value="<? echo $переменная ?>">
только не факт. что ее не изменят.
vikseriq
23.11.2008, 20:02
как лучше и безопасней передавать значение php переменной с index1.php на index2.php ?
через cookie?
через сессии - в куках будет только ид сессии. а так куки правятся тоже.
index1.php:
<form action="http://www.../index2.php" method=POST>
<input name=a type=hidden value="Zna4_php_peremennoj"> ....
...
</form>
index2.php:
<?php
$a=htmlspecialchars($_POST['a']);
....
?>
Чем не безопасно и плохо??
_HeSh_
А чего тут должно быть небезопасно?
Когда решишь добавить эту переменную в базу (addslashes()) или вывести (htmlspecialchars() ), обработай нужными функциями.
оуу...запарился))))) щя изменю) - Я сам новичёк, не пинать :)
Готово.
imajo.ati
24.11.2008, 03:44
здравствуйте! не могу разобраться с реализацией серверного приложения на php
вот код, немного модифицированный пример из интернета.
проблема в том что серверу необходимо разорвать текущее соединение с клиентом для открытия нового.
тут при соединении с клиентом запускается бесконечный цикл(2). если запускать функцию catch_client() из цикла(2), получится, что сервер зависнет при ожидании нового подключения и перестанет обрабатывать текущее.
нужно, чтобы он не переставая обрабатывать текущее, встал на ожидание нового подключения.
<?php
ignore_user_abort();
set_time_limit(0);
$addr = 'localhost';
$port = 12345;
$connections = 0;
$max_connections = 20;
define('SERVER', socket_create(AF_INET, SOCK_STREAM, SOL_TCP), 1);
if ( SERVER < 0 ) _error();
if ( socket_bind(SERVER ,$addr, $port) < 0 ) _error();
if ( socket_listen(SERVER, $max_connections) < 0 ) _error();
catch_client();
function catch_client()
{
GLOBAL $connections;
GLOBAL $max_connections;
if ( $connections >= $max_connections ) return;
while(true) // цикл 1
{
// тут пхп возвращает управление операционной системе и ждёт подключения
$CLIENT = socket_accept(SERVER); if ( $CLIENT < 0 ) _error();
// когда клиент приконнектился, сервер отправляет приветствие клиенту
$connections++;
s_send($CLIENT,'Привет. die - выкл сервер. exit - разъединиться.');
while(true) // цикл 2
{
$DATA = socket_read($CLIENT, 1024);
if ( $DATA === FALSE ) _error();
if ( $DATA == 'exit' )
{
socket_close($CLIENT);
$connections--;
break 2; // разрывает соединение с клиентом
}
elseif ( $DATA == 'die' )
{
socket_close($CLIENT);
socket_close(SERVER);
break 1; // выключает сервер
}
else
{
s_send($CLIENT, $DATA); // отсылает обратно текст
}
} //endwhile 2
} //endwhile 1
}//endfunc
function _error()
{
echo socket_strerror( socket_last_error() );
if ( defined('SERVER') AND SERVER > 0 )
socket_close(SERVER);
die;
}
//endfunc
function s_send($socket, $msg)
{
socket_write($socket, $msg, strlen($msg));
}
//endfunc
?>
Кубик Рубик
25.11.2008, 00:02
Что лучше, использование скрытых полей? или функции isset(); ?
[x26]VOLAND
25.11.2008, 02:10
Функции isset().
Ибо злобные люди под грозным названием "хакеры" могут подменить значения скрытых полей и тому подобное...
Что лучше, использование скрытых полей? или функции isset(); ? Что лучше: кушать или дышать?
truelamer
25.11.2008, 13:55
Привет всем, дайте ссылочку где можно подробно про DOM в php прочитать , с примерами использования класса.
astrologer
25.11.2008, 13:55
Что лучше: кушать или дышать? Дышать.
Ибо злобные люди под грозным названием "хакеры" могут подсыпать яд в солонку и тому подобное...
Кубик Рубик, это слишком разные вещи, чтобы сравнивать.
Best Regards,
O.
truelamer, http://php.net/dom
Makcimka
25.11.2008, 16:14
Дышать.
Ибо злобные люди под грозным названием "хакеры" могут подсыпать яд в солонку и тому подобное...
Кубик Рубик, это слишком разные вещи, чтобы сравнивать.
Best Regards,
O.
truelamer, http://php.net/dom
спасибо ,хороший материал
demo_version
25.11.2008, 21:14
Какая самая хорошая книга по пхп ?
Какая самая хорошая книга по пхп ?
php_manual_ru.chm
Какая самая хорошая книга по пхп ?
Энди Харрис "PHP/MySQL для начинающих"
demo_version
25.11.2008, 22:18
Спасибо!!!!
И как мне установить пхп ? Как cgi приложение или как модуль вёб-сервера ? Не могу понять тонкостей, поняла только одно: что при выборе второго варианта производительность будет выше
Спасибо!!!!
И как мне установить пхп ? Как cgi приложение или как модуль вёб-сервера ? Не могу понять тонкостей, поняла только одно: что при выборе второго варианта производительность будет выше
Ты у себя на домашнем компе ставить собралась? Поставь готовую сборку http://wampserver.com и не парь себе мозги... То для серверов, хостингов.
А по теме "что быстрее" - различия в нано-секундах).
Я бы предпочел поставить как модуль cgi, так как это более безопасно.
Я бы предпочел поставить как модуль cgi, так как это более безопасно.лол, как раз наоборот
Ты у себя на домашнем компе ставить собралась? Поставь готовую сборку http://wampserver.com и не парь себе мозги... То для серверов, хостингов.
Или как вариант Денвер: http://www.denwer.ru/
Имхо очень удобный. Мне нравится.
demo_version
26.11.2008, 01:32
ChaaK
ThanX!
Да на домашнем, другого нет))) Мне для сайта.
FeoЩту
А можешь обосновать свое мнение. А то так не понятно мне по каким же причинам =?
art2222
Каждому - свое)), сколько раз уже ставила этот Денвер, но никаких положительных эмоций не возникло)) то ли руки кривые)))
[x26]VOLAND
26.11.2008, 01:57
сколько раз уже ставила этот Денвер, но никаких положительных эмоций не возникло)) то ли руки кривые)))В точку.
то ли руки кривые)))
Это уже пальцы кривые... 5 раз кнопку тыкнуть нужно из предложеных вариантов.
А что у тебя именно за проблема возникает?
demo_version
26.11.2008, 13:18
_HeSh_
С Денвером ? Я уже не помню, это было очеееень давно! Но что-то в нем вечно не работало. . . .
agrofyl2
26.11.2008, 14:32
Помогите плиз проблемка:
есть текст
\x3cb\x3eТекст\x3c/b\x3e
, спарсен с javascript с помощью прег-матч
Пытаюсь вывести на экран,
но он выводится-как и написан
вместо < - \x3c
Т.е. текст как бы в апострофах(PHP),
а нужно чтоб был как бы в кавычках.
Как нормально показать?
Спасибо.
-m0rgan-
26.11.2008, 15:39
Тебе нужно средствами пхп его вывести,или или джаваскриптом?
agrofyl2
26.11.2008, 16:08
средствами ПХП
-m0rgan-
26.11.2008, 16:22
Ну так а в чем проблема написать двойные кавычки?
<?php echo("\x3cb\x3eТекст\x3c/b\x3e") ?>
Я так понимаю тебе надо чтоб выводилось слово "текст"?
agrofyl2
26.11.2008, 16:52
Да нет, текст УЖЕ спарсен, он в массиве.
и показать надо <b>текст</b>
Попробую щас str_replace...
ВСЕ,
str_replace помогло.
Да нет, текст УЖЕ спарсен, он в массиве.
и показать надо <b>текст</b>
Попробую щас str_replace...
ВСЕ,
str_replace помогло.
<?php
$out = "\x3cb\x3eТекст\x3c/b\x3e";
echo htmlspecialchars($out);
?>
agrofyl2 eval("\$a='\x3cb\x3eТекст\x3c/b\x3e';");
echo $a;
-m0rgan-
26.11.2008, 17:38
Это чет не то;)
Афтор сказал:
"и показать надо <b>текст</b>"
А у тебя на экран виводится просто "текст"...
demo_version
26.11.2008, 17:59
Очередной вопрос по пхп
Есть где-нибудь очень хорошие статьи по платежным системам. Точнее, как установить на сайте хорошую платежную систему ????
И какую выбрать ? Чтобы людям было легко оплатить, без всяких проблем.
Есть где-нибудь очень хорошие статьи по платежным системам. Точнее, как установить на сайте хорошую платежную систему ????
И какую выбрать ?
Вообще документацию по интеграции платежной системы в сайт обычно выдает платежная система... И как можно советовать если ты не говоришь какого плана товар будешь продавать
-m0rgan-
26.11.2008, 18:16
Очередной вопрос по пхп
Есть где-нибудь очень хорошие статьи по платежным системам. Точнее, как установить на сайте хорошую платежную систему ????
И какую выбрать ? Чтобы людям было легко оплатить, без всяких проблем.
Вот здесь описание некоторых:
http://www.nocsjob.ru/index.php?page=pay_system
http://gysar.ru/010.htm
http://www.virtus.ru/node/373
demo_version
26.11.2008, 18:40
Kaimi
Это будут услуги. И нужно чтобы через сайт можно было бы оплатить, чтобы никуда не бегать))
-m0rgan-
Спасибо!
Кубик Рубик
26.11.2008, 20:45
Как хранить изображения в массивах? и какая функция преобразует их в изображение? что то вроде этого в c99 реализовано
Как хранить изображения в массивах? и какая функция преобразует их в изображение? что то вроде этого в c99 реализовано
бинарные данные можно кодировать в base64 и хранить в скрипте.
вот пример
<?php
$pic = 'pic.jpg';
echo base64_encode(join('',file($pic)));
?>
Приветствую Всех! В общем такая трабла:
На вконтакте есть счетчик посещений типа:
Нас уже 117350 пользователей.
Насколько я понял, скрипт который отвечает за данные:
<script type="text/javascript">
var memCount = 117350;
var memPerSec = 0.551529630939;
function updateCount() {
next = -(1000 / memPerSec)*Math.log(Math.random());
memCountString = '' + memCount;
len = memCountString.length;
memCountString = memCountString.substr(0,len-6)+" "+memCountString.substr(len-6,3)+" "+memCountString.substr(len-3,3);
ge('memCount').innerHTML = memCountString;
memCount = memCount + 1;
setTimeout(updateCount, next);
}
window.onload = function(){
updateCount();
}
</script>
и
<center><p>Нас уже <b id='memCount'>117350</b> пользователей.</p></center>
Так вот, мне нужно на одну страницу замутить такой же счетчик, только чтобы он от балды чисто для вида начислял людей. Кто может подсказать как это сделать!? Много чего уже перепробывал - но ничего не выходит. :( Толи там еще от каких то переменных зависит, то ли еще что... Он просто встает, и не меняется. P.s. Сорри, я не кодер.
Так вот, мне нужно на одну страницу замутить такой же счетчик, только чтобы он от балды чисто для вида начислял людей. Кто может подсказать как это сделать!? Много чего уже перепробывал - но ничего не выходит. :( Толи там еще от каких то переменных зависит, то ли еще что... Он просто встает, и не меняется. P.s. Сорри, я не кодер.
<?php echo mt_rand(100000, 999999); ?>
<?php echo mt_rand(100000, 999999); ?>
Такс. Понял что я не доглядел на вк:
<!-- tns-counter.ru -->
<script type="text/javascript">
<!--
addEvent(window, 'load', function(){
var img = new Image();
img.src = 'http://www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\*/g,'%2a') + '*vkontakte_ru/ru/CP1251/tmsec=vkontakte_total/';
});
//-->
</script>
<noscript>
<img src="http://www.tns-counter.ru/V13a****vkontakte_ru/ru/CP1251/tmsec=vkontakte_total/" width="1" height="1" alt="" />
</noscript>
<!--/ tns-counter.ru -->
<!--LiveInternet counter-->
<script type="text/javascript">
<!--
addEvent(window, 'load', function(){
var img = new Image();
img.src = 'http://counter.yadro.ru/hit?r' + escape(document.referrer) + ((typeof(screen)=='undefined')?'':';s'+screen.widt h+'*'+screen.height+'*'+(screen.colorDepth?screen. colorDepth:screen.pixelDepth)) + ';u' + escape(document.URL) + ';' + Math.random() + '';
});
//-->
</script>
<!--/LiveInternet-->
<!-- End bFooter -->
</div>
Следовательно пробую сделать так:
<script type="text/javascript">
var memCount = 117350;
var memPerSec = 0.551529630939;
function updateCount() {
next = -(1000 / memPerSec)*Math.log(Math.random());
memCountString = '' + memCount;
len = memCountString.length;
memCountString = memCountString.substr(0,len-6)+" "+memCountString.substr(len-6,3)+" "+memCountString.substr(len-3,3);
ge('memCount').innerHTML = memCountString;
memCount = memCount + 1;
setTimeout(updateCount, next);
}
window.onload = function(){
updateCount();
}
</script>
<center><p>Мы растем и нам доверяют уже <b id='memCount'>117350</b> пользователей.</p></center>
<script type="text/javascript">
//Rounded('rounded', 6, 6);
</script>
</body>
</html>
И он все равно не считает, а стоит на месте. А у них идет статистика от счетчика liveinternet. Может кто-нибудь написать полностью готовый код, чтобы счетчика допустим начинался с числа 115350 и крутился до допустим 150000. Буду премного благодарен за помощь.
imajo.ati
27.11.2008, 03:11
<SCRIPT>
asasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(asasa);cnt.innerHTML=cntn+1",900);
bsasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(bsasa);cnt.innerHTML=cntn+1",2300);
csasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(csasa);cnt.innerHTML=cntn+1",5900);
</SCRIPT>
<DIV ID="aaa">115350</DIV>
форумные пробелы убрать
<SCRIPT>
asasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(asasa);cnt.innerHTML=cntn+1",900);
bsasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(bsasa);cnt.innerHTML=cntn+1",2300);
csasa = setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(csasa);cnt.innerHTML=cntn+1",5900);
</SCRIPT>
<DIV ID="aaa">115350</DIV>
форумные пробелы убрать
Прописал вот так:
<SCRIPT>
asasa=setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(asasa);cnt.innerHTML=cntn+1",900);
bsasa=setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(bsasa);cnt.innerHTML=cntn+1",2300);
csasa=setInterval("cnt=document.getElementById('aaa');cntn=parseInt(c nt.innerHTML);if(cntn>=150000)clearInterval(csasa);cnt.innerHTML=cntn+1",5900);
</SCRIPT>
<DIVID="aaa">115350</DIV>
И один хрен счетчик не крутится. :(
Все, уже разобрался и сделал. Трабла была в
<script src="http://vkontakte.ru/js/functions.js?5"></script>
<script src="http://vkontakte.ru/js/niftycube.js"></script>
Там еще от зависело от некоторых переменных. Всем спасибо.
spamoney
27.11.2008, 15:01
Всем привет, такой вопрос:
допустим есть некий набор циферок:
$a="263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 380, 379, 406, 218, 280, 199, 431";
необходимо сначала эти циферки перемешать в случайном порядке, затем вывести в переменную $b четыре из них, т.е говоря проще нужно выбрать случайным образом четыре цифры из выше представленных... Пытался сам, но не получается(
1ый вариант
<?
$a=array(263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 380, 379, 406, 218, 280, 199, 431);
$b = "${a[mt_rand(0,count($a)-1)]}, ${a[mt_rand(0,count($a)-1)]}, ${a[mt_rand(0,count($a)-1)]}, ${a[mt_rand(0,count($a)-1)]}";
echo $b;
?>
2ой вариант
<?
$a=array(263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 380, 379, 406, 218, 280, 199, 431);
shuffle($a);
$b = '';
for($i=0;$i<4;$i++) $b .= $a[$i].', ';
$b = substr($b,0,-2);
echo $b;
?>
spamoney, http://ru2.php.net/array_rand
<?php
$count=4; //сколько чисел выводить?
$a="263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 380, 379, 406, 218, 280, 199, 431";
$b=explode(",",$a);
shuffle($b);
for ($i=0; $i<$count; print $b[$i++]);
?>
Извиняюсь сразу за такой вопрос, но:
<?php
if($r=="1"){
echo "123";
}else {
echo "321";
};
?>
когда в строке браузера пишу
http://....../123.php?r=1
то на экран выходит "321"
хоть что там напишу, все равно будет "321"
В чём проблема?
В апатче висит ошибка...может из-за неё?
[notice] Disabled use of AcceptEX() WinSock2 API
spamoney
27.11.2008, 15:26
Извиняюсь сразу за такой вопрос, но:
<?php
if($r=="1"){
echo "123";
}else {
echo "321";
};
?>
когда в строке браузера пишу
http://....../123.php?r=1
то на экран выходит "321"
хоть что там напишу, все равно будет "321"
В чём проблема?
<?php
if($_GET['r']=="1"){
echo "123";
}else {
echo "321";
};
?>
если прописать:
$a=array($a);
то код не работает((
тапки тоже через голову надеваешь?
сделай так
$a = explode(', ',$a); <- тут $a уже будет массивом
spamoney
27.11.2008, 15:35
Извените, что туплю, но почему то не работает:
$a ='263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 80, 379, 406, 218, 280, 199, 431';
$c = explode(', ',$a);
$arr=array($c);
shuffle($arr);
$b = '';
for($i=0;$i<4;$i++) $b .= $arr[$i].',';
$b = substr($b,0,-2);
echo $b;
$arr=array($c); <- чо это такое !? ты из массива делаешь массив принудительно ? ппц =\
$a ='263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 80, 379, 406, 218, 280, 199, 431';
$a = explode(', ',$a);
$b = '';
for($i=0;$i<4;$i++) $b .= $a[$i].',';
$b = substr($b,0,-2);
echo $b;
Извените, что туплю, но почему то не работает:
Вернись на страницу назад и посмотри в мой пост =)
Дабы не писать новый пост, отредактирую этот.
Есть один очень тонкий момент при использовании разных способов перемешивания массивов. Если использовать конструкцию вида $a=$array[array_rand($array)]..., то в результате будут присутствовать одни и теже элементы исходного массива ($array). Допустим нам нужно "перетосовать" колоду карт, одинаковых карт в колоде быть не должно, поэтому используется suffle($array)
spamoney
27.11.2008, 15:46
159932, большое спасибо
$a ='263, 313, 202, 86, 85, 330, 334, 165, 210, 339, 80, 379, 406, 218, 280, 199, 431';
$a = explode(', ',$a);
shuffle($a);
$b = '';
for($i=0;$i<4;$i++) $b .= $a[$i].',';
$b = substr($b,0,-2);
echo $b;
работает, и еще раз сорь за нубство, просто я пока еще в этом ничего не понимаю)
Вернись на страницу назад и посмотри в мой пост =)
Упс, действительно не увидел пасиб!
array_rand
for(i < 4;..) shuffle
А если идёт условие.. if что-то там {
.....
}
и вместо "....." мне нужно вставить HTML код но не используя команды вывода print, echo
Как можно вывести?
astrologer
27.11.2008, 21:57
А если идёт условие.. if что-то там {
.....
}
и вместо "....." мне нужно вставить HTML код но не используя команды вывода print, echo
Как можно вывести?
<?
if (true)
{
?><em>HTML</em><?
}
?>
mysql_query ("UPDATE answer SET dateline='time()' WHERE question='$question' ");
не работает - ошибка синтаксиса :-( Подскажите как записать?
никто никогда не хочет учить МуСкул далее нескольких слов... Каюсь, Сам таким был, а надо вот так...
mysql_query ("UPDATE answer SET dateline=NOW() WHERE question='$question' ");
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot