RMXjunior Posted October 2, 2008 Report Share Posted October 2, 2008 PHP if ($_GET['p'] == "admin" && $_SESSION['level'] == 4) { echo " <a href='?p=admin&m=users'>Manage users</a> <a href='?p=admin&m=news'>Manage news</a> " ; // User managment if ($_GET['m'] == "users" && !isset($_GET['id'])) { # Te notiek savienošanās ar db, useru niku izvilkšana un sakārtošana sarakstā.. # Uzspiežot uz nika pārmet uz ?p=admin&m=users&id={lietotāja id} } elseif ($_GET['m'] == "users" && isset($_GET['id'])) { # Te atkal notiek savienošanās ar db, izvilkšana useru info kur $_GET['id'> atbilst izvēlētajam # userim no saraksta augstāk un salikta formā editēšanai.. } # Te viss ir kārtībā, visu rāda kā es to vēlos, tālāk: // News managment if ($_GET['m'] == "news") { # Te notiek savienošanās ar db, ziņu nosaukumu izvilkšana un sakārtošana sarakstā.. # Uzspiežot uz nika pārmet uz ?p=admin&m=news&id={ziņu id} # Te arī itkā viss izskatās kā vajag.. } elseif ($_GET['m'] == "news" && isset($_GET['id'])) { # Bet lūk te, uzspiežot uz kāda no ziņu nosaukuma - nekas nenotiek! Paliek tas pats ziņu nosaukumu saraksts.. # Varbūt tas ir tāpēc ka ir divreiz norādīts $_GET['id'>.. Bet mēģinot viņu nomainīt uz nid nekas nemainījās.. # Varbūt kāds var pateikt kā pareizāk noformulēt šo kodu.. = } Link to comment Share on other sites More sharing options...
Norek Posted October 2, 2008 Report Share Posted October 2, 2008 neizmanto isset, izmanto empty. un vispār, labāk lieto arī switch`u PHP <? $sM = empty($_GET['m'])?"":$_GET['m']; $nId = empty($_GET['id'])?0:$_GET['id']; switch( $sM) { case "users": if(!empty( $nId)) // pareizi būtu sākt : ja ir { # Te atkal notiek savienošanās ar db, izvilkšana useru info kur $_GET['id'> atbilst izvēlētajam # userim no saraksta augstāk un salikta formā editēšanai.. } else { # Te notiek savienošanās ar db, useru niku izvilkšana un sakārtošana sarakstā.. # Uzspiežot uz nika pārmet uz ?p=admin&m=users&id={lietotāja id} } break; case "news": if(!empty( $nId)) { # Bet lūk te, uzspiežot uz kāda no ziņu nosaukuma - nekas nenotiek! Paliek tas pats ziņu nosaukumu saraksts.. # Varbūt tas ir tāpēc ka ir divreiz norādīts $_GET['id'>.. Bet mēģinot viņu nomainīt uz nid nekas nemainījās.. # Varbūt kāds var pateikt kā pareizāk noformulēt šo kodu.. = } else { # Te notiek savienošanās ar db, ziņu nosaukumu izvilkšana un sakārtošana sarakstā.. # Uzspiežot uz nika pārmet uz ?p=admin&m=news&id={ziņu id} # Te arī itkā viss izskatās kā vajag.. } break; } ?> Link to comment Share on other sites More sharing options...
RMXjunior Posted October 2, 2008 Author Report Share Posted October 2, 2008 Īsti nesaprotu kas notiek pirmajos variabļos sākot ar jautājum zīmi =\ bet nu tas tā.. Galvenais ka tagad viss iet, un man nāksies pārrakstīt visas lapas ar switch'u Paldies, turpmāk netaisīšu jaunus topicus.. visus savus konfliktus ar php metīšu šeit.. (vissticamāk ka jau drīz ) Link to comment Share on other sites More sharing options...
Norek Posted October 2, 2008 Report Share Posted October 2, 2008 $sM = empty($_GET['m'])?"":$_GET['m']; šitais ir tas pats, kas if(empty($_GET['m'])) $sM = ""; else $sM = $_GET['m']; ja Tev būtu error_reporting, tad pie tukša $_GET['m'], bļautu, ka kļūda. tā rindiņa šo kļūdu apiet. P.S. es šo postu laboju kādas 7 reizes. Link to comment Share on other sites More sharing options...
worm Posted October 2, 2008 Report Share Posted October 2, 2008 problēmas būtība ir pavisam vienkārša - tev ir līki uzrakstīs IF statements... PHP <? if ($_GET['m'] == "news") { // ... } elseif ($_GET['m'] == "news" && isset($_GET['id'])) { /// ja m=='news', tad līdz šai vietai kods nekad neaizies, jo tiks lietota IF pirmā daļa } ?> šādi būtu korekti: PHP <? if ($_GET['m'] == "news" && isset($_GET['id'])) { /// ... elseif ($_GET['m'] == "news") { // ... } ?> Link to comment Share on other sites More sharing options...
RMXjunior Posted October 2, 2008 Author Report Share Posted October 2, 2008 (edited) par if statmentiem skaidrs, plds un ?"": dod tukšu vērtību $_GET['m'] variablim ?0: dod vērtību 0 $_GET['id'] variablim .. pareizi sapratu? Edited October 2, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
worm Posted October 2, 2008 Report Share Posted October 2, 2008 gaumes lieta... pēc rezultāta divas absoluti identiskas koda daļas: PHP <? if ( b == 'kaka' ) a = 'b ir kaka'; else a = 'b nav kaka'; ?> un PHP <? a = ( b == 'kaka' ? 'b ir kaka' : 'b nav kaka' ); ?> Link to comment Share on other sites More sharing options...
worm Posted October 2, 2008 Report Share Posted October 2, 2008 pārvietots uz sadaļu 'programmēšana' Link to comment Share on other sites More sharing options...
Norek Posted October 2, 2008 Report Share Posted October 2, 2008 nespamo ja izpildās šis nosacījums?tiek piešķirta šī vērtībā:savādāk šī Link to comment Share on other sites More sharing options...
RMXjunior Posted October 2, 2008 Author Report Share Posted October 2, 2008 (edited) Skaidrs, par 2. veidu nemaz nezināju.. Edited October 2, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
RMXjunior Posted October 2, 2008 Author Report Share Posted October 2, 2008 (edited) Man te sacēlies viens jautājums.. Vai ir vērts lietot vienu exec.php failu, kurš apstrādātu datus no visām lapām.. Login, Register, Add/Edit/Remove News, Add/Edit/Remove users etc.. ?? --------------------------------------------------------------------------------------- [offtopic] Kad es noeditēju savu postu pierakstot jaunu jautājumu lai nespamot - vai forumā tas parādās ka ir jauna atbilde šajā topikā ? Ja nē, tad tieši tāpēc man ir doubleposts [/offtopic] Edited October 2, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
Norek Posted October 2, 2008 Report Share Posted October 2, 2008 Lietošana atkarīga no individuāla frameworka. Ja Tu uzskati, ka Tev tā būtu ērtāk, dari tā. Link to comment Share on other sites More sharing options...
Kavacky Posted October 2, 2008 Report Share Posted October 2, 2008 Var tā, bet racionālāk būtu no galvenā faila ( index.php karoče ) atkarībā no veicamās darbības includod failu, kurš dara vajadzīgo darbību kopu ( logins, useru figņas - viens fails, ziņu pievienošana/edit/del/lol - otrs, utt. ). Citādi iegūst lielu putru - būs tev viens exec.php fails ar visu un tajā visā būs grūti orientēties. Tikpat labi var nekādu exec.php neveidod un to pašu darīt no index.php. Link to comment Share on other sites More sharing options...
RMXjunior Posted October 2, 2008 Author Report Share Posted October 2, 2008 (edited) Ņāa.. Putra tiešām sanāca liela.. Un session_register() visu laiku paķer nevajadzīgo variabli .. rezultātā pievienojot jaunu useri no adm cp mans niks ($_SESSION['username']) nomainās uz tikko pievienoto, jo session_register() un add user lieto vienu $username variabli =\ Labāk exec.php vietā lietot /exec/ folderi Edited October 2, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
Kavacky Posted October 2, 2008 Report Share Posted October 2, 2008 Nevis tas paķer nevajadzīgo variabli, bet tu nepareizi variabļiem piešķir nosaukumus. Nosauc dažādi mainīgos, nebūs problēmu. Link to comment Share on other sites More sharing options...
RMXjunior Posted October 3, 2008 Author Report Share Posted October 3, 2008 (edited) Jā, pamaniju to kad jau biju visu sadalījis sīkākos failos.. Edited October 3, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
RMXjunior Posted October 3, 2008 Author Report Share Posted October 3, 2008 (edited) ES vs PHP #2 : .HTACCESS Sāku lietot bezmaksas hostingu @ www.0fees.net, ielādēju skriptu, saliku db utt.. Tad nu eju admin panelī (savā lapā) un mēģinu pievienot jaunu ziņu, nospiežot "Save" - itkā aiziet uz "ķērēj" failu, bet uzreiz hostings pārmet uz citu lapu.. Saņēmēj failā ir šādas lietiņas (varbūt tas kko izsaka): if-else statementi, $_GET/POST, empty(), header(), mysql_query/num_row, exit() un die() .htaccess failā ieslēdzu register_globals un RewriteEngine, kas vel varētu būt vajadzīgs? Uz lokālā servera viss strādā.. EDIT: Ai, nafig to hostingu, vairs nelietoju.. Edited October 3, 2008 by RMXjunior Link to comment Share on other sites More sharing options...
X ID Posted October 3, 2008 Report Share Posted October 3, 2008 "pareiza" attieksme. Tu pieminēji, ka izmanto funkciju header(). Ko tu ar viņu dari? P.S. register_globals on - slikts stils. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now