PDA

Просмотр полной версии : Скрипт php - pin-card


VADIK-XXX
10.08.2007, 00:28
Помогите изобрести вещь одну. Скрипт нужен на php+mysql.
Задача пользователь должен ввести pin и ему зачислються денюжки.

Типа. В базе данных ето все храниться. Пользователь вводит а деньги зачисляються к примеру на $login .
А тот пин или блокируеться или удаляеться из базы, чтобы больше его активировать было нельзя.

Вот так ))

Помогите плиз чем можете....

Ni0x
10.08.2007, 00:38
А чем тут помогать, тут все на элементарном уровне документации по php+mysql.

Darkweider
10.08.2007, 00:43
Я бы сделал так три поля для ввода первоя для логина куда зачислять, второе пин, третье код защиты от переборов. Потом написал бы скрипт который бы генерировал пины и заносил в базу. Теперь есть база пинов которые ликвидны. Все вводим проверяем есть ли такой логин сверяем пин по базе, если все удачно добавляем средства на баланс логина... А что тут сложного? Сам бы сделал, влом писать) Дальше можно сделать конешно несколько баз пинов типо разных категорий на 5 10 20 30 $

VADIK-XXX
10.08.2007, 00:46
Я бы сделал так три поля для ввода первоя для логина куда зачислять, второе пин, третье код защиты от переборов. Потом написал бы скрипт который бы генерировал пины и заносил в базу. Теперь есть база пинов которые ликвидны. Все вводим проверяем есть ли такой логин сверяем пин по базе, если все удачно добавляем средства на баланс логина... А что тут сложного? Сам бы сделал, влом писать) Дальше можно сделать конешно несколько баз пинов типо разных категорий на 5 10 20 30 $

легко сказать. с mysql я недружу ((

n1†R0x
10.08.2007, 13:23
Ты знаешь, здесь за тебя бесплатно вряд ли кто-то будет писать... Могут только помочь.
А помочь в твоей ситуации сложно, поскольку вопроса заданного нет, просто "напишите".

Тебе стоит почитать о функциях работы php с mysql.

По поводу структуры таблиц:

pins:
CREATE TABLE `pins` (
`id` INT NOT NULL AUTO_INCREMENT ,
`value` INT NOT NULL ,
`nom` INT NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE (
`value`
)
);

Вставка данных в эту таблицу -
INSERT INTO pins (value, nom) VALUES ('100100', '20');
где 100100 - уникальный (!) номер пина
20 - номинал

users

CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT ,
`login` VARCHAR( 16 ) NOT NULL ,
`pass` VARCHAR( 16 ) NOT NULL ,
`balance` INT NOT NULL ,
PRIMARY KEY ( `id` )
);


Думаю, PHP-обработку тебе написать не составит проблем, структуру я предложил (целочисленные значения only). Если же возникнут конкретные проблемы - пиши, если глобальные - хорошо задумайся, а нужно ли тебе писать этот скрипт или лучше доверить дело какому-нибудь программисту?

groundhog
10.08.2007, 13:26
`balance` INT NOT NULL ,
Баланс лучше замутить через NUMBER с точностью до двух знаком после запятой...

А в таблицу pins добавить поле "active"... Типа пользованый/не пользованый PIN.

n1†R0x
10.08.2007, 13:38
Баланс лучше замутить через NUMBER с точностью до двух знаком после запятой...

А в таблицу pins добавить поле "active"... Типа пользованый/не пользованый PIN.
Хм) Я писал, что для целочисленных значений сделал =)
Так-то, конечно, можно заменить INT на FLOAT(x,y)
где x - кол-во символов пина, а y - кол-во знаков после запятой.

По поводу active - я подумывал об удалении записей о пинах из таблицы после активации, имхо нет смысла хранить их)

DELETE FROM pins WHERE id = $activated

Где $activated - id активированного пина.

В самом деле, можно даже обойтись тут без колонки `id`... PRIMARY KEY ( `value` ), и все..

groundhog
10.08.2007, 13:43
n1†R0x, запомни - удаление из базы это гиблое дело... :) Лучше оставить... Вдруг потом стату нужно будет сделать... Или ещё что-то... Ты пишешь билинговую систему, грубо говоря... Поэтому с удалением данных поосторожнее, удаление в таком случае это отдельная операция, которая должна быть инициирована и подтеврждена пользователем, а не выполняться автоматически. :)

n1†R0x
10.08.2007, 14:01
Ok )

Тогда следует добавить поле... пример запроса:

ALTER TABLE `pins` ADD `active` INT( 1 ) DEFAULT '1' NOT NULL ;

значит после активации должен выполнится следующий запрос:

UPDATE pins SET active = '0' WHERE id = $id
ну или же value = $value соответственно.

groundhog
10.08.2007, 14:05
Лучше так:

ALTER TABLE `pins` ADD `active` SMALLINT( 1 ) DEFAULT '1' NOT NULL ;