Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проба типа "Hello"
 
 автор: Drank   (05.07.2004 в 20:42)   письмо автору
 
 

Куда нужно поместить страничку, чтобы она открывлась с других компьтеров из интернета? домена у меня нет, но есть постоянный IP. И как сделать, чтобы при нажатии на ссылку на этой страничке генерировалось сообщение ну например со случайно числом, умноженным на минуты компьютера пользователя и умноженным на число, взятым из таблицы, хранящейся на моём компьютере.(в каком формате должна быть таблица). Думаю для опытного программиста это сделать не составит труда, а помощь начинающим налицо.

   
 
 автор: cheops   (05.07.2004 в 22:39)   письмо автору
 
   для: Drank   (05.07.2004 в 20:42)
 

Для того чтобы ваш компьютер был виден другими, в конфигурационном файле Apache следует прописать ваш IP-адрес. Тогда если вы поместите в папку, прописанную в директиве DocumentRoot файлы index.php и rand.php, они будут видны из сети. По ссылке <a href=rand.php>Случаное число в моей интерпретации</a> в файле index.php будет выдаваться то что вы хотите.
Таблицу в базе данных (для определённость base) можно организовать выполнением следующих SQL-операторов:
CREATE TABLE number (num int);
INSERT INTO number VALUES (123);

Здесь 123 является числом, которое размещено в таблице number.
А столь замысловатую комбинацию может выполнить и MySQL (речь ведь идёт о таблице MySQL?) при помощи выполнения следующего кода PHP, который следует располжить в файле rand.php:
<?php
    
// Код файла rand.php
    
$dblocation "localhost";
    
// Имя базы данных
    
$dbname "base";
    
// Имя пользователя... 
    
$dbuser "root";
    
// Пароль     
    
$dbpasswd "";
    
// Соединяемся с сервером базы данных
    
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
    if (!
$dbcnx) {
      echo( 
"<P>В настоящий момент сервер базы данных не доступен, поэтому корректное
                         отображение страницы невозможно.</P>" 
);
      exit();
    }
    
// Выбираем базу данных
    
if (! @mysql_select_db($dbname,$dbcnx) ) {
      echo( 
"<P>В настоящий момент база данных не доступна, поэтому корректное
                         отображение страницы невозможно.</P>" 
);
      exit();
    }
    
// Осуществляем запрос к базе данных
    
$num mysql_query("SELECT num*RAND()*MINUTE(NOW()) FROM number");
    if(!
$num)
    {
       echo 
"Ошибка в выполнении запроса";
       exit();
    }
    
// Извлекаем результат запроса
    
echo mysql_result($num,0);
?> 

   
 
 автор: Варелка   (06.07.2004 в 00:42)   письмо автору
 
   для: Drank   (05.07.2004 в 20:42)
 

При наличии постоянного IP-адреса проблемма решается достаточно просто:
1. Разрешите свободный доступ к той папке на своем компьютере, где собираетесь хранить свои странички и соответствующим образом настраиваем IIS или Apache.
2. Для решения описанной задачи можно применить следующую связку:
2.1 При загрузке страницы на удаленной машине выполняется элемент ActiveX (создать его легко используя Delphi или С++Builder), он перехватывает текущее значение системных часов и вставляет его в скрытое поле на Вашей страничке (с его помощью можно переслать это значение непосредственно на Вашу машину, но такие фокусы проходят далеко не на всех машинах, что связано с настройками системы безопасности).
2.2 По нажатии на кнопку/ссылку пересылаем значение записанное в скрытое поле на Вашу машину.
2.3 На Вашей машине переданное значение обрабатывается cgi или win-cgi скриптом(в чем писать см.п. 2.1), скрипт обрабатывае информацию, "увязывает" ее с базой данных и генирирует страничку с требуемым сообщением; формат таблицы по большому счету не имеет значения.
З.Ы. Можно конечно извращаться устанавливая Apache, PHP или Perl & MySQL, но система станет более сложной и по объективным причинам будет обладать большим временем отклика.

   
 
 автор: Варелка   (06.07.2004 в 00:46)   письмо автору
 
   для: Варелка   (06.07.2004 в 00:42)
 

Да, чуть не забыл, НЕ ЗАБУДЬ НАСТРОИТЬ ФАЙРВОЛ!

   
 
 автор: glsv (Дизайнер)   (06.07.2004 в 01:59)   письмо автору
 
   для: Варелка   (06.07.2004 в 00:42)
 

Ну не знай... Мне, как дизайнеру, изучать такие новые слова, как ActiveX уже сложновато :)

   
 
 автор: Варелка   (06.07.2004 в 04:37)   письмо автору
 
   для: glsv (Дизайнер)   (06.07.2004 в 01:59)
 

Ну или можно написать аплет ; ).
Чел же, как я понял, учится, пробует... Путей много... А за тебя и так все напишут : )))
Вообще описанная схема реализуется приблизительно за 30 мин, теми кто Builder пару раз открывал и хдето про windows API слышал. Ну накинь минут 15-20 на установку среды, в которой собирашся кодить.
Потом, используя ActiveX можно выудить есщо много пользительной информации :)
К тому же повторю плюсы: никакого дополнительного ПО, никаких интерпретаторов, легко организовывать механизм сессий.
Если будет время на работе, могу и сам накрапать.

   
 
 автор: Кузнецов М.В.   (06.07.2004 в 10:03)   письмо автору
 
   для: glsv (Дизайнер)   (06.07.2004 в 01:59)
 

>Мне, как дизайнеру, изучать такие новые слова,
>как ActiveX уже сложновато :)
Ну очень новое слово, т-щ Дизайнер... :)

   
 
 автор: glsv (Дизайнер)   (06.07.2004 в 11:12)   письмо автору
 
   для: Кузнецов М.В.   (06.07.2004 в 10:03)
 

Ага и к тому же страшное :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования