Jump to content
GIGN Forum

[php] :blelohs:


RMXjunior
 Share

Recommended Posts

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

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

Ī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 :D metīšu šeit.. (vissticamāk ka jau drīz :D)

Link to comment
Share on other sites

$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

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

gaumes lieta...

pēc rezultāta divas absoluti identiskas koda daļas:

PHP

<?

if ( == 'kaka' )

  

'b ir kaka';

else

  

'b nav kaka';

?>

un

PHP

<?

= ( == 'kaka' 'b ir kaka' 'b nav kaka' );

?>

Link to comment
Share on other sites

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 :P

[/offtopic]

Edited by RMXjunior
Link to comment
Share on other sites

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

Ņā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 :P:D

Edited by RMXjunior
Link to comment
Share on other sites

ES vs PHP #2 :D: .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 by RMXjunior
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...