PHP si MySQL - scrie CMS - PHP

Partea 1. Înregistrarea în tabelul de baze de date MySQL

Inerent CMS - este un instrument pentru înregistrarea în baza de date toate informațiile despre site. Toate acestea trebuie să fie cuprinse în tabele, iar administratorul site-ului trebuie să fie un mod convenabil de a introduce informații într-un tabel, modificarea sau ștergerea acestuia.

În primul rând, trebuie să selectați uneltele corespunzătoare pentru lucrare. Intrările, pe care le aduce la masa, ar trebui să fie pe ecran, într-o formă accesibilă pentru editare. În HTML, în acest scop, există forme. Despre lucrul cu formulare scrise o mulțime de cărți și articole, astfel încât să nu ne oprim, și trece direct la un exemplu simplu.

Rulați gazda locală și de a crea folosind baza de date phpMyAdmin numit simple_cms, și în ea - tabel de pagini cu două câmpuri din titlu și conținut. Pentru a face acest lucru, conectați-vă la secțiunea SQL de pe panoul de phpMyAdmin și executați această interogare:

phpMyAdmin și vă construiți acest tabel.

Dacă sunteți familiarizat cu baza de date, cel puțin la nivelul de Microsoft Access, vă amintiți că fiecare domeniu al tabelului are un număr de proprietăți. În acest caz, vom atribui proprietatea de text de conținut câmp. S-ar părea logic, deoarece este proiectat pentru a stoca textul. Dar trebuie să ne amintim că mărimea câmpului este limitat, așa că, dacă doriți să-l păstrați textul „Război și Pace“, este mai bine să-l definească ca longtext.

Bază de date Tabel - pagini

Pentru a gestiona o astfel de tabel din zona de administrare, avem nevoie de o formă, care constă dintr-o casetă de text simplu (input type = „text“) pentru a introduce un titlu, zona de text (textarea) pentru a introduce conținut și „Send“ (input type = „submit“) buton.

Ceva de genul asta s-ar putea arata ca in panoul nostru de control al conținutului paginii de administrare.

Introduceți titlul paginii

Pune această formă în fișierul page.php

Creați un fișier config.php, care va oferi conectivitate la baza de date.

Acum, că am avut o conexiune la baza de date și un script pentru a intra în ea informațiile necesare este acolo pentru a organiza trimiterea câmpul de text cu numele și my_text my_title zona de text. În acest scop, am identificat sub formă de metoda POST pentru a trimite fișierul admin.php de date -

.

În cazul în care administratorul va face informațiile din formular câmp și apasă pe butonul „Trimite“, această metodă este atribuită $ _POST variabila [ „my_title“] valoarea my_title câmp text, iar variabila $ _POST [ „my_text“] - valoarea my_text zona de text.

Pentru a confirma acest lucru, adăugați un cod în partea de sus a page.php fișier:

Rulați fișierul page.php. În cazul în care nu există erori în program, veți vedea titlul și textul într-o fereastră de browser.

Excelent! Rămâne doar pentru a aranja înregistrarea acestor informații în baza noastră de date. Pentru a face acest lucru, trebuie să ne întoarcem la limbajul de interogare SQL, pentru a fi exact - la MySQL.

Pentru a scrie date noi la un tabel de bază de date, care Mulțumită

deja conectat la locul de muncă, trebuie să folosim operatorul limbaj INSERT MySQL. Pentru a nu dezordine codul paginii, inserați acest fragment în fișierul page.php în loc de codul de ieșire pentru a imprima:

Aceasta este, în cazul în care butonul „Trimite“ metoda POST a fost înmânat $ send (a se vedea. Numele acestui buton!), Ar trebui să rulați această interogare (funcția mysql_query) și conținutul tabelei bazei de date a câmpurilor de formular vor fi înregistrate.

Scrierea acest lucru la prima vedere pare dificil de citit, și în ea puteți obține pierdut doar în numeroasele ghilimele simple și duble. Prin urmare, considerăm că este într-o „formă pură“.

mysql_query Parametru () funcție; în sine este SQL-interogare, care poate fi reprezentat ca:

Așa că, cum ar fi, clar.

Acum, deschide phpMyAdmin și asigurați-vă că intrările făcute în câmpurile din tabel. Dar aceasta este doar jumătate din bătălie. Trebuie să învățăm să „scoate“ din tabel datele necesare pentru a lucra cu ei în zona de administrare, iar cel mai important lucru - pentru a le arăta pe site-ul.

Fișierul page.php final ar trebui să arate astfel:

Acest lucru - în secțiunea următoare.

Partea 2. Citirea dintr-un tabel de baze de date MySQL

Să creăm admin noastră o listă cu toate titlurile de pagină stocate în tabelul de pagini. Și organizarea activității acestei liste, astfel încât utilizatorul, făcând clic pe mouse-ul pentru a accesa conținutul paginii.

Pentru a citi înregistrările din tabelul utiliza următoarea structură:

Dacă tabelul de mai multe intrări în proiectarea „pur“ ne va da doar ultimul dintre ele, deoarece valoarea titlului $ variabila toate fiind actualizate într-o buclă în timp. Dar vom folosi un mic truc. În același ciclu, le vom afișa toate înregistrările una câte una.

Pentru a face acest lucru, trage o masă și o parte din ea se va plasa în interiorul buclei:

Pentru a face acest lucru, creați editor.php cu următorul fișier cu cod.

Să luăm în considerare structura de bază a script-ul.

Atunci când utilizatorul face clic pe un astfel de link, el se întoarce la aceeași pagină, dar cu o anumită valoare a $ PAGE_TITLE variabila.

Următorul fragment de cod caută paginile de date tabel de baze de date, și în ea - valoare conținutul câmpului pentru care câmpul titlu coincide cu valoarea $ PAGE_TITLE variabila.

Găsirea un astfel de câmp, acesta transmite conținutul conținutului $ variabil, și care se imprimă în zona de text.

Acum avem posibilitatea de a edita textul. Dar cum pentru a obține versiunea corectată a textului în baza de date - acest lucru în secțiunea următoare.

Partea 3: Editarea înregistrărilor de tabele de baze de date MySQL

Adăugați la partea de sus a editor.php următorul fișier de fragmente de cod (evidențiat cu roșu):

Și chiar la sfârșitul append fișier:

Această tehnică se numește o sesiune. Pentru a afla cum să executați sesiunea pot fi găsite în numeroase manuale de PHP, și aici vreau să rețineți că sesiunea, trebuie să ne amintim într-o pagină variabilă pe care le editați. Deși am dat click pe butonul Edit, și a primit variabila $ TITLU_PAGINĂ (antetul paginii de editare), după ce vom face modificările și faceți clic pe butonul Salvare, pagina editor.php reboot, iar valoarea de $ TITLU_PAGINĂ vor fi pierdute. De aceea, am păstrați-l într-un _SESSION $ [ „id“].

În cazul în care metoda POST pentru a trimite formularul la valoarea paginii editor.php Reloaded a text_edit $ variabila (un nume am dat zona de text), atunci vom putea rula codul de mai jos:

care salvați - acesta este numele unui buton Salvare.

Sper că înțelegi de ce avem nevoie de un $ _SESSION variabila [ „id“].

Full fișier script editor.php va arata astfel:

Desigur, ar fi mai plăcut pentru a edita textul rămâne în caseta de zonă de text, apoi făcând clic pe Salvare. Dar eu sunt sigur că va fi capabil să adăugați fragmentul de cod necesar cu ușurință.

În partea următoare vom vorbi despre modul de a elimina intrările nedorite din baza de date.

Partea 4: Eliminați intrările din tabelele bazei de date MySQL

Adăugați o altă celulă la masa de fișier editor.php:

Nu contează ce valoare vom da variabila $ ștergerea, puteți scrie șterge = 1 sau șterge = ABCD, ceea ce este important este că puteți scrie acum starea, cu care vom elimina intrarea selectată:

În forma sa finală, fișierul nostru editor.php arata ca acest lucru:

Aici, probabil, și tot ce am vrut să-ți spun despre principiile admin. Desigur, în acest CMS toate modulele individuale (si le avem pana trei: page.php, editor.php și fișierul config.php de serviciu) se execută fișierul index.php principal, care este o singură dată conectează toate modulele de la baza de date și utilizatorii pot solicita să preia crearea modulului de pagini, modul de editare, precum și o serie de alte module (modulul meniu al site-ului, modulul de management carte de oaspeți, bannere, etc). Este important doar să înțelegem că orice module care orice acțiune în zona de administrare bazate pe cele patru principale declarații limba SQL:

  • INSERT - pentru a insera o înregistrare în baza de date;
  • SELECT - pentru a selecta înregistrările din baza de date;
  • UPDATE - schimbați înregistrarea;
  • DELETE - șterge intrarea.

Deci, nu este nimic nu este descurajantă pentru a scrie propriul panoul de administrare. Orice CMS, chiar și giganți, cum ar fi Joomla, funcționează pe același principiu.

Și pentru a se conecta la site-ul de administrare în sine - acesta este, în general ușor, după ce ați scris admin script-ul în sine.

articole similare