PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 13
Dima00782 Отправлено: 06 Августа, 2010 - 06:25:55 • Тема: Помогите исправить • Форум: Программирование на PHP

Ответов: 3
Просмотров: 263
Перепишите:
PHP:
скопировать код в буфер обмена
  1. if (isset($d)) {
  2. $Link = mysql_connect ($Host, $User, $Password);
  3. $Query = "SELECT * from $TableName WHERE id=\"$d\"";
  4. $Result = @mysql_db_query ($DBName, $Query, $Link);
  5. while ($Row = mysql_fetch_array($Result)) {
  6. print ("$Row[text]<BR>\n");
  7. print ("$Row[id]<BR>\n");
  8. }
  9. mysql_close($Link);
  10. }
Dima00782 Отправлено: 03 Августа, 2010 - 17:41:21 • Тема: Преобразование значений в массиве • Форум: Напишите за меня, пожалуйста

Ответов: 7
Просмотров: 113
Я подразумеваю что названия array_user и array_country - многомерный массив пользовательских данных и массив стран соответственно.
PHP:
скопировать код в буфер обмена
  1.  
  2. for($i=0,$b=sizeof($array_user); $i <= $b ; $i++) {
  3. $array_user[$i]['country'] = $array_country[$array_user[$i]['country']]
  4. }
  5.  

Писал на сонную голову... Ниндзя
Dima00782 Отправлено: 24 Июля, 2010 - 07:49:55 • Тема: Подскажите что использовать??? • Форум: Программирование на PHP

Ответов: 3
Просмотров: 246
Uchkuma пишет:
Советую то, что сам использую. mysql4.php

Сами писали?
Dima00782 Отправлено: 23 Июля, 2010 - 15:42:57 • Тема: Подскажите что использовать??? • Форум: Программирование на PHP

Ответов: 3
Просмотров: 246
Вот решил перейти от просns[ функций в PHP на какую нибудь библиотеку PHP для работы преимущественно с бд MySQL. Посоветуйте, кто какую применяет и что лучше использовать. Для меня главное чтобы только были placeholder заполнители и всё.
Dima00782 Отправлено: 22 Июля, 2010 - 16:56:44 • Тема: Помогите сделать в долгу не останусь • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 1343
Цитата:
Вообще-то такое целесообразнее было бы делать на флэш.
И я тоже так думаю Хорошо
duk На момент написания этот заголовок был актуален, теперь уже нет.
Dima00782 Отправлено: 22 Июля, 2010 - 10:08:42 • Тема: Помогите сделать в долгу не останусь • Форум: JavaScript & VBScript

Ответов: 4
Просмотров: 1343
Описание


В рабочей области браузера выделено поле, "песочница", в которой пользователь может манипулировать различными объектами. Количество различных типов объектов ограничено и определено заранее. Визуально каждый объект представляет собой статическое изображение, при этом каждому типу объекта соответствует свое заранее определенное изображение.

Внутри "песочницы" пользователь может перемещать находящиеся там объекты при помощи мыши. Для этого необходимо кликнуть указателем на объект и, удерживая кнопку мыши нажатой, перетащить объект в желаемую область.

Пользователь может добавить новый объект в "песочницу" выбрав его из списка доступных объектов, размещенного рядом. Добавление производится путем "втаскивания" необходимого объекта из списка в рабочее поле "песочницы". Максимальное количество размещаемых объектов не ограничено.

Пользователь может удалить любой из объектов из "песочницы". Удаление производится путем "вытягивания" объекта за пределы рабочего поля.

Состояние "песочницы" сохраняется на сервере. По желанию, пользователь может в любой момент прекратить работу с приложением перейдя на другую страницу или закрыв браузер. При этом, при повторном обращении к "песочнице" должно быть восстановлено ее точное состояние на предшествующий момент времени.

Система должна быть реализована как мультипользовательское приложение, т.е. каждый пользователь должен иметь возможность работать со своей "песочницей" независимо от других пользователей.


Требования


Реализации описанного web-приложения должна быть выполнена с учетом следующих требований:

серверная часть приложения должна быть реализована на языке PHP версии 5.x и выше;
необходимо хранить данные о типах доступных объектов и состоянии "песочницы" в БД MySQL версии 5.x и выше;
клиентская часть должна быть совместима с браузерами IE 7+, Firefox 2+, Opera 8+, Safari 3+, Chrome;
клиентская часть должна быть реализована при помощи JavaScript без использования дополнительных программных компонентов и плагинов;
не допускается использование сторонних JavaScript библиотек;
сохранение состояния "песочницы" должно производится при помощи AJAX без перезагрузки страницы.



Вот предложили сделать тестовый для меня проект. Знаю что работы мне уже не видать, но всё же как это реализовать точнее ту часть с которой работает клиент. AJAX знаю, так что мне нужно только помочь с drug and drop на JS. Всю серверную часть могу написать сам. Помогите.

Вот начал чуть-чуть:
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Песочница</title>
  6. <link href="css/style.css" rel="stylesheet" type="text/css" />
  7. </head>
  8.  
  9. <body>
  10. <div id="sandbox">
  11.  
  12. </div>
  13. </body>
  14. </html>
  15.  

CODE (htmlphp):
скопировать код в буфер обмена
  1. @charset "utf-8";
  2. /* CSS Document */
  3. #sandbox { margin:100px auto; width:400px; height:400px; border:2px solid #C60; background-color:#FC0; position:relative; cursor:pointer;}
  4. #sandbox img { width:30px; height:30px; position:absolute;}


соответственно HTML и CSS.
Dima00782 Отправлено: 21 Июля, 2010 - 16:21:38 • Тема: Написание админки • Форум: Напишите за меня, пожалуйста

Ответов: 11
Просмотров: 102
Конечно, на скрипте вообще защита(проверки) не стоит.
Но я думаю, что ip и useragent можно и так передать, потому что по другому-то как? Есть два варианта(которые я знаю) кроме этого:
использовать Session или Cookie(это типа как за один вариант)
и использовать JavaScript и обьект XMLHttpRequest и передавать значения(можно сразу все) сразу в файл обработчик. Но это уже AJAX получается Радость и доп. код.
Dima00782 Отправлено: 21 Июля, 2010 - 04:43:10 • Тема: Вывод книги из базы mysql, постранично • Форум: Напишите за меня, пожалуйста

Ответов: 5
Просмотров: 93
Если выложите структуру базы данных mysql(это можно сделать в PHPMyAdmin), то постораюсь написать коды страниц. А то неизвестно что вообще за книга "лежит" в БД.
Dima00782 Отправлено: 20 Июля, 2010 - 15:21:05 • Тема: Написание админки • Форум: Напишите за меня, пожалуйста

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

P.s. честно говоря это не единственное место где можно кое-что учлучшить или добавить. Ниндзя
Dima00782 Отправлено: 20 Июля, 2010 - 15:10:25 • Тема: Написание админки • Форум: Напишите за меня, пожалуйста

Ответов: 11
Просмотров: 102
Что, работает??? Радость
Dima00782 Отправлено: 20 Июля, 2010 - 14:06:45 • Тема: Написание админки • Форум: Напишите за меня, пожалуйста

Ответов: 11
Просмотров: 102
Здравствуйте MaxFpsc. Вот код:
(файл user.php)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once 'Commenting.Class.php';
  4. $obj = new Commenting();
  5.  
  6. $obj->show();
  7.  
  8. unset($obj);
  9. ?>
  10.  

Он выводит комментарии циклом(для пользователей).


Вот этот код (предпологается что будет использоваться в админке):
(файл admin.php)
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. require_once 'Commenting.Class.php';
  4. require_once 'Admin.class.php';
  5. $obj = new Admin;
  6.  
  7. if (isset($_POST['submit'])) $obj->add($_POST['name'],$_POST['mail'],$_POST['text'],$_POST['ip'],$_POST['useragent']);
  8. if (isset($_POST['edit'])) $obj->edit($_POST['commenting_id'],$_POST['name'],$_POST['mail'],$_POST['text'],$_POST['ip'],$_POST['useragent'],$_POST['date']);
  9. $obj->show(true);
  10.  
  11. unset($obj);
  12. ?>
  13.  

Выводит список (или что-то похожее, думаю дизайн не важен) комментариев. У них можно изменять всё. Если хотите посмотреть в "нормальном виде", то просто в вышеприведённом коде строку $obj->show(true); перепишите так $obj->show(); и всё.

Так же есть еще некоторые привилегии админки:
Если в скрипте напишите $obj->add(Семь параметров (имя,емаил...)); то в файл добавиться еще один комментарий.
$obj->drop(порядковый номер комментария); соответственно удаляет комментарий из файла.
Ну и еще $obj->edit(порядковый номер комментария, Семь параметров); - добавляет к файлу комментарий.

Пояснительных echo не делал, так что не удивляйтесь что если нету файла или в файле нет комментариев то скрипт не будет писать что-то типа "комментарии отсутствуют" он просто ничего не делает в таких ситуациях.

Я добавлял комментарии вот так(если что):
PHP:
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Добавление комментария</title>
  7. </head>
  8.  
  9. <body>
  10. <form method="POST" name="form1" action="admin.php">
  11. <table>
  12.   <tr>
  13.     <td><input type="text" name="name" /></td>
  14.   </tr>
  15.   <tr>
  16.     <td><input type="text" name="mail" /></td>
  17.   </tr>
  18.   <tr>
  19.     <td><textarea name="text" cols="15" rows="10" ></textarea></td>
  20.   </tr>
  21.   <tr>
  22.     <td><input name="submit" type="submit" value="Добавить" /></td>
  23.   </tr>
  24. </table>
  25. <input type="hidden" name="ip" value="<?=$_SERVER['REMOTE_ADDR']?>" />
  26. <input type="hidden" name="useragent" value="<?=$_SERVER['HTTP_USER_AGENT']?>" />
  27. </form>
  28. </body>
  29. </html>
  30.  


Вот код класса для (файл Commenting.Class.php) для вывода комментариев пользователю:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Commenting {
  4.     protected $i;
  5.     protected $cache = array();
  6.    
  7.     public function __construct($filename='comments.dat') {
  8.         $this->cache = unserialize(file_get_contents($filename));
  9.     }
  10.    
  11.     public function show() {
  12.         for ($this->i = 0; isset($this->cache[$this->i]); $this->i++) {
  13.             echo '<b><a href="mailto:'.$this->cache[$this->i]['mail'].'">'.$this->cache[$this->i]['name'].'</a></b><small>('.$this->cache[$this->i]['date'].')</small><br/>'.$this->cache[$this->i]['text'].'<br/><br/>';
  14.             }
  15.     }
  16. }
  17. ?>
  18.  


А вот дополнительный класс ( файл Admin.class.php) для расширения возможностей, для админа:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. class Admin extends Commenting {
  4.    
  5.     private $copy = array();
  6.     private $fp;
  7.    
  8.     public function __construct() {
  9.         $this->fp = fopen('comments.dat', 'a');
  10.         parent::__construct();
  11.     }
  12.    
  13.     public function show($mod_edit = false) {
  14.         if ($mod_edit == false) {
  15.             for ($this->i = 0; isset($this->cache[$this->i]); $this->i++) {
  16.                 echo '<b><a href="mailto:'.$this->cache[$this->i]['mail'].'">'.$this->cache[$this->i]['name'].'</a></b><small>('.$this->cache[$this->i]['date'].')</small><br/>'.$this->cache[$this->i]['text'].'<br/><br/>';
  17.             }
  18.         }
  19.         else {
  20.             for ($this->i = 0; isset($this->cache[$this->i]); $this->i++) {
  21.                 echo '<form name="form'.$this->i.'" method="POST" action="admin.php">
  22.                                 <table width="400" align="center">
  23.                                 <tr>
  24.                                 <td width="230"><input type="text" name="name" value="'.$this->cache[$this->i]['name'].'" /></td>
  25.                                 </tr>
  26.                                 <tr>
  27.                                 <td><input type="text" name="mail" value="'.$this->cache[$this->i]['mail'].'" /></td>
  28.                                 </tr>
  29.                                 <tr>
  30.                                 <td><input type="text" name="ip" value="'.$this->cache[$this->i]['ip'].'" /></td>
  31.                                 </tr>
  32.                                 <tr><td><input type="text" name="date" value="'.$this->cache[$this->i]['date'].'" /></td>
  33.                                 </tr>
  34.                                 <tr>
  35.                                 <td><textarea name="text" cols="15" rows="10" >'.$this->cache[$this->i]['text'].'</textarea></td>
  36.                                 </tr>
  37.                                 <tr>
  38.                                 <td><input name="edit" type="submit" value="Изменить"></td>
  39.                                 </tr>
  40.                                 </table>
  41.                <input type="hidden" name="commenting_id" value="'.$this->i.'" />
  42.                                 </form>';
  43.             }
  44.         }
  45.     }
  46.    
  47.     public function drop($id) {
  48.         unset($this->cache[$id]);
  49.     }
  50.    
  51.     public function edit($id,$name,$mail,$text,$ip,$useragent,$date) {
  52.         $this->copy = $this->cache;
  53.        
  54.         $this->copy[$id] = array('name' => $name, 'mail' => $mail, 'text' => $text, 'ip' => $ip, 'useragent' => $useragent, 'date' => $date);
  55.        
  56.         if ($this->copy[$id]['name'] != $this->cache[$id]['name']) {
  57.             $this->cache[$id]['name'] = $this->copy[$id]['name'];
  58.         }
  59.         if ($this->copy[$id]['mail'] != $this->cache[$id]['mail']) {
  60.             $this->cache[$id]['mail'] = $this->copy[$id]['mail'];
  61.                 }
  62.                 if ($this->copy[$id]['text'] != $this->cache[$id]['text']) {
  63.                   $this->cache[$id]['text'] = $this->copy[$id]['text'];
  64.                 }
  65.                 if ($this->copy[$id]['ip'] != $this->cache[$id]['ip']) {
  66.                   $this->cache[$id]['ip'] = $this->copy[$id]['ip'];
  67.                 }
  68.                 if ($this->copy[$id]['useragent'] != $this->cache[$id]['useragent']) {
  69.                   $this->cache[$id]['useragent'] = $this->copy[$id]['useragent'];
  70.                 }
  71.                 if ($this->copy[$id]['date'] != $this->cache[$id]['date']) {
  72.                   $this->cache[$id]['date'] = $this->copy[$id]['date'];
  73.                 }
  74.     }
  75.    
  76.     public function add($name,$mail,$text,$ip,$useragent) {
  77.         if (isset($name,$mail,$text,$ip,$useragent)) {
  78.             $this->cache[] = array('name' => $name, 'mail' => $mail, 'text' => $text, 'ip' => $ip, 'useragent' => $useragent, 'date' => date('d.m.Y в G:i'));
  79.                 }
  80.         else return;
  81.     }
  82.    
  83.     public function delete() {
  84.         ftruncate($this->fp, 0);
  85.     }
  86.    
  87.     public function __destruct() {
  88.         $this->delete();
  89.         if ($this->cache != '') sort($this->cache);
  90.         $this->cache = serialize($this->cache);
  91.         file_put_contents('comments.dat', $this->cache);
  92.     }
  93. }
  94. ?>
  95.  


Сражу скажу скрипт не идеален, но работает.


P.s. Скрипт писал только учась и пробуя свои силы, так что если что жду конструктивной критики. Ниндзя
Dima00782 Отправлено: 15 Июля, 2010 - 07:14:58 • Тема: Eclipse for PHP Gelios • Форум: Программирование на PHP

Ответов: 1
Просмотров: 202
Всё спасибо, вопрос решил.
Dima00782 Отправлено: 10 Июля, 2010 - 12:04:59 • Тема: Eclipse for PHP Gelios • Форум: Программирование на PHP

Ответов: 1
Просмотров: 202
Здравствуйте Всем.

Знаю вопрос лишь косвенно касается программирования на PHP, но пожайлуста помогите(пишу уже не на одном форуме).

Проблема такая:
Искал "хорошую" IDE для PHP для отладки, подсветки и прочих удобностей. Выбор пал на Eclipse Gelios (странно, но на Zend Studio очень похож).
Так вот начал я писать и обнаружил вот такую неприятную вешь. Встроенные функции в php(типа mysql_real_escape_string, array_values и др.) не подсвечиваются.
Раньше работал в Dreamviawer и уже привык к этому.

Я так пытался решитьэту проблему:
Полез в настройки(PHP->Edition->Syntax Coloring) там есть такое окошко(Sample text) в нём введён PHP код и если по нему щёлкнуть мышью в верхнем списке автоматически выбирается тип того что выбрал мышью. Так вот в этом примерном коде тоже есть функцию относящаяся к встроенным в php(func_num_args) пир её выделении она относится к типу "Normal" так же как и простой текст.

Помогите пожайлуста пусть встроенные функции засветятся.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB