Просмотр полной версии : Скрипт php - pin-card
VADIK-XXX
10.08.2007, 00:28
Помогите изобрести вещь одну. Скрипт нужен на php+mysql.
Задача пользователь должен ввести pin и ему зачислються денюжки.
Типа. В базе данных ето все храниться. Пользователь вводит а деньги зачисляються к примеру на $login .
А тот пин или блокируеться или удаляеться из базы, чтобы больше его активировать было нельзя.
Вот так ))
Помогите плиз чем можете....
А чем тут помогать, тут все на элементарном уровне документации по php+mysql.
Darkweider
10.08.2007, 00:43
Я бы сделал так три поля для ввода первоя для логина куда зачислять, второе пин, третье код защиты от переборов. Потом написал бы скрипт который бы генерировал пины и заносил в базу. Теперь есть база пинов которые ликвидны. Все вводим проверяем есть ли такой логин сверяем пин по базе, если все удачно добавляем средства на баланс логина... А что тут сложного? Сам бы сделал, влом писать) Дальше можно сделать конешно несколько баз пинов типо разных категорий на 5 10 20 30 $
VADIK-XXX
10.08.2007, 00:46
Я бы сделал так три поля для ввода первоя для логина куда зачислять, второе пин, третье код защиты от переборов. Потом написал бы скрипт который бы генерировал пины и заносил в базу. Теперь есть база пинов которые ликвидны. Все вводим проверяем есть ли такой логин сверяем пин по базе, если все удачно добавляем средства на баланс логина... А что тут сложного? Сам бы сделал, влом писать) Дальше можно сделать конешно несколько баз пинов типо разных категорий на 5 10 20 30 $
легко сказать. с mysql я недружу ((
Ты знаешь, здесь за тебя бесплатно вряд ли кто-то будет писать... Могут только помочь.
А помочь в твоей ситуации сложно, поскольку вопроса заданного нет, просто "напишите".
Тебе стоит почитать о функциях работы 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.
Баланс лучше замутить через 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, запомни - удаление из базы это гиблое дело... :) Лучше оставить... Вдруг потом стату нужно будет сделать... Или ещё что-то... Ты пишешь билинговую систему, грубо говоря... Поэтому с удалением данных поосторожнее, удаление в таком случае это отдельная операция, которая должна быть инициирована и подтеврждена пользователем, а не выполняться автоматически. :)
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 ;
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot