Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Добавление текста в базу данных и выведение номера строки [2]
ТвойWeb » WebMaster класс » PHP/Perl » Добавление текста в базу данных и выведение номера строки

Страниц (3): « 1 [2] 3 »
 

11. Furax - 30 Сентября, 2008 - 10:41:44 - перейти к сообщению
Леголегс
А под MacOSом, где '\n' => '\r' ? Радость

Хотя, разумеется, чтение по байту - самый экономный к памяти вариант. Но не к процессорному времени - низкоуровневые операции на интерпретируемом языке не есть гут.

Молчу, молчу.
12. Леголегс - 30 Сентября, 2008 - 10:56:17 - перейти к сообщению
Цитата:
А под MacOSом, где '\n' => '\r' ?
Сервант под макосом? Но вообще замечание справедливое, лучше делать так:
CODE:
$file = fopen("файл.txt","rt");
13. Vladimir - 30 Сентября, 2008 - 11:30:34 - перейти к сообщению
Как сделать, чтобы в бау данных в одну строку вбивались из форм сразу четыре переменных?
Я пользуюсь этим скриптом для выведения инфы из базы:
CODE:
<?
$content="";
$topage=1;//количество записей на страницу
$page=$_GET['f'];
if(!$page){$page=0;}
$from=$page*$topage;
$to=$from+$topage;
$posts=file("file.txt");
$kolvo=count($posts);

for($i=$from; $i<$to; $i++){
if($posts[$i]){
$content.= $posts[$i]."";
}
}
$pages=ceil($kolvo/$topage);

for ($i=0; $i<$pages; $i++){
if ($i!=$page)
$content.= "";

}
?>
14. Леголегс - 30 Сентября, 2008 - 11:49:18 - перейти к сообщению
Можно записывать по 4 переменных в 4ре строки. Другой вариант (так сделан exbb) - использовать массив и serialize() его при записи и unserialize() при чтении.
Но прежде чем ты стал писать дальше, подумай, какого размера будет твоя база данных и как часто к ней будут обращаться. За ежесекундные чтения в память многомегабайтного файла хостер по голове не погладит (проверено здесь). Но на домашней страничке пару сот килобайт в принципе можно.
15. Vladimir - 30 Сентября, 2008 - 12:57:02 - перейти к сообщению
Представляю, что будет.
А если mysql как-нибудь сделать?
16. Vladimir - 30 Сентября, 2008 - 14:05:58 - перейти к сообщению
Как это
CODE:
$words = array("мама", "мыла", "раму");
foreach ($words as $word)
if (strpos($_POST['text'], $word)===FALSE)
{
header("location: error.htm");
exit();
}
с этим
CODE:

if (isSet($_POST['text']))
{
$file = fopen('file.txt', 'a');
fwrite($file, "$_POST[text]\n");
fclose($file);
}
объединить?
Запутался.
17. Леголегс - 30 Сентября, 2008 - 14:20:56 - перейти к сообщению
Первое прямо перед вторым
18. Furax - 01 Октября, 2008 - 00:00:10 - перейти к сообщению
Vladimir
Создаёшь таблицу базы данных с необходимым числом переменных. Для четырёх (var1, var2, var3, var4) это будет выглядеть как-то так:
CODE:
CREATE TABLE `tablename` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`date` TIMESTAMP NOT NULL ,
`var1` TEXT NOT NULL ,
`var2` TEXT NOT NULL ,
`var3` TEXT NOT NULL ,
`var4` TEXT NOT NULL ,
PRIMARY KEY ( `id` )
);
И дальше вбиваешь в неё свои данные:
CODE:
if (isSet($_POST['var1']) && isSet($_POST['var2']) && isSet($_POST['var3']) && isSet($_POST['var4']))
{
$var1 = addslashes($_POST['var1']);
$var2 = addslashes($_POST['var2']);
$var3 = addslashes($_POST['var3']);
$var4 = addslashes($_POST['var4']);

mysql_connect('server', 'user', 'password');
mysql_select_db('database');

mysql_query("INSERT INTO `tablename` (`id`, `date`, `var1`, `var2`, `var3`, `var4`) VALUES (NULL, NOW(), '$var1', '$var2', '$var3', '$var4')");
}
19. Vladimir - 01 Октября, 2008 - 13:10:46 - перейти к сообщению
Леголегс пишет:
Первое прямо перед вторым

CODE:
$words = array("мама", "мыла", "раму");
foreach ($words as $word)
if (strpos($_POST['text'], $word)===FALSE)
{
header("location: error.htm");
exit();
}


if (isSet($_POST['text']))
{
$file = fopen('file.txt', 'a');
fwrite($file, "$_POST[text]\n");
fclose($file);
}
Работает, когда присутствуют все три слова при вводе. А мне нужно, чтобы при присутствии ХОТЯ БЫ ОДНОГО из слов, происходило добавление.

Можно ли ("мама", "мыла", "раму"Подмигивание; вывести в отдельный файл, который потом инклудить?
20. Furax - 02 Октября, 2008 - 00:53:06 - перейти к сообщению
CODE:
$words = array("мама", "мыла", "раму");
$good = false;

foreach ($words as $word)
if (strpos($_POST['text'], $word)!==FALSE)
{
$good=true;
break;
}
if (!$good)
{
header("location: error.htm");
exit();
}

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.043]     [ Gzipped ]