Вопрос № 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" а ему открывается вместе со страницей диалог загрузки файла.
Всем заранее спасибо.
Отвечает: Дмитрий Иванов
Здравствуйте, Петров Павел Александрович!
Несколько не понятен вопрос, тебе нужно показать страницу и затем закачку файла?
если я правильно понял то тебе нужени не 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.
Используйте мою функцию для получения переменных из запроса с экранированием кавычек либо без.
Приложение:
--------- Все мы будем в аду, но я буду с вилами!!
Здравствуйте уважаемые эксперты!
Скажите можно как-то стандартными средствами 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
Можно-ли отправить данные в функцию, которая содерержится в func.php и перегрузить страницу, т.е. чтобы выполнить функцию без перехода в другие окна и без открытия доп-х окон???
Отвечает: Дмитрий Иванов
Здравствуйте, Колбин Юрий Владимирович!
вариант 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