Jump to content
php.lv forumi

Apņēmos izveidot kaut ko līdzīgu protālam.


vitao.web

Recommended Posts

Sveiki!

 

Esmu nolēmis izveidot tādu, kā portālu par dažām lietām. Esmu iemācījies izveidot tādu, kā savu cms ( pievienot rakstu/labot/ dzēst utt )

Bet ir lietas ko neizprotu un vēlētos Jūsu palīdzību un padomus.

1) Ir man sava veida login sistēma + registrācija utt. Bet kā izdarīt lai man būtu piemēram lietotājam ar ID kaut kas noteiktas tiesības. Pamatdoma ir šāda: neesi reģistrējies, tad tik vari aplūkot un viss. Ja esi reģistrējies, tad vari pievienot komentārus un balsot, bet ja esi izredzētais, tad vari pievienot rakstus un labot tos utt. Kā lai izveido šo visu. Respektīvi flagi jeb lietotaja pakapes. Un ka liegt pieeju komentet un balsot tiem, kas nav reģistrējušies?

 

2) Magic_quotes daudzi saka, lai izvairās no to izmantošanas, bet ko lai lieto viņu vietā?

3)Zinu, ka izklausas slinki, bet ka varetu izdarit, lai raksts saglabajas, gan datu baze, gan vnk faila? Jo nu tas ir ta ka drosak , ja db nojuk vai ne?

 

 

Paldies par padomiem, palidzibu un kaut kadiem piemeriem :)

Link to comment
Share on other sites

1) Ir dažādi veidi kā to izdarīt, bet man pašam, personīgi patīk šis veids:

Pie lietotāju tabulas pieliekam rindiņu ar vārdu->user_group or smt. Izveidojam jaunu tabulu un ieliekam tur iekšā rindiņas kā -> nosaukums. Šajā vietā manai idejai ir 2 ceļi:

1. Tabulā pieliec vēl visādas rindiņas, piemēram ar nummuriem 1,2,3,4... Tad, pie katras reizes, kad kautko izkopē, vai vaic kādu funkciju lapā, izdari lai pārbauda, vai šis lietotājs ir tādā grupā, lai varētu darīt attiecīgo funkciju. Piemēram - lietotājs grib cenšas pievienot komentāru, so - ieejam datubāzē, paskatamies vai viņa grupai tabulā 'grupas' rindiņa 1 (atļauja, lai pievienotu komentārus) ir vienāda ar 1. Ja tā ir, tad turpinam, ja nav - skripts beidzas.

2. Tabulā ieliec rindiņu "rights". Attiecīgi, admins būtu, piemēram 100, parasts lietotājs 1. Pie katras funkcijas paskaties kāds lietotājam ir "rights" un ja viņam rights ir pietiekami liels, lai postotu, tad atļaujam.

 

brr... baigi daudz sarakstīju. Ceru ka vismaz saprati manu domu

 

2)-

3)

KONJEKCIJA SEIT
mysql_query("INSERT INTO lalala SET kautkas='teksts'");
$myFile = "file{$randomciparsvairakstaidvaiarikautkascitsistenibamantasirpilnigivienalgagalvanaislaivissstradatu}.txt";
$fh = fopen($myFile, 'w');
$stringData = "Datikurusierakstamieksatajafaila\n";
fwrite($fh, $stringData);
fclose($fh);

 

Veiksmi ar to ko taisi!

Link to comment
Share on other sites

1) Pievieno klāt vēl vienu DB lauku (role) un tad arī skaties kāds lietotājam ir līmenis un darī lietas vadoties pēc tā:

 

 

<?php
if(!logged_in()) { /* dari ja nav ielogojies */ }
else {
 if(has_role("admin")) { /* ja role ir admin */ }
 else { /* ja vnk ielogojies */ }
}
?>

 

2) Neko nevajag lietot vietā. Vajag izmantot tikai mysql_real_escape_string()

3) Nevajag to nekur citur glabāt. Izmanto DB + veic regulārus backup'us. DB tā vienkārši nobrukt nenobruks.

Edited by rATRIJS
Link to comment
Share on other sites

Neliela problema ar tām lietotāja pakāpēm:

 

Protams reģistrējoties lietotājs iegūst pakāpi: lietotājs

Bet kā vēlāk es Kā galvenais admins varētu piešķirt viņam citu pakāpi? Respektīvi kā, kaut kas lidzīgs ka rakstu pievienosanai.. edit ? :) Nespeju iedomaties ka tas notiek reali dzive?

 

 

Paldies!

Link to comment
Share on other sites

Ja esi admins, tad tev ir pieejama admin sadaļa, kurā var apskatīt lietotāju sarakstu, kurā var rediģēt lietotāju, kur var izmainīt lomu.

 

 

Es taisu tādu kā savu portālu ar pašveidotu ( ar palīdzību ) CMS, nav nekas gatavs... :) Tā kā nav tāda iespēja pagaidām, bet būs :)

 

rATRIJS paldies par ideju :)

Link to comment
Share on other sites

Sveiki!

 

 

Atkal vēršos pie Jums ar jautājumiem :

1) Ir doma izveidot ziņas, kurām var pievienot foto:

- Viens galvenais foto priekš pašām ziņām ( glabājas DB ar uploadošanu )

- Bildes iekš ziņām nokaut kāda pasākuma(piemēram) var uploadot 2 - 5 bildes

 

Tatad jautājumi kādai apmēram vajadzētu izskatīties DB Struktūrai? Kā glabāt bildes? int vai kaut ko savādāk.

 

2) Kādas ir lielākās kļūdas veidojot Portālus, vai kaut ko līdzīgu. Piemēram kādas ir sql injekcijas pret kurām īpaši jāsargājās un kā +/- to izdariīt.. Butu pateicīgs par padomiem vai linkiem uz avotiem par šīm tēmām.

 

 

Ar cieņu,

vitao.web

Link to comment
Share on other sites

1) Ir doma izveidot ziņas, kurām var pievienot foto:

- Viens galvenais foto priekš pašām ziņām ( glabājas DB ar uploadošanu )

- Bildes iekš ziņām nokaut kāda pasākuma(piemēram) var uploadot 2 - 5 bildes

tas upladojamas bildes noteikti glaba atseviskjaa tabulaa:

id | zinjas_id |nosaukums_celshs | apraksts ....

pasham jaunumam ~~ shadu tabulu

id | nosaukums | teksts | bilde | .....

--

Link to comment
Share on other sites

2.

Vietās kur lietotāji ievada tekstu derētu:

tikt prom no SQL injecēm ar mysql_real_escape_string()

tikt prom no HTML koda datubāzē ar htmlspecialchars()

samazināt tekstu līdz kautkādam limitam (piemēram 100 simboliem) ar substr()

un ja izmanto chatu, vai ko tamlīdzīgu, tad sagriezt garos vārdus ar wordwrap

 

Tas laikam arī viss :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...