forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общее (http://forum.boolean.name/forumdisplay.php?f=139)
-   -   Подскажите инструмент (http://forum.boolean.name/showthread.php?t=19418)

ant0N 18.09.2014 12:44

Подскажите инструмент
 
Сейчас задам наверное самый тупой вопрос во вселенной.... Извинити, но я в этой области никогда не работал.

У меня есть сайт(хотя на самом деле еще нету), На сайте есть кнопочка "оставить заявку", после нажатия присваивается номер заявки...
А на компе должна быть программа которая принимает эти заявки (вот на чем проще сделать эту программу???). Я надеюсь что есть какие-либо готовые инструменты, где не надо знаний mysql всяких..

В общем мне нужно сделать что-то похожее на электронную очередь..

Желательные языки программирования: js, lua, python, blitzbasik :-D

DStalk 18.09.2014 12:51

Ответ: Подскажите инструмент
 
Лучше всего прям на сайте это и сделать, будет возможен доступ из любого места, удобнее, естественно php+mysql. Как вариант есть системы вроде osTicket - устанавливаешь на сайт и пользуешься:).

ant0N 18.09.2014 13:01

Ответ: Подскажите инструмент
 
Цитата:

Сообщение от DStalk (Сообщение 286849)
Лучше всего прям на сайте это и сделать, будет возможен доступ из любого места

так даже предпочтительнее

Цитата:

естественно php+mysql.
вот этого хотелось бы избежать

Цитата:

Как вариант есть системы вроде osTicket - устанавливаешь на сайт и пользуешься:).
не совсем подходит...

Randomize 18.09.2014 13:32

Ответ: Подскажите инструмент
 
Ну не знаю. Раз БД не хочешь - пиши в файл. (осторожно, yoba systems)
Например создай каталог /orders/
В нём положи .htaccess
Код:

Options +Indexes
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from yyy.yyy.yyy.yyy

Где xxx и yyy - разрешённые ip адреса.

PHP файл при заявке должен кидать в эту папку заявки.
Типа:
PHP код:

<?php
if (!empty($_POST)){
    
/* Оче тупо делаем новый id */
    
$id 0;
    if (
$handle opendir('orders/')) {
        while ((
$file readdir($handle)) !== false){
            if (!
in_array($file, array('.''..')) && !is_file('orders/' $file)) {
                
$id max($id, (int)basename($file'.json'));
            }
        }
    }
    
/* записываем файл в формате json */
    
file_put_contents("orders/$id.json"json_encode($_POST));
    
    
/* рефреш чтоб очистить post */
    
header('location: ?');
    die();
}

Птом подключаешься со своей "проги" по http на http://site-name.xxx/orders/, там считываешь нужные заказы в формате json. Дата создания файла считай дата заказа.
Имей в виду! Это хреновый способ! Изучи лучше базу данных.

ant0N 18.09.2014 13:52

Ответ: Подскажите инструмент
 
Цитата:

Сообщение от Randomize (Сообщение 286852)
Имей в виду! Это хреновый способ! Изучи лучше базу данных.

спасибо за совет, [noob mode ] а вообще реально ли выучить mysql + php за месяц до уровня чтобы написать такую штуку? [/noob mode]

DStalk 18.09.2014 13:58

Ответ: Подскажите инструмент
 
Реально такую штуку написать за день, вообще не зная php+mysql и активно пользуясь гуглом.:)

Randomize 18.09.2014 14:06

Ответ: Подскажите инструмент
 
Цитата:

Сообщение от ant0N (Сообщение 286854)
спасибо за совет, [noob mode ] а вообще реально ли выучить mysql + php за месяц до уровня чтобы написать такую штуку? [/noob mode]

Цитата:

Сообщение от DStalk (Сообщение 286857)
Реально такую штуку написать за день, вообще не зная php+mysql и активно пользуясь гуглом.:)

http://phpguru.com.ua/posts.php?id=41
Но там тож треш. И уязвимости.

ant0N 18.09.2014 14:10

Ответ: Подскажите инструмент
 
Цитата:

Сообщение от DStalk (Сообщение 286857)
Реально такую штуку написать за день, вообще не зная php+mysql и активно пользуясь гуглом.:)

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

ant0N 18.09.2014 15:42

Ответ: Подскажите инструмент
 
а на юнити nodejs такое же можно сделать?

Phantom 18.09.2014 21:33

Ответ: Подскажите инструмент
 
Как вариант, можно с сайта письма прямо на твой E-mail отправлять. Сделать это всё можно как угодно на чём угодно и поднять даже на домашнем компе.

ABTOMAT 19.09.2014 02:47

Ответ: Подскажите инструмент
 
Цитата:

Сообщение от ant0N (Сообщение 286847)
Сейчас задам наверное самый тупой вопрос во вселенной.... Извинити, но я в этой области никогда не работал.

У меня есть сайт(хотя на самом деле еще нету), На сайте есть кнопочка "оставить заявку", после нажатия присваивается номер заявки...
А на компе должна быть программа которая принимает эти заявки (вот на чем проще сделать эту программу???). Я надеюсь что есть какие-либо готовые инструменты, где не надо знаний mysql всяких..

В общем мне нужно сделать что-то похожее на электронную очередь..

Желательные языки программирования: js, lua, python, blitzbasik :-D

Сайт-то на чём?
Если на php то самый простой способ:

1. Получаем данные из post (думаю, как работать с $_POST ты разберёшься)
2. Отправляем на мыло письмо. Вот тут целый сайт про это: http://www.php-mail.ru/

ant0N 19.09.2014 06:41

Ответ: Подскажите инструмент
 
Мне нужно не просто отправка на мыло.
Нужно если человек подал заявку, ему присваивался номер очереди(последний). И чтобы я мог управлять этой очередью. А люди могли зайти на сайт и увидеть какие они в очереди.

ABTOMAT 19.09.2014 08:39

Ответ: Подскажите инструмент
 
Ну тогда действительно лучше изучить работу с MySQL.
В принципе даже по говнотуторам реально сделать без уязвимостей, только эскейпь ( mysql_real_escape_string ) все данные, полученные от юзера.
Хотя эскейпить это тоже довольно по-нубски, зато просто.

http://habrahabr.ru/post/148701/
Вот хорошая статья про безопасность от инъекций. Но там многабукаф, я предложил простое решение.

ant0N 19.09.2014 11:30

Ответ: Подскажите инструмент
 
Спасибо, посмотрю... И вообще мне плевать на безопасность. Этот сайт будет доступен узкому кругу абсолютно не разбирающихся в программировании людей, на небольшое время.

DStalk 19.09.2014 12:02

Ответ: Подскажите инструмент
 
Набросаю грубый пример (могут быть ошибки, не проверял), за 15 минут, безопасности естесно никакой:).

Создаем базу (например в phpMyAdmin), в ней таблицу "orders" с полями id,order_no,created,email,title,text.

Форма html для заявки, передает методом POST данные в скрипт "order_create.php":
Код:

<form style="font-size: 14px;" accept-charset="UTF-8" action="order_create.php" method="post" name="payment">
<table style="width: 100%;">
<tbody>
<tr title="Пример строки">
<td>Строка:</td>
<td><input id="p_title" type="text" name="p_title" value="Бла-бла-бла" /></td>
</tr>
<tr title="Пример поля ввода">
<td style="border: 0px; width=150px; vertical-align: top;">Текст:</td>
<td style="border: 0px; padding: 0px;"><textarea id="p_text" cols="50" maxlength="512" name="p_text" rows="4"></textarea></td>
</tr>
<tr title="E-mail">
<td style="border: 0px;">E-mail</td>
<td style="border: 0px; padding: 0px;"><input id="p_email" type="text" name="p_email" /></td>
</tr>
</tbody>
</table>
<input type="submit" value="Оставить заявку" />
</form>

Добавление заявки в базу "order_create.php":
Код:

#Подключаемся к базе
$con=mysqli_connect("db_host","user_name","password","db_name");

#Проверка ошибок при подключении
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  exit;
  }

#Делаем запрос к базе, чтобы получить последний ID автоинкремента
$result = mysqli_query($con,"SHOW TABLE STATUS WHERE name='orders'");
$data = mysqli_fetch_assoc($result);
$next_id = $data['Auto_increment'];

#Формируем ID заказа в формате ГГММДДID
$id = Date('ymd') . $next_id;

#Вставляем строчку в базу
$sql="INSERT INTO orders (order_no, created, email, title, text) VALUES ('$id',Now(),'$_POST[p_email]','$_POST[p_title]','$_POST[p_text]')";

#Проверка ошибок
if (!mysqli_query($con,$sql)) {
  echo "Failed to connect to MySQL: " . mysqli_error($con));
  exit;
  }

#Закрываем соединение с базой и редиректим посетителя на другую страницу.
mysqli_close($con);

$redir="http://yoursite.ru/order_ok.php";
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $redir);
exit();


Кусок кода получения данных из базы. Данный кусок выводит заявки по конкретному e-mail, по одному на строку, полученному методом GET ("http://yoursite.ru/[email protected]").
Код:

#Запрос к базе, в данном случае по email.
$sql="SELECT order_no, created, title, text FROM orders WHERE email='$_GET[p_email]'";
$result=mysqli_query($con,$sql);

#Цикл для всех строк, которые вернул запрос
while ($row = mysqli_fetch_assoc($result)) {
  echo $row['order_no'] . "|" . $row['created'] . "|" . $row['title']. "|" . $row['text'] . "<br>";
  }



Часовой пояс GMT +4, время: 20:08.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot