RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 505
от 02.11.2006, 09:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 384, Экспертов: 50
В номере:Вопросов: 6, Ответов: 10


Вопрос № 60266: Приветствую , уважаемые эксперты. При публикации сайта в сети столкнулся со следующей проблемой: Не выполнется один из запросов к базе mysl. На отладочной машине (Дэнвер) все работает прекрасно, ошибок запроса не показывает. Результа...
Вопрос № 60308: На сервере установлен php 4 с библиотекой gd2. Вопрос - мне нужно написать скрипт, который будет уменьшать изображение, если его ширина и высота будут больше 320x240 однако если оно такое или меньше, то РАСТЯГИВАТЬ его НЕ НУЖНО. Как это можно реализо...
Вопрос № 60330: Здравствуйте. пытаюсь использовать кэширование страниц для cms на php. например есть страница php: <?php echo "<h1>заголовок</h1>"; ?> т.е. вывод сразу осуществляется в браузер без предвар...
Вопрос № 60365: Еще раз здаствуйте. спасибо за верный ответ, уже проверил: ob_start(); $out_page=ob_get_contents(); ob_end_flush();//Отправка пользователю $fp=fopen($tmp_name,"w"); fwrite($fp,$out_page); fclose($fp);<...
Вопрос № 60367: Сделал скрипт для авторизации на сайте. Возникает вот такая проблема. К примере имеем в бд таблицу users, в которой есть три записи пример: [id] [login] [password] 1 vova 1259 2 lena fdr125 3 olga hd6ooi пользовате...
Вопрос № 60431: Добрый день, уважаемые Эксперты! Возникла такая проблема: Имеется текстовая форма, в которой человек пишет некоторый текст. После нажатия на Сабмит, текст заносится в БД. Мне нужно сделать так, чтобы текст заносился в БД отформатированным п...

Вопрос № 60.266
Приветствую , уважаемые эксперты.

При публикации сайта в сети столкнулся со следующей проблемой:
Не выполнется один из запросов к базе mysl. На отладочной машине (Дэнвер) все работает прекрасно, ошибок запроса не показывает.
Результат просто отсутствует, либо возможно достигается не тот, что на локальной машине :))

Куда копать?

Приложение:

Отправлен: 26.10.2006, 18:11
Вопрос задал: Сахно Денис (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: PVS
Здравствуйте, Сахно Денис!
Выведите для отладки mysql_num_rows($result) и будете знать что происходит. Если результат пустой - проверьте что попадает в $_GET["target_id"]
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 26.10.2006, 18:21

Отвечает: Игорь Елизаров
Здравствуйте, Сахно Денис!
вариантов может быть несколько.
1. коннект к базе и таблице.
проверьте правильность коннекта к базе.

2 предположим, что с коннектом все нормально.
тогда запускаем запрос в PHPMyAdmin с каким-нибудь известным значением $target_id

Если все прошло нормально, то надо смотреть, как получается $target_id, может быть нюанс в справочнике разделов

Если не получилось, надо проверить содержимое таблиц.

здесь опять можно идти по шагам.
-для заданного значение проверить, что есть инфа в таблице articles
- проверить, что заполнено поле art_cat
- проверить, что в таблице categories что-то есть по этому коду
Да, и еще.. посмотрите пожалуйста индексы. Если вы восстанавливали таблицы из скрипта, то индексы могли грохнуться.

ну и еще может быть одно..
Обрабатываются ли у Вас пустые значения полей, то есть что происходит, если поле не заполнено ?
Настройки денвера и сервера в этом случае могут отличаться.
Желательно постараться сделать так, чтобы полей <NULL> было поменьше или не было вообще.

С уважением, Игорь
Ответ отправил: Игорь Елизаров (статус: 7-ой класс)
Ответ отправлен: 26.10.2006, 18:32


Вопрос № 60.308
На сервере установлен php 4 с библиотекой gd2. Вопрос - мне нужно написать скрипт, который будет уменьшать изображение, если его ширина и высота будут больше 320x240 однако если оно такое или меньше, то РАСТЯГИВАТЬ его НЕ НУЖНО. Как это можно реализовать?
Отправлен: 26.10.2006, 23:49
Вопрос задал: Pinkbyte (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Pinkbyte!
Вот пример, который "втискивает" картинку в прямоугольник 320х240 или отдает как есть если картинка меньше:

function resize_img($inputFilename){

$imagedata = getimagesize($inputFilename);
$w = $imagedata[0];
$h = $imagedata[1];

if ($h > $w) {
$new_w = (240 / $h) * $w;
$new_h = 240;
} else {
$new_h = (320 / $w) * $h;
$new_w = 320;
}

$im2 = ImageCreateTrueColor(320, 240);
$col=ImageColorAllocate($im2,255,255,255);
ImageFill($im2,5,5,$col);

$openSuccess=1;
if($imagedata[2]==1){
$image = ImageCreateFromGIF($inputFilename);
}else if($imagedata[2]==2){
$image = ImageCreateFromJpeg($inputFilename);
}else if($imagedata[2]==3){
$image = ImageCreateFromPNG($inputFilename);
}else{$openSuccess=0;};
if(!$image){$openSuccess=0;};

if($openSuccess){
if(($w>320)||($h>240)){
imagecopyResampled ($im2, $image, (320-$new_w)/2,(240-$new_h)/2, 0, 0, $new_w, $new_h, $imagedata[0], $imagedata[1]);
return $im2;}else{
return $image;
};
}else{
RETURN_FALSE;
};
}
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 27.10.2006, 09:53
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо. Не могли бы вы подсказать, как(substr или regexp) выдрать имя картинки из тега вида . НИЧЕГО другого в теге img НЕ БУДЕТ


Вопрос № 60.330
Здравствуйте.
пытаюсь использовать кэширование страниц для cms на php.
например есть страница php:

<?php
echo "<h1>заголовок</h1>";
?>

т.е. вывод сразу осуществляется в браузер без предварительного сохранения в какую либо переменную.

как мне перехваатить этот поток и сохранить в tmp файл
cashe(filename); ?
Отправлен: 27.10.2006, 07:12
Вопрос задал: Оськин Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Оськин Дмитрий Владимирович!
ob_start();
......собственно код......
$out_page=ob_get_contents();
ob_end_flush();//Отправка пользователю
$fp=fopen($tmp_name,"w");
fwrite($fp,$out_page);
fclose($fp);
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 27.10.2006, 09:35


Вопрос № 60.365
Еще раз здаствуйте.
спасибо за верный ответ, уже проверил:

ob_start();

$out_page=ob_get_contents();
ob_end_flush();//Отправка пользователю
$fp=fopen($tmp_name,"w");
fwrite($fp,$out_page);
fclose($fp);

Еще вопрос как организовать сжатие и отправку браузеру если можно код
Отправлен: 27.10.2006, 13:44
Вопрос задал: Оськин Дмитрий Владимирович (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Оськин Дмитрий Владимирович!
вместо ob_end_flush ставите ob_end_clean, а в конце:
echo gzcomperss($out_page);

P.S.Возможно надо будет послать заголовок, сообщить бровзеру что данные сжаты
header("Content-encoding: gz"); или что-то похожее
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 27.10.2006, 13:54

Отвечает: HookEst
Здравствуйте, Оськин Дмитрий Владимирович!
В PHP 4 >= 4.0.4,PHP 5 можно писать ob_start("ob_gzhandler");
ob_gzhandler -- ob_start callback функция to gzip output buffer
эта функция вызывается при вызове ob_end_flash() или по завершении скрипта, проверяет какой тип сжатия поддерживает браузер ("gzip","deflate"), и возвращает соответственно-кодированные данные, собственно эти данные и посылаются браузеру.
Ответ отправил: HookEst (статус: 6-ой класс)
Ответ отправлен: 27.10.2006, 14:51


Вопрос № 60.367
Сделал скрипт для авторизации на сайте. Возникает вот такая проблема.

К примере имеем в бд таблицу users, в которой есть три записи
пример:
[id] [login] [password]
1 vova 1259
2 lena fdr125
3 olga hd6ooi
пользователь вводит данные через форму, и передаёт переменные
$lg и $pass
далее скрипт делает выборку данных из БД и их сравнение. Всё бы хорошо,
но почему то когда выберается запись 1 (т.е. vova,1259) то выдаёться ошибка
что такого пользователя нет, когда запись 2 и 3 всё нормально.
Почему?! Может я что-то делаю не правильно?!
Прошу вас помочь мне в решении этой проблемы.
P.S. пример скрипта прилогаю.

Приложение:

Отправлен: 27.10.2006, 14:09
Вопрос задал: Crazy-Fox (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: AllCash
Здравствуйте, Crazy-Fox!
Потому что оператор === проверяет еще являются ли сравниваемые данные одного типа (в данном случае данные разного типа - 1259 это число)
Попробуйте использовать оператор ==
Ответ отправил: AllCash (статус: 2-ой класс)
Ответ отправлен: 27.10.2006, 14:52


Вопрос № 60.431
Добрый день, уважаемые Эксперты!
Возникла такая проблема:
Имеется текстовая форма, в которой человек пишет некоторый текст. После нажатия на Сабмит, текст заносится в БД. Мне нужно сделать так, чтобы текст заносился в БД отформатированным по следующему критерию: если человек сделал перевод на следующую строку Enter'ом, то в этом месте вставить тэг <br>.
Заранее благодарен за ваши ответы!
Отправлен: 28.10.2006, 01:02
Вопрос задал: Гусаров Андрей Андреевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Селев Валерий
Здравствуйте, Гусаров Андрей Андреевич!

Используйте функцию nl2br().
Ответ отправил: Селев Валерий (статус: 2-ой класс)
Ответ отправлен: 28.10.2006, 01:05

Отвечает: Драк Георгий
Здравствуйте, Гусаров Андрей Андреевич!
Всё очень просто. Используй функцию nl2br();
$text = nl2br($text);
Она заменяет все на <br />
---------
Sonic always help you, if he wish...
Ответ отправил: Драк Георгий (статус: 3-ий класс)
Ответ отправлен: 28.10.2006, 08:15
Оценка за ответ: 5

Отвечает: grim
Здравствуйте, Гусаров Андрей Андреевич!
Перед занесением в бд к переменнтой, необходимо применить к ней nl2br.
Пример: $text=nl2br($text).
Ответ отправил: grim (статус: 1-ый класс)
Ответ отправлен: 28.10.2006, 10:30


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное