vitao.web Posted April 2, 2010 Report Share Posted April 2, 2010 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 :) Quote Link to comment Share on other sites More sharing options...
m8t Posted April 2, 2010 Report Share Posted April 2, 2010 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! Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 2, 2010 Author Report Share Posted April 2, 2010 Veiksmi ar to ko taisi! Paldies! Daudz ko pastastiji un padariji skaidraku :) Quote Link to comment Share on other sites More sharing options...
Kemito Posted April 2, 2010 Report Share Posted April 2, 2010 1. Saglabā klasi datubāzē, pēc tam izvadi to sessijās! 2. ... 3. Kods tev tika iedots, protams viņš ir jāpārveido arī kā normāls kods :D Veiksmi tev, labi ka kādam ir apņēmība vismaz ! Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted April 2, 2010 Report Share Posted April 2, 2010 (edited) 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 April 2, 2010 by rATRIJS Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 2, 2010 Author Report Share Posted April 2, 2010 Paldies! Vairak ideju un padomu, iespeja izveleties labako :) Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 2, 2010 Author Report Share Posted April 2, 2010 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! Quote Link to comment Share on other sites More sharing options...
rATRIJS Posted April 2, 2010 Report Share Posted April 2, 2010 UPDATE users SET role = 'admin' WHERE id = 4 admin - lietotāja līmenis. Vari to glabāt arī kā int 4 - lietotāja id. Ceru, ka zini kas tas ir un kā to dabūt. Quote Link to comment Share on other sites More sharing options...
Kavacky Posted April 2, 2010 Report Share Posted April 2, 2010 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. Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 2, 2010 Author Report Share Posted April 2, 2010 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 :) Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 8, 2010 Author Report Share Posted April 8, 2010 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 Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 8, 2010 Report Share Posted April 8, 2010 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 | ..... -- Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 8, 2010 Author Report Share Posted April 8, 2010 Ta ari biju domajis dariit! :) Paldies par padomu :) Tagad par to 2tro jautajumu :) Quote Link to comment Share on other sites More sharing options...
m8t Posted April 8, 2010 Report Share Posted April 8, 2010 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 :) Quote Link to comment Share on other sites More sharing options...
vitao.web Posted April 8, 2010 Author Report Share Posted April 8, 2010 2. Tas laikam arī viss :) Woah! Labi padomi, bet ka tad sanak ar to HTML iznemsanu no DB... es nesaprotu ka tas notiekas.. Piemeram rakstiem..izmantosu kkadu tnymice ka tad man sanaks ta izvade? Čats nebūs :D Bet paldies par info Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.