MVC(PHP), ктонить пробовал написать? |
Здравствуйте, гость ( Вход | Регистрация )
Youtube | Vkontakte | KubaLibre | Shareman | Down-House |
MVC(PHP), ктонить пробовал написать? |
sergei |
5.5.2007, 20:50
Сообщение
#21
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Цитата Вроде бы (или меня память подводит) в PHP4 маг. кавычки были ПО УМОЛЧАНИЮ отключены. А в PHP5 по умолчанию включены. Мне кажется как раз наоборот. По крайней мере в php.ini-recommended для PHP5 magic_quotes выключен. А вот здесь можно почитать что нас ждёт в PHP6 http://php6dev.blogspot.com/ в том числе и о судьбе magic_quotes. Впрочем кому как удобно... Конечно отключение этой опции налагает дополнительную ответственность на программиста, с другой стороны в какой - то мере избавляет от танцев с бубном. Ну и думаю писать код, потенциально совместимый с будущими версиями PHP было бы правильно. Цитата P.S. А все таки: если маг. кавычки отключить и пропускать данные через mysql_real_escape_string перед записью в базу, то после извлечения из базы их обратно нужно будет расэкранировать? разумеется нет. |
Борис Казимиров |
6.5.2007, 11:01
Сообщение
#22
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Не могу понять, в чем дело.
Когда поступает id статьи, его можно проверить функцией is_numeric — является ли поступившие данные числом. Если нет — прервать сценарий. Вот так: Код if (isset($_GET['id'])){ $id = $_GET['id']; if (!is_numeric($id)) die('Ошибка.'); } Только вот если ввести запрос /index.php?id=1d0 то скрипт продолжает выполняться и выводит статью соответствующую id=1 Если в значение id ввести любые другие символы (например 1s0) то скрипт (как оно и задумано) прерывается. Почему сочетание символов «1d0» is_numeric воспринимает как число? -------------------- |
Борис Казимиров |
6.5.2007, 11:21
Сообщение
#23
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Этот код
Код <?php if (is_numeric('1d0')) echo "это число"; else echo "это не число"; ?> Выводит результат: это число -------------------- |
Makvit |
6.5.2007, 12:11
Сообщение
#24
|
Где Я?! Группа: Домовые Сообщений: 4 851 Регистрация: 10.10.2006 Живет: в астрале Пол: Домовой Репутация: -121 |
Совсем не знаю php, но могу предположить, что он принимает это как число в hex-записи.
-------------------- Цитата Смайлики http://www.artlebedev.ru/kovodstvo/sections/143/#17... Смайлик отбивается от слова пробелом. Если после смайлика идет знак препинания, он пробелом не отбивается. Точка после смайлика обычно не ставится. Смайлик может быть совмещен с обычной закрывающей скобкой (при условии, что она где-то открылась :-) |
sergei |
6.5.2007, 12:29
Сообщение
#25
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
У меня PHP5 наотрез отказывается воспринимать это как число.
Попробуй вывести Код var_dump(array( '1d0'+0, (int)'1d0', is_int('1d0') )); посмотрим что скажет. HEX должен по крайней мере начинаться с 0x. Хотя вполне вероятно в ранних версиях PHP было как - то по другому. |
clayser |
6.5.2007, 13:21
Сообщение
#26
|
Мастер Домовой Группа: Домовые Сообщений: 745 Регистрация: 5.10.2006 Живет: Моя Светлая Русь Пол: Мужской Репутация: 0 |
Когда поступает id статьи, его можно проверить функцией is_numeric — является ли поступившие данные числом. Если нет — прервать сценарий. Вот так: Хм, а зачем сосбвенно прерывать сценирий? делай просто $num = (int) $num; и далее можешь делать без проблем запрос в базу. Если чел уж совсем что-то не то введ то база вернет 0 рядов, ну а если ввел '10test' то будет 10.Ну а если так охото прервать запрос когда $num не число - делай так: Код $num = (int) $num; if (!$num) { print 'косяк'; exit; } Простая проверка на число: Код if (preg_match ('/[^0-9]/',$num) ) {print 'Не число';} -------------------- 1.28. Использование в подписи, названии тем а также в теле сообщений текста, который оскверняет честь и достоинство Компании.
//Friday13 |
Борис Казимиров |
7.5.2007, 17:00
Сообщение
#27
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
Цитата У меня PHP5 наотрез отказывается воспринимать это как число. Да, косяк случается только на моей локальной машине. Я теперь проверил скрип на своем хостинге (где сервер, естественно, настраивали специалисты, а не я сам как попало) — там эта последовательность не распознается как число. В чем проблема моего локального компа — не знаю. Главное, чтоб на хостинге все нормально работало. Код var_dump(array( '1d0'+0, (int)'1d0', is_int('1d0') )); Этот код проверил на локальном компе. Вот, что сказали: Код array(3) { [0]=> float(1) [1]=> int(1) [2]=> bool(false) } -------------------- |
UnFlOb |
29.5.2007, 10:21
Сообщение
#28
|
Домовой Группа: Домовые Сообщений: 100 Регистрация: 6.10.2006 Пол: Мужской Репутация: 0 |
Кто-нидь раскритикуйте счетчик посещений просто от нефик делать сделанный мной на php и mysql
$dblocation = "127.0.0.1"; //Открываем базу данных $dbname = "site"; $dbuser = ""; $dbpasswd = ""; $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd); //Подсоединяем ее if (!$dbcnx) { echo "<p>К сожалению, не доступен сервер mySQL</p>"; exit(); } if (!@mysql_select_db($dbname,$dbcnx) ) { echo "<p>К сожалению, не доступна база данных</p>"; exit(); } $hostip=getenv("REMOTE_ADDR"); // Определяем АйПи адрес посетителя $res=mysql_query("select * from mcounter where ip_addr='$hostip'"); //Делаем запрос базе данных на поиск АйПи адреса $colnum=mysql_num_rows($res); // Смотрим сколько найдено? if ($colnum<>0) // Если найден то... $res=mysql_query("update mcounter set hits=hits+1 where ip_addr='$hostip'"); //Обновляем счетчик для этого айпи адреса else $res=mysql_query("insert into mcounter (ip_addr,hits) VALUES ('$hostip',0)"); //Если нет то добавляем в базу данных $res=mysql_query("SELECT * FROM mcounter"); //Делаем запрос на количество АйПи адресов в базе данных $numrows=mysql_num_rows($res); // Ответ от базы данных print "<br>"; //Выводим на экран количество АйПи адресов print "<center>"; print $numrows; print "</center>"; mysql_close(); И еще вообще как делаются динамические странички с php и mysql. Я не въехал. Вроде как. Зачем парсют шаблон? Насколько понимаю туда надо подставлять что-то из базы данных а в базе че храниться? -------------------- 10 Я просто или покончу в себя, или наложу себе в руки!
20 Чебурашка,рогатая волосатая! 30 GOTO 10 Бесконечный Loop Forever |
sergei |
29.5.2007, 14:07
Сообщение
#29
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Код mysql_query("SELECT * FROM mcounter"); лучше делать Код mysql_query("SELECT COUNT(*) FROM mcounter"); так работает намного быстрее, потому - что не надо доставать эти записи. Тоже самое и с остальными запросами. Код if ($colnum<>0) заменяется на Код if ($colnum) избегайте "индийский" код! Цитата И еще вообще как делаются динамические странички с php и mysql. Я не въехал. Вроде как. Зачем парсют шаблон? Насколько понимаю туда надо подставлять что-то из базы данных а в базе че храниться? тут в двух словах не объяснишь. читай книги, специализированные ресурсы, вникай сам, а вопросы задавай - конкретные. |
Ap}{@HrE/l |
29.5.2007, 14:43
Сообщение
#30
|
Мастер Домовой Группа: Домовые Сообщений: 868 Регистрация: 12.10.2006 Живет: в Раю Пол: Мужской Репутация: 0 |
избегайте "индийский" код! На башорге нашёл про индийский код. <gram|work> про индийский код <gram|work> Какой самый извращенный способ проверить в условии if () булевскую переменную ? <gram|work> bool b; <gram|work> b = false; <gram|work> if (b == true){...} <gram|work> Это децкий лепет <gram|work> ИТАК, ПЕРВОЕ МЕСТО <gram|work> Знакомый говорит что нашел только что в коде: <gram|work> if (b.ToString().length < 5){...} |
clayser |
30.5.2007, 8:48
Сообщение
#31
|
Мастер Домовой Группа: Домовые Сообщений: 745 Регистрация: 5.10.2006 Живет: Моя Светлая Русь Пол: Мужской Репутация: 0 |
$hostip=getenv("REMOTE_ADDR"); $res=mysql_query("insert into mcounter (ip_addr,hits) VALUES ('$hostip',0)"); //Если нет то добавляем в базу данных $hostip=addslashes (getenv("REMOTE_ADDR") ); // на вс случай или даже лучше $hostip=addslashes ($_SERVER['REMOTE_ADDR']); $res=mysql_query("insert into mcounter (ip_addr,hits) VALUES ('$hostip',1)"); // а то один хит потеряешь -------------------- 1.28. Использование в подписи, названии тем а также в теле сообщений текста, который оскверняет честь и достоинство Компании.
//Friday13 |
sergei |
30.5.2007, 20:31
Сообщение
#32
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Еще можно паковать ip в число. Это должно ускорить выборку по отдельным пользователям + действует как дополнительная проверка ip адреса на валидность.
Код $hostip=ip2long(getenv("REMOTE_ADDR")); if ($hostip) { $res=mysql_query("insert into mcounter (ip_addr,hits) VALUES ('$hostip',1)"); ... } else что - то пошло не так. |
Наиль |
8.7.2007, 16:54
Сообщение
#33
|
█ Благородный █ Группа: Домовые Сообщений: 4 756 Регистрация: 26.11.2006 Живет: KZN Пол: Мужской Репутация: 300 |
кароч парни такая тема, нужен скрипт для закачки файлов с удалённого хоста на сайт или фтп,
т.е надо чтобы я ввёл урл файла и он закачался ко мне на сайт, фтп автоматически -------------------- |
ma3x |
9.7.2007, 8:31
Сообщение
#34
|
Опытный Домовой Группа: Домовые Сообщений: 235 Регистрация: 13.11.2006 Живет: живу =) Пол: Мужской Репутация: 0 |
кароч парни такая тема, нужен скрипт для закачки файлов с удалённого хоста на сайт или фтп, т.е надо чтобы я ввёл урл файла и он закачался ко мне на сайт, фтп автоматически Первый и главный вопрос: разрешено ли на твоём хостинге удалённое открытие файлов функцией fopen (и любой другой работающей с файлами)? Если нет, то у тебя ничего не выйдет. Многие хостинги запрещают удалённый метод работы с файлами в связи безопасности. -------------------- |
Борис Казимиров |
15.7.2007, 8:31
Сообщение
#35
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
кароч парни такая тема, нужен скрипт для закачки файлов с удалённого хоста на сайт или фтп, т.е надо чтобы я ввёл урл файла и он закачался ко мне на сайт, фтп автоматически В самом простом случае будет выглядеть так. Нужна форма: Код <form action="ok.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"><br /> <input type="submit" name="submit" value="Отправить"> </form> Данные передаются скрипту ok.php, а сам переданный файл сохраняется во временной папке. Скрипт ok.php копирует файл в постоянный каталог: Код <?php copy ($_FILES['file']['tmp_name'], "files/image.jpg"); ?> -------------------- |
ma3x |
16.7.2007, 17:08
Сообщение
#36
|
Опытный Домовой Группа: Домовые Сообщений: 235 Регистрация: 13.11.2006 Живет: живу =) Пол: Мужской Репутация: 0 |
В самом простом случае будет выглядеть так. Нужна форма: Код <form action="ok.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"><br /> <input type="submit" name="submit" value="Отправить"> </form> Данные передаются скрипту ok.php, а сам переданный файл сохраняется во временной папке. Скрипт ok.php копирует файл в постоянный каталог: Код <?php copy ($_FILES['file']['tmp_name'], "files/image.jpg"); ?> Этот метод не подойдёт, так как он сначала закачает файл на компьютер и только потом на сайт или куда там ещё... А суть вопроса в том чтобы перекачать файл с одного сервера на другой, минуя компьютер. Это можно сделать с помощью пхп, если разрешено настройками сервера. -------------------- |
sergei |
17.7.2007, 19:23
Сообщение
#37
|
Домовой Группа: Домовые Сообщений: 124 Регистрация: 19.2.2007 Пол: Домовой Репутация: 0 |
Код system('wget http://blablabla &'); первое что в голову пришло. Сам не пробовал, но если хостинг не лажовый, то по идее в cwd должен появиться твой файл. |
Борис Казимиров |
25.7.2007, 14:58
Сообщение
#38
|
Домовёнок Группа: Домовые Сообщений: 34 Регистрация: 25.4.2007 Пол: Мужской Репутация: 0 |
ВНИМАНИЕ! ЕСТЬ РАБОТА ДЛЯ WEB-МАСТЕРОВ!!!
Нужно сделать сайт. Сайт электронной коммерции, чтоб инвесторы заходили туда и перечисляли свои деньги и т.д. Таких сайтов много. Нужно сделать что-то похожее вот на это, только попроще: http://egoldinvest.biz/ http://www.vipinvclub.net/en/index.php Сложный момент здесь заключается в том, что нужно будет сделать систему как-то взаимодействующую с системой E-gold. Плюс к тому нужно будет серьезно подойти к вопросу безопасности — сайт все таки работает с переводом денег. Сам я могу сделать все рутинную работу (дизайн и все такое), а вы займетесь именно этими сложными моментами. Или как договоримся. Рассматриваю любые варианты. Если у вас есть опыт в разработке ИМЕННО ТАКИХ сайтов (E-gold и все такое…), то пишите в форум или мне на почту: [email protected] Об оплате договоримся. -------------------- |
Текстовая версия | Сейчас: 28.4.2024, 16:10 |