Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
site web in php
Last Updated: Oct 14 2016 16:01, Started by
spe_ripper
, Oct 13 2016 12:44
·
0
#1
Posted 13 October 2016 - 12:44
salut.
vreau sa fac un site web prin care se acceseaza o baza de date de pe un server. vreau sa folosesc php, html, jquery si javascript. vreau sa fie multi-user, in sensul ca mai multi useri se pot loga in acelasi timp la site si accesa baza de date de pe diferite calculatoare. ce am descris mai sus este pur si simplu cam definitia oricarui site web . nu stiu cum/de unde sa ma apuc. am facut pagina principala ca design si tot, vreau ca atunci cand te conectezi sa fie vizible anumite functionalitati in functie de tipul userului. si mai vreau ca atunci cand accesezi baza de data (search, add, diverse rapoarte) sa fie afisat intr-o zona a siteului, "show zone". astfel meniul de sus si sidebarul sa ramana la fel toata sesiunea de lucru, tot ce accesez din ele sa fie afisat in "show zone". nu as vrea sa folosec frameworks, desi nici nu stiu care ar fi cel mai potrivit, deci as sa fie php pur. am tot felul de necunoscute privind asigurarea securitatii, cum pot sa se logheze mai multi in acelasi timp iar eu sa pastrez datele fiecaruia, cum sa pasez anumite variabile intre diferite pagini de php.... tot citesc, tot citesc...si nu ma dumiresc |
#4
Posted 13 October 2016 - 15:03
ordinea pe care o folosesc eu (foloseam, ca nu prea mai lucrez site-uri) si iti recomand
1 cel mai bine incepi de la structura bazei de date. tabele, relatii intre ele, mecanisme de insert/update. faci intai scheletul, nu pielea. instaleaza-ti si foloseste phpMyAdmin 2 dupa ce ai structurat asta te gandesti cum manipulezi datele prin interfata si scrii flow-ul, algoritmii, deci functiile php necesare. le bagi in pagini, le testezi 3 abia ultimul pas este designul, cand ai totul (sau aprox. 90%) functional in format vizual chior poti incepe sa aplici stiluri si sa-l infrumusetezi ar fi bine sa ai idee in pasul 2 cam cum va fi structurata interfata, macar la nivel de blocuri (header, content, menu, footer) cu pasul 3 poti sa rezolvi cu un designer, sau sa folosesti librarii de elemente grafice/css, programatorii nu sunt intotdeauna buni la design desi ne incapatanam sa facem si asta despre logare, nu e nici o problema sa fie mai multi logati odata, orice baza de date suporta conexiuni multiple. mysql de ex. datele astea le tii in SESSION. var intre pagini le transporti cu GET sau POST |
#5
Posted 13 October 2016 - 15:25
_Smiley_, on 13 octombrie 2016 - 13:47, said:
indubitabil. florinbad, on 13 octombrie 2016 - 13:58, said:
Indubitabil si de la mine. Va multumesc! Respect! @Flat: Am inceput cu desginul pentru ca era partea mai usoara, sa-mi amintesc un pic de html, sa invat css etc. Am nevoie si de "design" pentru ca am meniuri in care afisez diferite lucruri pe care le incarc din baza de date. Plus lucrez la fiecare functionalitate in parte. Baza de date o fac in Mysql. Am inceput conceperea ei, initial 1 tabel, cel de useri, deorece vreau sa invat pe el, gen sa adaug, sa sterg, sa caut, sa modific. Cand pot sa zic ca o sa inteleg binisor chestiile astea, pot sa fac si restul tabelelor si sa creez relatiile dintre ele, oricum nu e ceva complicat ca structura baza mea de date. Stiu sa transfer cu Get si Post, problema e ca nu stiu sa returnez mai multe variabile in pagina principala, in afara de a le memora in variabile SESSION. Caz concret, am pagina principala cu un formular de logare, apelez o pagina php care verifica in baza de data daca userul exista si ce drepturi are si vreau sa returnez catre pagina principala (memorandu-le in anumite variabile) numele userului si clasa de care apartine.... asta nu reusesc sa fac in afara de a folosi SESSION. Stiu ca sunt chestii de baza.... Edited by spe_ripper, 13 October 2016 - 15:26. |
#6
Posted 13 October 2016 - 16:07
nu trebuie sa returnezi mare lucru, iti trebuie doar un id
sa zicem in tabela users ai campurile id username password group sa zicem ca ai in tabela 1 gigel 2 spe_ripper 3 flat eu daca m-am logat pe pagina de login tu tii in sesiune doar id=3 p-ala il trimiti tot timpul pe baza lui in pagina ta principala sau oriunde vrei faci un query in db si afli ce user are id 3, ce drepturi are etc. in functie de asta ii afisezi sau nu lucruri sigur poti trimite mai multe variabile odata, nu numai id, dar asta e esential deci nu cari dupa tine decat minimul necesar, restul afli citind din db |
#7
Posted 13 October 2016 - 16:38
pai fac o singura data verificarea clasei, odata cu verificarea daca exista userul in baza de date.
adica bag user&parola, verific daca e in baza de date, returnez in pagina principala numele si clasa....numele imi trebuie sa il afisez in header(adica sa ii modific continutul) si clasa ca sa activez/dezactivez anumite meniuri la inceput, pt atat imi trebuie, deci nu ar avea rost sa mai interoghez de fiecare data dupa nume si clasa...asta se face o singura data la conectare, dupa nu mai imi trebuie sa activez/dezactivez meniuri, pentru ca cele la care sa zicem ca o anumita clasa de user nu ar avea acces, le grupez intr-o singura parte si gata. cel mai simplu ar fi sa retin tot in session daca gasesc userul. dar eram curios cum pot sa fac altfel. pentru php-ul pe care il apelez sa returneze mai multe variabile.... citisem si inputuri hidden.... singura idee e sa apelez de mai multe ori dupa fiecare varibiala care imi trebuie in parte..dar asta inseamna sa fac mai multe php.uri...ca daca scriu o functie php intr-o pagina nu stie de ea in cealalta... Edited by spe_ripper, 13 October 2016 - 16:45. |
#8
Posted 13 October 2016 - 17:06
Edited by dani.user, 13 October 2016 - 17:07. |
#9
Posted 13 October 2016 - 17:28
Si dupa vezi ca face topic ca i-au spart "hackerii" site-ul web.
|
#10
Posted 13 October 2016 - 19:15
cred ca m-am prins ce ce ziceam mai devreme, returnez input-uri hidden. mersi pentru sfaturi. pana sa ajung la impartit in clase si securitate mai am de mancat niste paine |
|
#11
Posted 13 October 2016 - 19:53
spe_ripper, on 13 octombrie 2016 - 16:38, said: daca scriu o functie php intr-o pagina nu stie de ea in cealalta... ba stie, daca o incluzi una intr-alta http://www.w3schools...hp_includes.asp |
#12
Posted 14 October 2016 - 10:21
si pe acelasi sistem, daca vreau sa includ un fisier cu clase in JS, ca sa le recunoasca in pagina principala, trebuie sa bag <script language="javascript" src="../blabla.js" type="text/javascript"></script>
in <head> nu? |
#13
Posted 14 October 2016 - 10:38
#14
Posted 14 October 2016 - 10:53
spe_ripper, on 13 octombrie 2016 - 19:15, said: cred ca m-am prins ce ce ziceam mai devreme, returnez input-uri hidden. mersi pentru sfaturi. pana sa ajung la impartit in clase si securitate mai am de mancat niste paine Si eventual imparte totul in bucatele mici la care ti se poate raspunde... de ex, login, pui aici codul care l-ai scris si ceri ajutor... Avantajul e ca vei gasi tone de exemple si tutoriale pe net spe_ripper, on 14 octombrie 2016 - 10:21, said:
si pe acelasi sistem, daca vreau sa includ un fisier cu clase in JS, ca sa le recunoasca in pagina principala, trebuie sa bag <script language="javascript" src="../blabla.js" type="text/javascript"></script> in <head> nu? Javascriptul il incluzi in html. PHP este un pre-procesor, e pe alt nivel. Dar in principiu, da, merge cum ai zis tu, cu script in head (sau footer uneori) |
#15
Posted 14 October 2016 - 13:19
folosesc Wamp.
problema loginului am rezolvat-o intr-un mod sau altul, tot cu ceva luat de pe net pentru validare. sa zicem ca securitatea nu e ceva foarte important acum, problema mea e ca codul arata foarte urat si d-abia am inceput sa scriu.....stiu asta aici e php unde se verifica daca userul e in baza de date <?php $user = trim($_POST["user"]);; $pass = trim($_POST["pass"]);; if ($user == "") { // asta nu cred ca se va intampla vreodata echo "yuhuu"; } else { $conn = new mysqli("localhost", "florin", "florin", "myapril"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } $sql = "SELECT * FROM users WHERE user_name= '" . $user."'"; $result = $conn->query($sql); $row=$result->fetch_assoc(); if ($result->num_rows == 0) { echo "User not found!"; } else { if ($row["user_name"] == $user and $row["user_pass"] == $pass) { $nume = $row["user_firstname"]. " " . $row["user_lastname"]; $class = $row["user_class"]; echo "User connected!"; $conn->close(); } else { echo "Password wrong!"; $conn->close(); } } } ?> metoda de verificare in BD a userului este ciudata si cred ca se putea face mult mai simplu. aici daca gasesc userul vreau sa returnez niste inputuri cu numele lui si clasa, inca nu am apucat sa le scriu. iar aici e pagina principala am pus in scripturi diferite ca sa delimitez eu functia de verificare a datelor din formular inainte de transmitere de pasul urmator. <script> $(document).ready(function(){ $("#form1").submit(function(){ //event.preventDefault(); txt1 = $("#i1").val(); txt2 = $("#i2").val(); if (txt1 != "" && txt2 != "") { $.post("login_db.php", {user: txt1, pass: txt2}, function(data, status){ alert(status); alert(data); if (data == "User connected!") { // aici daca gasesc userul, in zona de afisaj a paginii dau acces la anumite meniuri, ascund formularul de logare etc. aici voi schimba si in loc de user connected, voi returna clasa si numele, // si in functie de clasa voi afisa anumite meniuri $("#form1").hide(); $("h4").hide(); $("#liSearch").attr("class",""); $("#liAdmin").attr("class", "dropdown"); $("#liFiles").attr("class", "dropdown"); $("#liReports").attr("class", "dropdown"); $("#liTools").attr("class", "dropdown"); $("#login1").html("<span id='span1' class='glyphicon glyphicon-log-out'></span> Logout"); $("#aUser").text(""); } else { $("#i1").val(""); $("#i2").val(""); } }); event.preventDefault(); } }); }); </script> <script type="text/javascript"> var ck_username = /^[A-Za-z0-9]{3,20}$/; var ck_password = /^[A-Za-z0-9!@#$%^&*()]{4,20}$/; function checkForm(form) { var user = form.user.value; var pass = form.pass.value; var errors = []; if (!ck_username.test(user)) { errors[errors.length] = "UserName must have at least 3 letters and no spaces."; } if (!ck_password.test(pass)) { errors[errors.length] = "Password must have at least 4 letters and no spaces. "; } if (errors.length > 0) { reportErrors(errors); return false; } return true; } function reportErrors(errors){ var msg = "Please Enter Valide Data...\n"; for (var i = 0; i<errors.length; i++) { var numError = i + 1; msg += "\n" + numError + ". " + errors[i]; } alert(msg); } </script> deci idei? |
|
#16
Posted 14 October 2016 - 14:44
si daca eu dau disable la javascript din browser ce verificari mai face. din parti. mai afiseaza menu sau o pagina alba?
cel mai sigur verifici pe POST toate acele conditii |
#17
Posted 14 October 2016 - 14:51
de afisat afiseaza meniul disabled si formularul de logare...iar daca dai disable la js probabil nu mai face nimic cu datele pe care le bagi in formular
pai si atunci ce fac? nu mai folosesc javascript deloc? Edited by spe_ripper, 14 October 2016 - 14:55. |
#18
Posted 14 October 2016 - 15:41
Si cod urat si praf la securitate; cei mai rau din fiecare.
Nu te baza ca javascriptu opreste pe cineva sa aleaga un user mai lung/scurt de o anumite lungime Invata sa folosesti interogari parametrizate (acum iti poate sterge oricine baza de date) Reciteste ce-am scris mai sus Edited by dani.user, 14 October 2016 - 16:07. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users