Jump to content
php.lv forumi

Palīdziet mazliet... (par lapas navigāciju)


parrymason

Recommended Posts

Tomēr vēl viena lieta: linki ir šādi :

<a href="http://localhost/tabula.php?lapa=lapa2">links2</a>

Bet ja nu es nomainu hostingu, tad jāpārraksta visi linki pilnīgi visur?

15696[/snapback]

<p><a href="<?php echo $_SERVER['PHP_SELF'];?>?sadala=lapa2">links2</a></p>

Link to comment
Share on other sites

principā pārbaudes nepieciešams likt tikai tad ja tev ir tiešs sakars ar mainīgo un datubāzi un/vai failu sistēmu.

resp. - kā jau te ir minēts:

bez pārbaudes nekad neliec include($_GET['sadala'].'.txt');

vai mysql_query("SELECT * FROM ".$_GET['sadala'].");

pārbaudes viegli ir veikt ar preg_match();

piemēram tev ir trīs sadaļas: jaunumi, raksti, arhivs,

 

uzliekam preg_match('/^(jaunumi|raksti|arhivs)$/',$_GET['sadala']) un bez problēmām varam tālāk izmantot mainīgo jau tieši, bez liekiem if/switch

 

piemērs:

<?php
$sadala = ( preg_match('/^(jaunumi|raksti|arhivs)$/',$_GET['sadala'] ) ? $_GET['sadala'] : 'jaunumi' );
?>

 

var arī dinamiskāk uztaisīt:

<?php
$visas_sadalas = array ('jaunumi','raksti','arhivs','kontakti');
$sadala = ( preg_match('/^('.implode('|',$visas_sadalas).')$/',$_GET['sadala'] ) ? $_GET['sadala'] : $visas_sadalas[0] );
?>

tādejādi tev jaunas sadaļas nāksies pievienot masīva beigās un nebūs īpaši jāčakarējas ar pregmatch. kaut gan šis kods ir tik primitīvs, ka nav starpības, kur to čakarēt - vai masīvā vai jau iekš preg_match :)))

vienkārši variācija.

Edited by hmnc
Link to comment
Share on other sites

ja jau

<?php
$visas_sadalas = array ('jaunumi','raksti','arhivs','kontakti');
$sadala = ( preg_match('/^('.implode('|',$visas_sadalas).')$/',$_GET['sadala'] ) ? $_GET['sadala'] : $visas_sadalas[0] );
?>

tad efektīgāk iraid

<?php
$visas_sadalas = array ('jaunumi','raksti','arhivs','kontakti');
$sadala =in_array($_GET['sadala'],$visas_sadalas)?$_GET['sadala'] : $visas_sadalas[0] );
?>

Link to comment
Share on other sites

×
×
  • Create New...