Pagina protejata parola cu redirect php
Last Updated: Mar 11 2013 16:45, Started by
livmer
, Mar 10 2013 16:32
·
0
#1
Posted 10 March 2013 - 16:32
Salut. Vreau sa fac o pagina in care introduc o parola, iar daca parola e corecta, sa ma redirectioneze pe o alta pagina?
Din ce am cautat pe net nu gasesc nimic sa fie cum vreau. Cum fac asta? Multumesc! Edited by livmer, 10 March 2013 - 16:34. |
#2
Posted 10 March 2013 - 16:40
##Login.php## <FORM action='redirect.php' METHOD='post'> <input type='text' name='password'> <input type='submit'> </FORM> ##Redirect.php## <?php $password = $_POST['password']; $correct_password = "abc"; if ($password == $correct_password) {header("Location: protected.php");} else {header("Location: login.php");} ?> asa ceva? |
#3
Posted 10 March 2013 - 16:44
Pai nu prea
E pagina de cu parola, unde trebuie sa o si verifice, daca e corecta sa imi faca redirect, daca nu sa afiseze un mesaj |
#5
Posted 10 March 2013 - 16:52
descrie mai mult ... sau pune aici ce ai sa ne putem da seama ... ca eu nu inteleg ce vrei tu sa faci
|
#6
Posted 10 March 2013 - 17:50
eroare: cannot modify header information - headers already sent by
|
#7
Posted 10 March 2013 - 19:16
livmer, on 10 martie 2013 - 17:50, said:
eroare: cannot modify header information - headers already sent by Poţi te rog să explici în fraze coerente, în limba română, ce vrei să faci? Aici sunt oameni care pot şi doresc să te ajute, dar dacă tu arunci aproape în scârbă o propoziţie, nici nu prea ai şanse să primeşti ajutor calumea. Pentru eroarea cu headers already sent, trebuie să ai grijă să-ţi structurezi codul calumea, cu separarea view logic de business logic, şi atunci nu vei mai avea acea problemă (probabil încerci să setezi un cookie sau să schimbi locaţia). Şi atenţie cum "protejezi" pagina aia, că doar pentru că tu îi dai redirect în urma introducerii parolei, nu înseamnă implicit că userul nu poate accesa direct scriptul "protejat" fără a introduce o parolă - e nevoie de măsuri adiţionale pentru a proteja. Cea mai sigură metodă de a proteja o pagină, e să n-o pui deloc în htdocs, ci în afară, şi din index.php să-i dai include atunci când utilizatorul e autentificat. |
#8
Posted 10 March 2013 - 20:37
Ma scuzati. M-am jucat eu cu niste sintaxe si am gasit ceva ce imi convine, insa cand fac redirect cu header("Location: paginal"); imi zice ca "Cannot modify header information - headers already sent" care ar putea fi problema? Multumesc!
Edited by livmer, 10 March 2013 - 20:52. |
#10
Posted 10 March 2013 - 22:17
livmer, on 10 martie 2013 - 20:37, said:
Ma scuzati. M-am jucat eu cu niste sintaxe si am gasit ceva ce imi convine, insa cand fac redirect cu header("Location: paginal"); imi zice ca "Cannot modify header information - headers already sent" care ar putea fi problema? Multumesc! OriginalCopy, on 10 martie 2013 - 19:16, said:
Pentru eroarea cu headers already sent, trebuie să ai grijă să-ţi structurezi codul calumea, cu separarea view logic de business logic, şi atunci nu vei mai avea acea problemă (probabil încerci să setezi un cookie sau să schimbi locaţia). |
|
#11
Posted 10 March 2013 - 22:50
Daca tot suntem in incepatori, crezi ca stiu ce inseamna separarea view logic de business logic?
Edited by livmer, 10 March 2013 - 22:51. |
#12
Posted 10 March 2013 - 23:10
#13
Posted 10 March 2013 - 23:15
Am rezolvat. Mai am o singura problema. Vreau sa fac sa-mi recunoasta o serie de parola si nu ma descurc cu sintaxa else if. Un mic ajutor va rog?
Merge, dar ce face acest object start? Edited by livmer, 10 March 2013 - 23:17. |
#14
Posted 10 March 2013 - 23:36
ce inseamna...serie de parola ? adica ai mai multe parole ?
ob_start ala impedica php-ul sa verse continutul catre browser si ..piteste cumva eroarea ta. Eroarea de mai devreme cu headers already sent aparea din cauza faptului ca header("Location: protected.php"); ca si setarea de cookieuri functioneaza in mod natural daca sunt primele instructiuni (linii, caractere) dintr-o pagina. E destul de logic: nu poti sa-i afisezi userului ceva si la jumatatea paginii sa zici "Redirect catre pagina2". Ori afisezi ori redirect . |
#15
Posted 10 March 2013 - 23:51
Da, mai multe parole
Am rezolvat. Deci e ok ob_start pus acolo? Am vazut ca daca pun codul la inceput merge bine, dar imi modifica alte alte si cu el imi afiseaza ok. Edited by livmer, 11 March 2013 - 00:03. |
|
#16
Posted 11 March 2013 - 00:47
livmer, on 10 martie 2013 - 23:15, said:
Mai am o singura problema. Vreau sa fac sa-mi recunoasta o serie de parola si nu ma descurc cu sintaxa else if. Un mic ajutor va rog? <?php if(isset($_POST['password'])) { $parole = array('parola_unu','parola_doi','parola_trei','etc'); in_array($_POST['password'],$parole) ? header("Location: protected.php") : header("Location: login.php"); } ?> |
#17
Posted 11 March 2013 - 07:23
livmer, on 10 martie 2013 - 22:50, said:
Daca tot suntem in incepatori, crezi ca stiu ce inseamna separarea view logic de business logic? Nu ştiu ce ştii sau nu ştii, dar dacă nu ştii şi eşti interesat, întrebi. Andrey__, on 11 martie 2013 - 00:47, said: <?php if(isset($_POST['password'])) { $parole = array('parola_unu','parola_doi','parola_trei','etc'); in_array($_POST['password'],$parole) ? header("Location: protected.php") : header("Location: login.php");exit(); |
Anunturi
Bun venit pe Forumul Softpedia!
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users