Chirurgia cranio-cerebrală minim invazivă
Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne. Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale. www.neurohope.ro |
Problema "id"
Last Updated: Feb 15 2010 20:01, Started by
Danbog_1920
, Feb 13 2010 21:05
·
0
#1
Posted 13 February 2010 - 21:05
Buna seara !
Am o comanda SQL care imi extrage din baza de date doar datele care au un intr-un camp o anumita valoare. Am folosit un while() si daca am 2, cu line break-ul pus mi se afiseaza pe amandoua. Acum... Pentru a modifica campul acela, am folosit urmatorul cod: while(...){ //aici sunt echo-urile care extrag din bd acele date care au in camp valoarea respectiva if(isset($_POST['optiune'])){ $eschiuel = mysql_query("UPDATE `users` SET acel_camp='Da' WHERE id=".$ha['id']." "); if(!$eschiuel){ echo 'Eroare: mysql_error() '; }else{ echo 'Anuntul a fost aprobat cu succes'; } }else{ echo '<form method="POST" action="" > <input type="submit" name="optiune" value="Aprobare" /> <br /> <br /> </form> '; } , unde $ha este mysql_fetch_array($comandaSQL) Acum...acel buton de Submit apare la fiecare data in parte... dar apasat, schimba cu "Da" la amandoua. Cum as putea face ca atunci cand dau click pe submitul respectivelor date, sa ii modifice doar la acele date campul.... Sper ca s-a inteles... Daca nu dau mai multe explicatii Edited by Bogdan2901, 13 February 2010 - 21:07. |
#2
Posted 14 February 2010 - 10:48
Bogdan2901, on 13th February 2010, 21:05, said: while(...){ //aici sunt echo-urile care extrag din bd acele date care au in camp valoarea respectiva if(isset($_POST['optiune'])){ $eschiuel = mysql_query("UPDATE `users` SET acel_camp='Da' WHERE id=".$ha['id']." "); if(!$eschiuel){ echo 'Eroare: mysql_error() '; } else{ echo 'Anuntul a fost aprobat cu succes'; } } else{ echo '<form method="POST" action="" > <input type="submit" name="optiune" value="Aprobare" /> <br /> <br /> </form> '; }//asta lipseste in codul tau } Data viitoare scrie codul mai "frumos", ca sa il poata citi lumea mai usor. |
#3
Posted 14 February 2010 - 12:17
neobluenet, on 14th February 2010, 10:48, said: Mai iti trebuie un hidden input in care sa pui id-ul inregistrarii din baza de date, ca daca dai submit (vezi ca ii trebuie si action la formular) el o sa trimita doar optiune. Pe langa faptul ca trebuie sa modifice, trebuie sa ii spui is ce sa modifice. Data viitoare scrie codul mai "frumos", ca sa il poata citi lumea mai usor. Sunt 2 solutii mari si late. 1. adauga form pentru fiecare articol cu input hidden. 2. creeaza butoanele submit de tip imagine si la campul "value" pune valoarea id-ului. |
#4
Posted 14 February 2010 - 12:28
Salut ! Intradevar merge, aproba doar cate unul... dar dupa ce am apasat odata dispar toate butoanele de submit . La hidden am folosit:
<input type="hidden" name="aprobare" value="'.$ha['id'].'" />Iar la update: $iid = $_POST['aprobare']; $eschiuel = mysql_query("UPDATE `users` SET Aprobat='Da' WHERE id='$iid' "); |
#5
Posted 14 February 2010 - 13:16
DarkAngelBv, on 14th February 2010, 12:17, said: Solutia ta nu este tocmai corecta. Sunt 2 solutii mari si late. 1. adauga form pentru fiecare articol cu input hidden. 2. creeaza butoanele submit de tip imagine si la campul "value" pune valoarea id-ului. 1. Pai eu le iau cu un while din baza de date... Deci echo $ha['Camp1']; e scris odata, dar apare de cate ori se gaseste in baza de date, cu valorile respetive 2. De ce chiar imagine ? |
#6
Posted 14 February 2010 - 14:48
Imagine deoarece la submit-ul de tip imagine proprietatea "value" este ascunsa ochiului.
in loc sa ai <form1> <hidden1><submit1> </form1> <form2> <hidden2><submit2> </form2> <form3> <hidden3><submit3> </form3> vei avea ceva de genul <form> <submit1> <submit2> <submit3> <submit4> .... </form> deci mult mai ok din punct de vedere al codului. |
#7
Posted 14 February 2010 - 15:47
Bun...dar cum pot pune un buton la fiecare articol ? Si dupa ce accept unul, sa apara in continuare celelalte butoane, iar daca le apas etc
Edited by Bogdan2901, 14 February 2010 - 15:48. |
#8
Posted 15 February 2010 - 03:14
Ca sa ai interactivitate trebuie sa folosesti ajax.
Sau poti folosi solutia mai "din topor", adica sa faci submit catre aceiasi pagina in care sa verifici $_POST. |
#9
Posted 15 February 2010 - 15:04
Hm... Pana la urma am rezolvat-o in urmatorul mod:
- am mai creat un fisier in care am pus codul PHP pentru UPDATE; - ID-ul anuntului este pus intr-un hidden input; - in al doilea fisier verific daca s-a apasat inaitne butonul, astfel incat daca s-a incercat sa se intre direct pe pagina, nu il va lasa; - am pus un http-equiv="refresh" , care duce inapoi spre pagina de admin daca totul a decurs perfect. (Cei care intra direct pe pagina pot astepta dupa refresh si o luan de zile....) Rezultatul: A mers !!! Multumesc tuturor ! |
#10
Posted 15 February 2010 - 15:42
Sa vezi ce merge pentru oricine care stie ce face, sa-ti ocoloeasca "protectia".
Usor usor incepi sa ma convingi ca ai talent la a face lucrurile gresit. De ce nu faci un checkbox pentru fiecare rand cu numele "accept[<id>]", un singur buton de submit in formular, si in procesare iterezi peste $_POST['accept'] ? Edited by OriginalCopy, 15 February 2010 - 15:47. |
|
#11
Posted 15 February 2010 - 15:59
Hm... as putea incerca. Daca zici ca nu e bine cum am facut eu.
|
#12
Posted 15 February 2010 - 17:40
Si mai bine ar fi sa te intrebi "de ce nu e bine?", "unde e gaura de securitate/functionalitate?". Nu e "meseria" mea sa-ti bag pe gat informatii. E treaba ta sa te intrebi, eventual sa intrebi pe forum.
|
#13
Posted 15 February 2010 - 17:41
Bun atunci... cat de curand o sa modific algoritmul codului. Unde e gaura de securitate la versiunea actuala ?
|
#14
Posted 15 February 2010 - 17:52
Nu e neaparat de securitate (depinde cum folosesti html redirect, poate escala intr-una de securitate), e de functionalitate. Nu poti garanta ca userul care intra pe site-ul tau face asta cu un browser. Poate sa intre cu un program mai mult sau mai putin propriu, sau sa dezactiveze "html refresh" in browserul sau, si atunci nu va fi redirectionat. Va vedea codul HTML, ceea ce e de ajuns. Explicatii gasesti in "resurse pt studiu individual", punctele II. 1. 1, II. 1. 2, II. 1. 3.
Edited by OriginalCopy, 15 February 2010 - 17:53. |
#15
Posted 15 February 2010 - 19:09
Din cate am inteles eu, el doreste acest script pentru administrare. Presupunand ca de administrarea sitului se ocupa el sau cineva de incredere, nu o putem numi gaura de securitate. Cel mult neglijenta.
|
|
#16
Posted 15 February 2010 - 20:01
OriginalCopy, on 15th February 2010, 17:52, said: Nu e neaparat de securitate (depinde cum folosesti html redirect, poate escala intr-una de securitate), e de functionalitate. Nu poti garanta ca userul care intra pe site-ul tau face asta cu un browser. Poate sa intre cu un program mai mult sau mai putin propriu, sau sa dezactiveze "html refresh" in browserul sau, si atunci nu va fi redirectionat. Va vedea codul HTML, ceea ce e de ajuns. Explicatii gasesti in "resurse pt studiu individual", punctele II. 1. 1, II. 1. 2, II. 1. 3. 1. O sa fie sistem de autentificare pe aceea pagina, cu un singur cont creat... fara posibilitatea de a se creea unul nou 2. NU are cum sa ajunga pe pagina aceea ca utilizator capabil sa aprobe un articol. Ii va da : 1. eroarea pe prima pagina ca nu e logat, 2. eroarea pe a doua pagina ca butonul submit nu a fost apasat (adica a intrat direct pe pagina). Redirectul e pus intre if, nu in afara lui sau intre else |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users