Банкомат


Курстық жұмыс тақырыбы: Банкомат
Мазмұны
Кіріспе . . . 3
- РНР тілінің негіздері . . . 4
1. 1 Айнымалылар . . . 4
1. 2 Операциялар . . . 6
1. 3 Басқару құрылымдары . . . 7
1. 4 Функциялар . . . 9
2. MySQL деректер қоры . . . 11
2. 1 Жалпы түсініктер . . . 11
2. 2 SQL тілі . . . 11
2. 3 Деректер қорымен байланыс құру . . . 11
2. 4 Қателерді өңдеу12
2. 5 Деректер қорына сұрауларды орындау. . 12
3. Программалық реализациясы15
Қорытынды . . . 16
ҚосымшаА . . . 17
Кіріспе
Курстық жұмыстың негізгі мақсаты банкомат жасау. Бұл жерде тек қана ақша алу емес адамдар тізімі деректер қорына қалай тіркеледі, жойылады және қалай өзгертілетіні анық көрсетілген.
1. РНР тілінің негіздері
Кодта барлық командалар үтірлі нүктемен (; ) аяқталуы тиіс. Сіз үтірлі нүктемен аяқтай отырып бірнеше команданы бір жолда орналоастыра аласыз. Бірақ программа кодының анықтылығы үшін оны істеу қажет емес. Сонымен қатар РНР-де басқарушы элементтер (шартты операторлар, циклдер және т. б. ) бар, олардан кейін үтірлі нүкте қоюдың қажеті жоқ.
Программа кодына түсініктемелер енгізуге болады, олар HTML браузеріндегідей РНР-интерпретатормен сияқты қабылданбайды. Түсініктемелерді қолдану программистке сол мезетте не ойластырғанын еске түсіруге көмектеседі. Біржолдық түсініктеме екі тік слэш белгісімен (//) немесе «решетка» белгісімен (#), ал көпжолды ашылатын және жабылатын «жақшалармен» (/*және*/) жүзеге асырылады.
1. 1 Айнымалылар
РНР-де айнымалылар доллар белгісінен ($) басталады. Айнымалылар аты латын әріптерінен, сандардан символдық астыңғы сызықтардан(_) тұруы мүмкін. Айнымалылар аты әріптер регистріне сезімтал, демек $a мен $A - бұл әртүрлі айнымалылар. Айнымалыларды жариялағанда әдетте басқа тілдердегідей белгілі бір тип көрсетілмейді. Айнымалы типі (демек, ол сақтайтын мәндер типі) қолдану контексті бойынша анықталады.
РНР-де келесі айнымалылар типі болады:
- integer
- floating point
- string
- object
- array
«Бос» айнымалы VAR кілттік сөзімен жарияланады:
VAR $some_var;
Сонымен қатар айнымалы бірінші рет қолданғанда жариялануы мүмкін:
$some_var=”value”;
integer типі
integer типті айнымалылар құрамында -2 биллионнан +2 биллионға дейінгі ондық, сегіздік және оналтылық санау жүйесіндегі сандар бола алады. Мысалы:
$var1=100; /* Ондық мән */
$var2=0144; /* Сегіздік мән */
$var3=0x64; /* Оналтылық мән */
floating point типі
floating point типті айнымалалар - бұл жылжымалы нүктелі (бөлшек) сан. Мысалы:
$var1=2. 34;
$var2=234е1;
string типі
Жол(string типті айнымалы) - бұл әріптер, сандар және арнайы символдар комбинациясы. Ол бірлік (апострофтар) немесе қос тырнақшамен беріледі. Егер жол қос тырнақшамен берілсе, онда ол құрамында айнымалылардың бар-жоқтығына тексеріледі.
Жолдық айнымалыларға мысал:
$var=”23”;
$str1=’Айнымалы құрамында $var мәні бар’;
$str2=”Айнымалы құрамында $var мәні бар”;
Біздің айнымалыларымызды шығаруда сәйкесінше аламыз:
Айнымалы құрамында $var мәні бар
Айнымалы құрамында 23 мәні бар
Мүмкін, сізге жолға арнайы символдар енгізу керек болар. Мысалы, сіз кері слэшті (\) қолдана отырып қос тырнақшаны (“) шығара аласыз. Егер
$str1=” ”Графика” фирмасы ”;
деп жазсақ онда қате тудырады, бірақ егер кері слэшті (\) қолдансақ
$str1=” \”Графика\” фирмасы ”;
онда қате болмайды.
1 кестеде жолдық мәндерде қолданылатын Escape-тізбектері (кері слэш және арнайы симвлдар) сипатталған.
1 кесте. РНР тілінде қолданылатын Escape-тізбектері
object типі
Объекттер (object типті айнымалы) класс экземпляры. Объектті құру үшін ең алдымен классты құру керек. Класс олармен жұмыс істеуге арналған айнымалылар мен функциялардан тұрады.
array типі
array типті айнымалылар массивтерді жариялағанда қолданылады. РНР-де массивтің екі түрі болады:
- бүтінсанды индекстері бар массив
- индекстелген жолдары (хэш) бар массив
Мысалы, төрт мәннен тұратын массивті құру үшін келесіні жазу керек:
$myarr=array(“value1”, “value2”, “value3”, “value4”) ;
Массивке орналастырылған әрбір элементке индекс тіркеледі (0-ден бастап) . Осылайша, $myarr[0] бізге “value1”-ді, ал $myarr[3] “value4”-ті береді, Әрине, массивке $myarr[] =”value5”; элементін қосуға болады.
Хэшті келесідегідей құруға болады:
$myhash=array(‘size’=>’large’, ‘style’=>’italic’, ‘family’=>’Arial’) ;
1. 2 Операциялар
РНР операцияның бірнеше түрін қолдайды:
- меншіктеу;
- арифметикалық операциялар;
- логикалық операциялар;
- конкатенция;
- салыстыру.
Арифметикалық операциялар
2 кестеде арифметикалық операциялар қысқа түрде келтірілген
2 кесте. Арифметикалық операциялар
Операцияға
мысал
Логикалық операциялар
Логикалық операциялар (3 кесте) белгілі бір критериялар бойынша анықтайды, қайтарылатын мән ақиқат (true) не жалған (false) екендігін.
3 кесте. Логикалық операциялар
Операцияға
мысал
$a and $b
$a && $b
$a or $b
$a $b
not $a
! $a
Конкатенция
Конкатенция операторы (. ) екі жолды (екі жол қосылады) біріктіруді орындайды. Мысал:
<?php
$a=’жұмыс’;
echo ‘Күрделі’. $a;
?>
немесе
<?php
$h=12;
$m=35;
$time=$h. ’:’. $m;
echo $time;
// нәтижесінде 12:35 аламыз
?>
Салыстыру
Салыстыру операциясы екі айнымалы не мәндер арасындағы қатынасты анықтайды және true немесе false мәндерін қайтарады. Салыстыру операторлары 4 кестеде келтірілген.
4 кесте. Салыстыру операторлары
1. 3 Басқару құрылымдары
РНР программа жұмысының бірнеше басқару құрылымын қолдайды. Оларға if, for, while, swith және т. б. жатады,
if/ elseif
Берілген құрылым программалық логиканы жұзеге асыруға мүмкіндік береді. Сіз түрлі өрнектерді тексере аласыз және тексеру нәтижесіне байланысты сол не басқа әрекеттерді орындай аласыз. Базалық синтаксисті келесідегідей сипаттауға болады:
<?php
if ( өрнек1 )
{
әрекет1 ;
}
elseif ( өрнек2 )
{
әрекет2 ;
}
else
{
үнсіздік бойынша әрекет ;
}
?>
әрекет1 мен әрекет2 тек if шартында өрнек1 немесе elseif шартында өрнек2 ақиқат болғанда ғана орындалады. Егер де сипатталған барлық өрнектер жалған болған жағдайда үнсіздік бойынша әрекет орындалады.
for мен foreach
for цикл операторы берілген код блогын берілген рет (итерация) орындайды.
<?php
for ( өрнек1; өрнек2; өрнек3 )
{
әрекет ;
}
?>
Параметрлер өрнек1 - қайталау санағышының бастапқы мәні; өрнек2 - сәйкесінше FOR циклінің орындалуы тоқтатылатын критерий сипаттамасы (шарт), өрнек3 - санағыш мәнінің өзгертілуі (көбею не азаю) .
Мысал (echo - бұл бір немесе бірнеше жолды экран бетіне шығаруға арналған тілдің конструкциясы) :
<?php
echo ”<select name=’num’>\n”;
for ($i=0; $i<10; $i++)
{
echo”<option>$i</option>\n;
}
echo ”<select>”;
?>
Нәтиже 1 суретте келтірілген.
FOREACH құрылымы сандық массив немесе хэштің элементтерін таңдап шығу үшін арналған.
<?php
foreach ($array as $value)
{
РНР-код
}
?>
Хэш болған жағдайда синтаксис кедесідегідей болады:
<?php
foreach ($hash as $key=>$value)
{
РНР-код
}
?>
1 сурет. РНР-дегі программа мысалы жұмысының нәтижесі
while
while цикл операторы белгілі бір шарт орындалғанша код блогын қайталай береді. Шарт жалған болған кезде цикл орындалуы тоқтатылады.
switch
1. 4 Функциялар
Функциялар тілдің дәстүрлі конструкциясы. Олар түрлі параметрлерді қолдана отырып, және өзінің жұмысының нәтижесін функцияны шақыру нүктесіне қайтаратын белгілі бір әрекеттер жиынын орындайды. РНР тілі функцияның екі тұрін қолдайды:
- программистпен жарияланған функциялар (қолданушылық) ;
- тілдің стандартты (ішкі) функциялары.
Қолданушы функциялары
Егер кейде командалар сериясын орындау қажет болса, онда сіз бұл командаларды функцияның ішіне орналастыра аласыз. Бұл сіздің кодыңызды ыңғайлы, да оқуға оңай қылады.
Ылғи бір командалар сериясын қайта тергеннің орнына функцияны (алдын-ала жарияланған) шақыра саласыз. Бұл әлдеқайда қысқарақ. Бұдан басқа, егер де өзге өзгертулерді енгізу қажет болса, жарияланған функцияны бір рет түзегеумен шектелуге болады.
РНР-кодта функцияны құру үшін келесі синаксистті қолданады:
function функция_аты ( функция_параметрі ) ;
{
әрекеттер;
}
Параметрлер: функция_аты - функция аты программистпен тағайындалады; функция_параметрі - функциямен (осы параметрлердің мәндеріне байланысты функция жұмысының нәтижесі өзгеріп отырады) қолданылатын параметрлер; әрекеттер - функция денесі (ол орындауға тиіс командалар жиыны) .
Ішкі функциялар
Бұл тілді жобалаушылармен оны құрғандағы жарияланған функциялар, олар жиі қолданылатын операциялар. Ішкі ыункцияларды қолдану үшін сізге бұл функцияның атын және параметрлер тізімін білуге қажет. Функцияға қатынау (шақыру) оның аты бойынша жүзеге асырылады.
2. MySQL деректер қоры
2. 1 Жалпы түсініктер
Деректер қоры - бұл құрамында белгілі бір ақпараты бар екіөлшемді өзара байланысқан кестелер жиыны. Деректер қорын басқаратын (жаңа деректер қорын, кестелерді құрады және де құрылған объектілерді қолдануға мүмкіндік береді) программалық қамтама деректер қорын басқару жүйесі (ДҚБЖ) деп аталады.
2. 2 SQL тілі
Клиенттердің сұрауларын сипаттау үшін тұтас тіл құрылған - ол SQL (Structured Query Language - құрылымдық сұраулар тілі) . SQLсұраулары арқылы сіз келесі әрекеттерді орындай аласыз:
- Деректер қоры мен кестелерді құруға.
- Кестелерге ақпаратты қосуға.
- Ақпаратты өшіруге.
- Ақпаратты модификациялауға.
- Қажет ақпаратты алуға.
Әрине, admin қолданушысы бар болудан басқа сәйкес құқықтарға ие болу керек. MySQL әрбір сұрауы үтірлі нүктемен аяқталуы тиіс.
MySQL - бұл ылғи да компьютерде жұмыс істеп тұратын сервер-программа. Клиенттік программалар (мысалға, сценари) оған арнайы сұрауларды сокет (демек, желілік құралдар арқылы) механизмі арқылы жіберіп отырады, ол оларды өңдеп нәтижесін сақтайды. Осыдан кейін, қайтадан клиенттің арнайы сұрауы бойынша бүкіл нәтиже немесе оның бір бөлігі қайта жіберілед. Неге ылғи тұтас нәтиже жіберілмейді? Өте қарапаыйм: мәселе мәліметтер жиынының нәтижесі өте үлкен болып, оны желі бойынша тасымалдауға көп уақыт кетіп.
Сокеттерді қолдану механизмі клиент-серверлік технологиясына ойластырылған, бұл жүйеде программалардан арнайы сұрауларды қабылдап және өңдейтін арнайы программа - MySQL - сервері қосылуы керек деген сөз.
2. 3 Деректер қорымен байланыс құру
Бірақ деректер қорымен жұмыс бастамас бұрын онымен желілік байланыс құру, және де қолданушы авторизациясын орындау қажет. Ол үшін арнайы функция бар mysql_connect() .
int mysql_connect([string $hostname] [, string $username]
[, string $password] )
mysql_connect() функциясы MySQL деректер қорымен желілік байланысты құрады устанавливает сетевое соединение с базой данных MySQL, ол $hostname (по умолчанию это localhost, т. е. текущий компьютер) атты хостта орналасқан, және ашық байланыстың идентификаторын қайтарады. Келесі жұмыстардың барлығы дәл осы идентификатормен жүргізіледі. Тіркелгенде қолданушы $username аты және $password құпиясөзі (үнсіздік бойынша берілген үрдісті қосқан қолданушы аты мен бос құпиясөз) көрсетіледі. Сонымен қатар $hostname жолында хост_аты:порт (егер MySQL стандартты емес басқа портқа қосылған жағдайда) форматты порт аты болуы мүмкін. MySQL-серверімен байланыс сценари жұмысының бітісімен не болмаса mysql_close() функцисы шақырылғанда автоматты түрде жабылады. Егер сіз сценаридің бүкіл жұмысы барысында тек бір ғана деректер қорымен байланыс құруды жоспарласаңыз, онда сіз қайтарылған мәндерді сақтамасаңыз да болады, және қалған функцияларды шақырғанда байланыс идентификаторын көрсетпесеңіз болады.
int mysql_select_db(string $dbname [, int $link_identifier] )
MySQL серверіне алғашқы сұрауды жібермес бұрын қандай деректер қорымен жұмыс істейтінімізді көрсетуіміз керек. Осы үшін сипатталған функция қажет. Ол РНР-ді $link_identifier байланысының келесі операцияларында $dbname деректер қоры қолданылатынын ескертеді.
2. 4 Қателерді өңдеу
Егер MySQL-мен жұмыс барысында қателер туса (мысалы, сұрауда жақшалар дұрыс қойылмаса немесепараметрлер жетіспесе), онда қате туралы хабарлама және оның нөмірін келесі екі функция арқылы алуға болады.
int mysql_errno([int $link_identifier] )
Функция соңғы тіркелген қатенің нөмірін қайтарады. $link_identifier байланыс идентификаторын көрсетпесе болады, егер де сценари жұмысы барысыеда тек бір байланыс құрылған жағдайда.
string mysql_error([int $link_identifier] )
Бұл функция қате нөмірі емес, құрамында қате хабарламасы бар жолды қайтарады. Оны қателерді жөндеген кезде қолданған ыңғайлы.
2. 5 Деректер қорына сұрауларды орындау
Ол үшін арнайы жалғыз mysql_query() - функциясы деректер жиынын нәтижелейтін идентификаторды қайтарады.
Есте болсын, біз нәтиже бірден клиентке жіберілмейтінін айтқан болатынбыз? Міне, чтобы оған жету үшін идентификатор керек. Оны параметр ретінде қабылдайтын және сол не басқа деректерді қайтаратын өте көп фуекциялар бар. Олар туралы кейінірек сөз қозғаймыз.
int mysql_query(string $query [, int $link_identifier] )
Бұл функциясы өзінің қолданысынд әмбебап: ол MySQL-серверге з $query сұрауын жібереді және жауаптың немесе нәтиженің идентификаторын қайтарады. $query параметрі SQL тілі ережесі бойынша құрылған жол. Алдындағы орнатылған байланыс қолданылады $link_identifier, ал ол болмаған жағдайда - соңғы ашық байланыс.
Олар сәтті орындалған не орындалмағаны туралы тек белгіні қайтаратын бірнеше SQL командалары (мысалы, ол UPDATE, INSERT және т. б. командалар) бар. Бұл жағдайда белгі функциямен қайтарылады. Керісінше, SELECT сұрауы үшін шығарылым идентификаторы қайтарылады, егер нөл болса, қате болғандығын білдіреді.
Шын мәнінде сұрауды орындаыуға арналған тағы бір функция бар, бірақ ол ондай қолдануға ыңғайлы емес. Себебі әр сұрау сайын қатынауға қажет деректер қорының атын көрсету керек.
int mysql(string $dbname, string $query [, int $link_identifier] )
Қызметі mysql_query() сияқты, тек қатныау таңдалған деректер қорына емес, $dbname параметріне көрсетілгенге орындалады. Егер сізде бірнеше деректер қоры бар бола бір уақытта қатынасаңыз, бұл функцияны пайдалану сізге тиімді болар. Әдеттегідей, $link_identifier параметрін түсіруге болады, онда соңғы ашық байланыс қолданылатын болады.
Кесте құру
create table КестеАты (ӨрісАты тип, ӨрісАты тип, . . . )
Бұл командамен деректер қорында өздерінің аттарымен (ӨрісАты) және көрсетілген типтерімен анықталатын бағандары (өрістермен) бар жаңа кесте құрылады, .
Өріс типтері
Бүтін сандар
Бүтін сандардың бірнеше типтері болады, олар сақтауға арналған деректер қорында бөлінентін деректердің байт сндарымен ерекшеленеді. Бұл типтердің барлығында айырмашылық тек аттарында (кейбір қысқартулармен), жазылуы келесідегідей:
префиксINT [UNSIGNED]
Міндетті емес UNSIGNED жалауы таңбасыз (0-ден үлкен не тең) сандарды сақтайтын өрісті құратынын білдіреді. Типтер аттары жалпы түрде префиксINT сияқты 6 кестеде келтірілген.
6 кесте. Бүтінсанды мәндер типтері
Бөлшек сандар
Дәл бүтін сандар сияқты MySQL-де бірнеше түрге бөлінеді. Жалпы түрде былай жазылады:
ТипАты[(length, decimals) ] [UNSIGNED]
Мұнда length - РНР-ге берілгенде бөлшек сандар орналасатын белгіорын саны (өріс ені), ал decimals - ескерілетін ондық үтірінен кейінгі белгілер (сандар) . Әдеттегідей, UNSIGNED таңбасыз сандарды белгілейді.
6 кесте. Рационалды мәндер типтері
Жолдар
Жолдар дегеніміз символдар массиві. Әдетте SELECT сұрауы бойынша мәтіндік өрістен іздегенде символдар регистрі қарастырылмайды, демек «қарындаш» пен «ҚАРЫНДАШ» бір болып саналады. Бұдан басқа, егер мәтінді енгізгенде немесе өзгерткенде дерекқор оны автоматты түрде қайтакодтауға бапталған болса, онда бұл өрістер сіз көрсеткен кодировкада сақталады.
Ең алдымен length символдарынан аспайтын жол типімен танысайық, мұндағы length 1 ден 255 дейінгі диапазонда жатады.
VARCHAR(length) [BINARY]
Осындай типті жолға өзгеріс енгізгенде одан ақырғы пробелдер қиып алынады. (rtrim() функциясының шақырылуындай) . Егер BINARY жалауы көрсетілген болса, онда SELECT сұрауында жол регистр есебімен салыстырылады. VARCHAR типі 255 символдан аспайтындығымен ыңғайсыз. Оның орнына 7 кестеде келтірілген басқа мәтіндік типтерді қолдануға болады.
7 кесте. Жолдық мәндер типтері
Бинарлы мәліметтер
Бинарлы мәліметтер - бұл TEXT форматындағыға ұқсас мәліметтер, бірақ іздеу жүргізгенде символдар регистрі ("abc" мен "ABC" - әртүрлі жолдар) . Барлығы бинарлы мәліметтердің 4 типі болады (8 кесте) .
8 кесте. Бинарлы мәндер типтері
Уақыт пен дата
MySQL уақыт пен датаны әртүрлі форматта сақтауға арнайы бейімделген бірнеше жол типін қолдайды (9 кесте) .
9 кесте. Уақыт пен датаның дерекқорда көрсетілуі
3. Программалық реализациясы
Жобаны жасағанда PHP, MySQL тілдері қолданылды. Клиент интерфейсін PHP қамтамассыз етеді. Ал сервер интерфейсін MySQL -дерек қорлар қаматамасыз етеді.
Қорытынды
Бұл жұмысымда Apache Server, PHP, MySQL-ді үйрендім. Қазіргі уақытта интернеттің ықпалы өте күшті. Көп технологиялар интернет технология тұрғысында дамып жатыр. Сондықтан біз интернет технологиядан қалмауымыз керек. MySQL-дің негізінде SQL құрылымдық тілі жатыр. Бұл реляциялық деректер қорының негізі. Қазіргі көп қолданыста реляциялық деректер қоры. Сондықтан бұл сабақ әлі өмірде маған керек болады деп ойлаймын.
Қосымша А
Index. php
124. php
Delete. php
Update. php
Pokaz. php
Minus. php
Avtor. php
Программа листингі
Index. php
<html>
<title></title>
<body bgcolor='D8B28F'>
<H2 align=center><a href='124. php'>Вводить в базу данных</a></H2><br>
<H2 align=center><a href='delete. php'>Удалить из базы данных</a></H2><br>
<H2 align=center><a href='update. php'>Обновить базу данных</a></H2><br>
<H2 align=center><a href='pokaz. php'>Показать</a></H2><br>
<br><br>
<H3 align=left><a href='minus. php'>Выдача наличных</a></H3><br>
<H3 align=left><a href='avtor. php'>Проверить счет</a></H3><br>
</body>
</html>
124. php
<html>
<title></title>
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz