PHP

Nga Wikipedia, enciklopedia e lirë
Shko te: navigacion, kërko
PHP
PHP
Zhvillues The PHP Group
Versioni i fundit 5.2.2 / May 3 2007
Sistemi operativ Ndër-platformik
Licenca PHP License
Faqja zyrtare php.net

PHP (Hypertext Preprocessor më parë njihej si „Personal Home Page Tools“) është gjuhë skripti që ngjan për nga sintaksa me gjuhën C, Perl dhe mund të bashkëveprojë me lloje të ndryshme bazash të dhënash (database) si psh. MySQL,MSSQL etj. për të krijuar faqe Interneti dinamike dhe interaktive. PHP është një program kompjuterik me kod të hapur. PHP është gjuhë që ekzekutohet në server dhe përdoret për programimin e faqeve dinamike. Meqë browseri dhe vete protokolat e internetit njohin kodin HTML,XML edhe PHP përdor këto metoda për shfaqjen e rezultateve. Meqënëse çdo manipulim, çdo operacion që kryhet nga PHP kryhet në server dhe në browser çdo gjë shfaqet si HTML,XML etj. kjo do të thotë se për të punuar në PHP duhet patjetër të kesh të instaluar server e në ketë rast me që kemi të bejm me "Open source" (Kod i hapur) serveri përkatës është APACHE. Apache server është server për sistemet e hapura operative siç është LINUXI, por mund të instalohet edhe në Windows,BSD etj. PHP bashkë me Apache janë ndër veglat më të perdorura për programim të faqeve dinamike në ditët e sotme.

Shembull[redakto | redakto tekstin burimor]

Skript i thjesht (dergon "Urime për skriptin e parë!").

<?php
  echo "Urime për skriptin e parë!";
?>

I njëjti shembull në kombinim me HTML.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <head>
    <title>Skripti i parë</title>
   </head>
   <body>
     <?php 
       echo "Urime për skriptin e parë!";
     ?>
   </body>
 </html>

Përdorimi i gjuhës HTML brenda gjuhës PHP.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
 <html>
   <head>
    <title>Skripti i parë</title>
    <style type="text/css">
      .kuq { color: #ff0000; }
    </style>
   </head>
   <body>
     <?php 
       echo 'Urime për <span class="kuq">skriptin</span> e parë!';
     ?>
   </body>
 </html>

Pak më zgjeruar:

<?php
 
  class TregoKursin
  {
	public $kursi;
	public $vlera;
 
	function kalkulimi()
	{
		return $sum = round($this->vlera * $this->kursi, 2);
	}	
  }
 
  $obj = new TregoKursin();
 
  $obj->kursi = 1.49;
  $obj->vlera = 100;
  echo '<div>EUR ' . $obj->vlera . ' = USD ' . $obj->kalkulimi() . '</div>';
 
  $obj->kursi = 0.74;
  $obj->vlera = 100;
  echo '<div>EUR ' . $obj->vlera . ' = GBP ' . $obj->kalkulimi() . '</div>';
 
  $obj->kursi = 156.54;
  $obj->vlera = 100;
  echo '<div>EUR ' . $obj->vlera . ' = JPY ' . $obj->kalkulimi() . '</div>';
 
  $obj->kursi = 1.6;
  $obj->vlera = 100;
  echo '<div>EUR ' . $obj->vlera . ' = CHF ' . $obj->kalkulimi() . '</div>';
 
?>

Një çështje të sigurisë që zhvilluesve të më ndodhë kur krijohen format është dobësi për të duke përdorur $ _SERVER [ 'PHP_SELF'] ose $ _SERVER [ 'REQUEST_URI'] si veprim i një formë ose të përdoren në një atribut href. Përdorimi i këtyre thirrjeve super globale e mundur të kontribuojë për XSS (cross-site scripting) shfrytëzon.

Shembull Përbashkët:

<?php echo $_SERVER['PHP_SELF']; ?>

Një tjetër shembull:

Shumica e përdor $ _SERVER [ 'PHP_SELF'] dhe $ _SERVER [ 'REQUEST_URI'] janë në forma të HTML. Nëse doni të veprimit atribut për pikë në URL aktuale, lëre bosh. Referencat URI pikë që janë bosh për të burimeve aktuale. Nëse ju nuk doni të specifikojë veprim (dhe ka arsye të mira për të dashur për të bërë që, të tilla si nxjerrje varg pyetje nga URL aktual), ju duhet të kandidojë atë nëpërmjet esc_url ().

<?php echo esc_url( $_SERVER['PHP_SELF'] ); ?>

Njëjta vlen edhe për lidhje ... kandiduar atribut a href përmes esc_url ().

<?php echo esc_url( $_SERVER['PHP_SELF'] . '?no=check' ); ?>

Shembuj të URLs që mund të shfrytëzojë këtë për veprimet e dy cituar:

program.php/"%20onmouseover='alert(document.cookie)"

Dhe vetëm veprimet e cituar:

program.php/'%20onmouseover='alert(document.cookie)'. A-Z

Lidhjet e jashtme[redakto | redakto tekstin burimor]