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

  Все выпуски  

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


Информационный Канал Subscribe.Ru

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

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

Выпуск № 252
от 10.02.2006, 12:06

Администратор:Калашников О.А.
В рассылке:Подписчиков: 228, Экспертов: 37
В номере:Вопросов: 4, Ответов: 12


Вопрос № 34728: Доброго времини суток. Вопрос у меня ламерский на который ответ я сам че-то не нашел. Так вот, мне надо возвращать файл после открытия ссылки. Т.е. кто-то жмет на ссылку типа "...index.php?id=125" а ему открывается вместе со страницей д...
Вопрос № 34734: Здравствуйте уважаемые эксперты! Есть форма, в ней элемент input type="text" name="text" в него помещается строка от пользователя. PHP когда принимает данные с этой страници $_POST["text"] то символы двойных и одинар...
Вопрос № 34744: Здравствуйте уважаемые эксперты! Скажите можно как-то стандартными средствами php изменить кодировку в строке? Конкретно нужно из koir-8->Win(cp1251) Наверняка кто-то сталкивался с подобной проблемой, может примерчик есть?...
Вопрос № 34749: //текущий файл: add.php <?php //... <form action='add.php'> //данные </form> //кнопка Submit //... ?> Можно-ли отправить данные в функцию, которая содерержится в func.php и перегрузить...

Вопрос № 34.728
Доброго времини суток.
Вопрос у меня ламерский на который ответ я сам че-то не нашел. Так вот, мне надо возвращать файл после открытия ссылки. Т.е. кто-то жмет на ссылку типа "...index.php?id=125" а ему открывается вместе со страницей диалог загрузки файла.
Всем заранее спасибо.
Отправлен: 04.02.2006, 16:57
Вопрос задал: Петров Павел Александрович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Дмитрий Иванов
Здравствуйте, Петров Павел Александрович!

Несколько не понятен вопрос, тебе нужно показать страницу и затем закачку файла?
если я правильно понял то тебе нужени не PHP а JavaScript

на странице ты должен вставить следующее.

Приложение:

---------
ставя оценку - подумай, может ты не все описал

Ответ отправил: Дмитрий Иванов (статус: Практикант)
Отправлен: 04.02.2006, 17:16
Оценка за ответ: 4
Комментарий оценки:
Сори за непонятный вопрос. Речь идет именно о реализации на РНР а именно: из SQl-базы на РНР формируется страница, каждая ссылка имеет адрес типа ...index.php?id=125, ...index.php?id=126 и т.д., где id - одно из значений записи SQL-таблийы, в этой записи указан и адрес файла и когда мы переходим по адресу ссылки index.php не только генерирует страницу но и отдает нам файл как будто мы выбрали ссылку типа ".../file.zip". Ядумаю все с этим встречались при закачке чего-либо к себе.
З.Ы. Спасибо за оригинальное решение, раньше не встречал, попробую.

Отвечает: XMF
Здравствуйте, Петров Павел Александрович!
--
Смотри, когда открывается страничка index.php, ей передается параметр id.
Ничто нам не мешает сделать в са-а-амом конце странички след.:
<iframe src="download.php?id=<?=$id;?>" width=0; height=0 frameborder=0 border=0></iframe>
--
А download.php уже будет редиректить на нужный вам файл, с учетом id.
Ответ отправил: XMF (статус: 4-ый класс)
Отправлен: 04.02.2006, 19:00
Оценка за ответ: 3
Комментарий оценки:
А можна поподробнее о download.php

Отвечает: Straight
Здравствуйте, Петров Павел Александрович!
<?php header("location: file.zip"); ?>

Другой вариант (сложнее): вывести Content-Type файла, прочитать содержимое файла и вывести его на стандартный вывод.
Ответ отправил: Straight (статус: 7-ой класс)
Отправлен: 06.02.2006, 10:17
Оценка за ответ: 5
Комментарий оценки:
Спасибо, выручили!


Вопрос № 34.734
Здравствуйте уважаемые эксперты!
Есть форма, в ней элемент input type="text" name="text" в него помещается строка от пользователя. PHP когда принимает данные с этой страници $_POST["text"] то символы двойных и одинарных кавычек становиться экранированным (может еще какие-нибудь символы). Почему это происходит и как этого избежать?
Отправлен: 04.02.2006, 17:53
Вопрос задал: DRS (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Кошелев АВ
Здравствуйте, DRS!

Для начала, что это такое:
http://www.php.net/manual/en/security.magicquotes.php

Далее, как это выключить:
http://www.php.net/manual/en/security.magicquotes.disabling.php

По обоим ссылкам весьма полезно почитать комментарии
Ответ отправил: Кошелев АВ (статус: 2-ой класс)
Отправлен: 04.02.2006, 18:04
Оценка за ответ: 5
Комментарий оценки:
Большое спасибо, очень помогли!

Отвечает: Дмитрий Иванов
Здравствуйте, DRS!

это происходит из-за настроек в PHP.ini , чтобы удалить "экранирование" используйте функцию stripslashes

$_POST[text]=stripslashes($_POST[text])

или измените PHP.ini

magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

---------
ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Отправлен: 04.02.2006, 19:33

Отвечает: Cтепанов Андрей Валерьевич
Здравствуйте, DRS!
Потому что включена опция magic_quotes.
Используйте мою функцию для получения переменных из запроса с экранированием кавычек либо без.

Приложение:

---------
Все мы будем в аду, но я буду с вилами!!

Ответ отправил: Cтепанов Андрей Валерьевич (статус: 3-ий класс)
Отправлен: 04.02.2006, 22:47


Вопрос № 34.744
Здравствуйте уважаемые эксперты!
Скажите можно как-то стандартными средствами php изменить кодировку в строке? Конкретно нужно из koir-8->Win(cp1251)
Наверняка кто-то сталкивался с подобной проблемой, может примерчик есть?
Отправлен: 04.02.2006, 20:37
Вопрос задал: DRS (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: nkravt
Здравствуйте, DRS!
Перевести строку в другую кодировку можно с помощью функции convert_cyr_string(string str, string from, string to)

где кодировки указываются как:

k - koi8-r
w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic

Пример:
$str="Строка"; //строка в koi8-r
$str_new=convert_cyr_string($str,k,w); //строка в win(cp1251)
Ответ отправила: nkravt (статус: 2-ой класс)
Отправлен: 06.02.2006, 03:19
Оценка за ответ: 5

Отвечает: Schmak
Здравствуйте, DRS!
Есть функция convert_cyr_string.
$str=convert_cyr_string('Строка для перекодировки', from, to);
Вместо from и to надо указать обозначения кодировок (одна буква без кавычек).
Обозначения:
k = koi8-r
w = win-1251
i = iso8859-5
a = x-cp866
d = x-cp866
m = x-mac-cyrillic

---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 06.02.2006, 18:07
Оценка за ответ: 5


Вопрос № 34.749
//текущий файл: add.php

<?php
//...
<form action='add.php'>
//данные
</form>
//кнопка Submit
//...
?>

Можно-ли отправить данные в функцию, которая содерержится в func.php и перегрузить страницу, т.е. чтобы выполнить функцию без перехода в другие окна и без открытия доп-х окон???

Приложение:

Отправлен: 04.02.2006, 22:33
Вопрос задал: Колбин Юрий Владимирович (статус: Студент)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: Дмитрий Иванов
Здравствуйте, Колбин Юрий Владимирович!

вариант 1.
открываем в popup окне и тут же его закрываем

вариант 2.
создаем iframe с формой и работаем с ним, для клиента перегрузка практически не заметна

вариант 3.
создаем невидимый iframe и ему передаем результаты. для клиента процесс заметен только по полосе status внизу броузера,
---------
ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Отправлен: 04.02.2006, 23:10
Оценка за ответ: 5
Комментарий оценки:
огромное спасибо за подсказку
2-й и 3-й варианты подходят.
Что за iframe?
Где-то я его уже встречал.

Синтаксис iframe'ма усть в мануалах ???
Это скрипт php или html ???

kolbinyur@mail.ru

Отвечает: RedDevil
Здравствуйте, Колбин Юрий Владимирович!
В вашему файлу подключается include "func.php", и при загрузке страницы надо просто проверять isset(<exp>) переменные, которые вы хотите передать, если они установлены, то запустить какую-тор функцию.

Приложение:

Ответ отправил: RedDevil (статус: 5-ый класс)
Отправлен: 05.02.2006, 10:55
Оценка за ответ: 5
Комментарий оценки:
огромное спасибо, попробую...


Отвечает: Schmak
Здравствуйте, Колбин Юрий Владимирович!
Конечно, можно, надо только в параметре action формы указать тот же файл (например, add.php) и сделать в файле проверку, заданы ли переменные.
---------
Не всё то Windows, что висит!
Ответ отправил: Schmak (статус: Практикант)
Отправлен: 06.02.2006, 18:07

Отвечает: -dmitry-
Здравствуйте, Колбин Юрий Владимирович!
Немного запутаный вопрос.
Подключи свой файл с ф-циями к файлу add.php в самомо начале кода.
При перезагрузке страницы делай проверку на переменные - ф-ция ISSET:
if(isset($variable))
{
myFunction($variable);
}
Это в общих чертах. Т.е. если переменная при перегрузке формы существует, идет выполнение твоей ф-ции.
Ответ отправил: -dmitry- (статус: 1-ый класс)
Отправлен: 07.02.2006, 14:05


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.14 (бета) от 09.02.2006
Яндекс Rambler's Top100

Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Архив рассылки
Отписаться Вебом Почтой
Вспомнить пароль

В избранное