IPB

Здравствуйте, гость ( Вход | Регистрация )


Youtube Vkontakte Mail Google KubaLibre Shareman Down-House

Скрыть объявления

Объявления

А у нас появился женский раздел^^ Приглашаем всех к себе в гостиsmile3.gif
С уважением, Ваши девушки flirt.gif

Основные Провайдеры и поставщики Телекоммуникационных услуг г. Казань
Обсуждаем, делимся опытом, решаем текущие вопросы с представителями операторов связи

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> 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  


Цитата(Борис Казимиров @ 6.5.2007, 12:01) *
Когда поступает 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  


Цитата(sergei @ 29.5.2007, 15:07) *


избегайте "индийский" код!

На башорге нашёл про индийский код.

<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  


Цитата(UnFlOb @ 29.5.2007, 11:21) *

$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  


Цитата(NAIL @ 8.7.2007, 17:54) *

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

Первый и главный вопрос: разрешено ли на твоём хостинге удалённое открытие файлов функцией fopen (и любой другой работающей с файлами)? Если нет, то у тебя ничего не выйдет. Многие хостинги запрещают удалённый метод работы с файлами в связи безопасности.


--------------------
Профессиональный хостинг SpaceWeb
[icq]: d230a05b042a8747c16d574d6dabf35b
[salt]: %#*@
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Борис Казимиров
сообщение 15.7.2007, 8:31
Сообщение #35


Домовёнок
**

Группа: Домовые
Сообщений: 34
Регистрация: 25.4.2007

Пол: Мужской


Репутация:   0  


Цитата(NAIL @ 8.7.2007, 17:54) *

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

В самом простом случае будет выглядеть так. Нужна форма:

Код
<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  


Цитата(Борис Казимиров @ 15.7.2007, 9:31) *

В самом простом случае будет выглядеть так. Нужна форма:

Код
<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");
?>


Этот метод не подойдёт, так как он сначала закачает файл на компьютер и только потом на сайт или куда там ещё... А суть вопроса в том чтобы перекачать файл с одного сервера на другой, минуя компьютер. Это можно сделать с помощью пхп, если разрешено настройками сервера.


--------------------
Профессиональный хостинг SpaceWeb
[icq]: d230a05b042a8747c16d574d6dabf35b
[salt]: %#*@
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
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]

Об оплате договоримся.


--------------------
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 28.4.2024, 16:10