Dezactiveaza bara de administrare in WordPress 3.3+

Cred ca nu numai pe mine ma incurca bara de administrare ce apare pe partea de front-end atata timp cat esti logat.

O varianta ar fi sa intri in admin dintr-un browser iar intr-un alt browser sa testezi site-ul.

Solutie

Solutia eleganta pentru a elimina bara de administrare in WordPress 3.3+ este adaugarea unei singure linii la inceputul fisierului functions.php ( fisierul se afla in folderul de tema, daca folosesti tema twentyeleven atunci vei gasi in wp-content/themes/twentyeleven/ )

1
2
3
4
5
6
7
<?php
 
// Adauga la inceputul fisierului functions.php pentru a dezactiva bara de administrare 
 
add_filter('show_admin_bar', '__return_false');
 
?>

Tutorial JSON PHP

In aceste momente vom juca cu transformari JSON in PHP. JSON este o colectie de obiecte . In PHP putem transforma un array in JSON si vice-versa sa transformam un obiect JSON in array .

Fie un array in php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
 
$job_arr = array (
  array (
    'title' => 'Programator PHP',
    'description' => 'Descriere post Programator PHP'
  ),
  array (
    'title' => 'Programator JS',
    'description' => 'Descriere post Programator JS'
  ),
  array (
    'title' => 'Programator .NET',
    'description' => 'Descriere post Programator NET'
  )
);

Transformam array-ul din PHP in JSON folosind functia json_encode($param_arr):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
  // initializam variabila $job_arr;
 
  $job_json = json_encode($job_arr); // transformam in JSON si salvam in $job_json. Rezultatul va fi de tip string
 
  echo $job_json;  // afisam JSON-ul.
 
  // pentru a decoda  
  $job_arr = json_decode($job_json);  // am transformat JSON-ul in array 
 
  // afisam continutul array-ului $job_arr
 
  print_r($job_arr); 
?>

JSON-ul este folosit pentru comunicare cu JAVASCRIPT. De exemplu avem un request AJAX si rezultatul actiunii ( cod PHP ) va fi un JSON. Acest obiect se va parsa in Javascript si se va trata dupa cerinte.

Tips and Tricks

Cea mai simpla modalitate de a parsa un JSON este utilizarea librariei JQuery. Aici se poate proceda in felul urmator:

1
var my_obj = jQuery.parseJSON(json_varible);

SWITCH in PHP

Switch in PHP inseamna mai multe IF-uri, bineinteles intr-un mod mai structurat si usor de urmarit. Orice instructie SWITCH se poate rescrie cu n IF-uri. Dar hai sa vedem mai exact studiind urmatoarele exemple.

“Sa se verifice daca valoarea variabilei $nume face parte din urmatorele: Andrei, Vlad, Ioana, Andra”. Daca da atunci sa se afiseze numele

Rezolvare 1: Folosim varianta clasica cu IF-uri.

1
2
3
4
5
6
7
8
9
10
11
<?php
  $nume = 'Andrei';
  if ( $nume == 'Andrei' ) 
    echo $nume;
  if ( $nume == 'Vlad' ) 
    echo $nume;
  if ( $nume == 'Ioana' ) 
    echo $nume;
  if ( $nume == 'Andra' ) 
    echo $nume;
?>

Rezolvare 2: Folosim SWITCH.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
  $nume = 'Andrei';
  switch ( $nume ) {
    case 'Andrei':
      echo $nume;
    break;
    case 'Vlad':
      echo $nume;
    break;
    case 'Ioana':
      echo $nume;
    break;
    case 'Andra':
      echo $nume;
    break;
  }
?>

Rezolvare 3: Folosim SWITCH cu toate cazurile intr-un singur loc. Putem aplica aceasta metoda pentru ca se va executa aceeasi instructiune indiferent de valoarea variabilei.

1
2
3
4
5
6
7
8
9
10
<?php
  $nume = 'Andrei';
  switch ( $nume ) {
    case 'Andrei':
    case 'Vlad':
    case 'Ioana':
    case 'Andra':
      echo $nume;
  }
?>

Exemplele anterioare au scop didactic. Eu as rezolva aceasta problema folosind IF + functia in_array() .

1
2
3
4
5
<?php
  $nume = 'Andrei';
  if ( in_array ($nume, array('Andrei', 'Vlad', 'Ioana', 'Andra')) )
      echo $nume;
?>

Afisare data curenta in PHP

Afisarea datei curente in PHP este foarte simpla, se va folosi functia date().

Exemple:

1
2
3
4
5
<?php
 
  echo date("d.m.Y");   // se va afisa de ex: 11.10.2012
 
?>
1
2
3
4
5
<?php
 
  echo date("d-m-Y");   // se va afisa de ex: 11-10-2012
 
?>

Bineinteles se poate schimba si ordinea de afisare.

1
2
3
4
5
<?php
 
  echo date("Y-m-d");   // se va afisa de ex: 2012-10-11
 
?>

If, else, elseif in PHP

De multe ori in orice cod – nu numai in PHP – trebuie avuta in vedere una sau mai multe conditii. Azi vom invata cum se trateaza conditiile in php folosind IF, ELSE si ELSEIF.

Exemplu1: Dorim sa verificam daca doua variabile sunt egale, in caz afirmativ sa se afiseze un mesaj 

1
2
3
4
5
<?php
  $a = 3;
  $b = 3;
  if ($a==$b) echo 'Cele 2 variabile sunt egale';
?>

Exemplu2: Dorim sa afisam daca un numar este pozitiv sau negativ. 

1
2
3
4
5
<?php
  $a = 3;
  if ($a>=0) echo 'numarul este pozitiv';
  else echo 'numarul este negativ';
?>

Exemplu3: Sa se afiseze un mesaj daca numarul este intre 1-4, alt mesaj daca variabila are valoare intre 5-7 si un  al treilea mesaj daca are valoare intre 8-10.

1
2
3
4
5
6
7
8
9
10
<?php
$a = 9;
if ($a >=1 && $a <=4) {
  echo 'variabila este intre 1-4';
}elseif($a >= 5 && $a<=7) {
  echo 'variabila este intre 5-7';
}elseif ($a >=8 && $a <=10) {
  echo 'variabila este intre 8-10';
}
?>

Extrage subtext in MySQL

Avem urmatoare tabela cu numele “prieteni”:
———————
| id | nume |
———————
| 1 | Vlad |
| 2 | Andrei |
| 3 | Delia |

Cerinta: Se cere sa se afiseze primele 2 caractere din campul nume folosind SQL.

Rezolvare : Se va folosi functia SUBSTRING(param1, param2, param3) din MySQL unde:

  • param1: nume camp
  • param2: pozitia de inceput ( !!! atentie !!! se porneste de la valoarea 1 )
  • param3: numarul de caractere (se va specifica cate caractere dorim sa afisam din campul selectat)

Solutia SQL:
===========
SELECT id, SUBSTRING(`nume`,1,2) FROM `prieteni`;

Formatarea unui numar in PHP

Sa presupunem ca avem o tabela cu produse avand preturi cu structura diferita, ex: 10 lei, 1.3 lei, 1.12 lei . Cand dorim sa afisam aceste preturi prima data se va afisa fara zecimala, la pretul urmator cu o singura zecimala iar pentru ultimul pret cu 2 zecimale.

Se cere sa se afiseze in php, in mod automat, toate preturile cu 2 zecimale.

Pentru a rezolva aceasta cerinta, vom folosi functia number_format().

Exemplu:

1
2
3
4
5
6
7
8
9
10
<?php 
 
$price = array ( 10, 1.3, 1.12); //definim un sir cu preturi 
for ($i=0;$i<count($price), $i++) { // parcurgem sirul
  echo number_format($price[$i], 2).PHP_EOL;  // afisam pretul cu 2 zecimale, fiecare pret se va afisa pe linie noua.
}
 
 
?>

Convertirea unui text intr-un alt set de caractere

Functia iconv() din php este utila cand doresti sa transformi codificarea unui text. Exemplu ai un text codificat ISO-8859-2 si doresti sa transformi in UTF8. Am pregatit un exemplu pentru transformarea/convertirea textului:

Dupa cum ai vazut in exemplu de mai sus, functia iconv() are 3 parametrii:

Ex: iconv(‘ISO-8859-2’, ‘UTF-8’, $text)
===============================================
– ‘ISO-8859-2’: setul de caractere sursa
– ‘UTF-8’: setul de caractere destinatie
– $text: textul sursa avand setul de caractere ‘ISO-8859-2’

Adauga folder in include_path

Probabil ca multi dintre voi ati descarcat librarii php. Dupa ce ati descarcat o librarie, extrageti fisierele intr-un dosar, ex: /mylib/nume_librarie. Doriti sa includeti un fisier din acest folder in proiectul vostru.

In mod normal daca ai nevoie de un fisier din acest dosar vei scrie ceva de genul:

Ei bine, dar pe serverul unde veti incarca siteul, libraria se afla intr-un alt folder, ex: /server/mylib/nume_librarie. In acest caz aplicatia va avea erori.

Solutie: Pentru a nu hardcode-a calea catre librarie, aveti posibilitatea de a adauga folderul librariei in php.ini :

include_path = ‘.:/usr/share/php:/usr/share/pear’

Modificati linia de mai sus in:

include_path = ‘.:/usr/share/php:/usr/share/pear:/mylib/nume_librarie’

Dupa ce ati salvat fisierul php.ini si ati repornit serverul HTTP, veti putea folosi in aplicatia voastra urmatorul cod:

Solutia 2:

Daca nu aveti acces la fisierul php.ini atunci puteti sa adaugati folderul la include_path la inceputul aplicatiei, ex:

Introducere in JSON si PHP

JSON ( JavaScript Object Notation ) este tot mai des folosit in lumea IT. Un fisier JSON se implementeaza foarte rapid, este folosit de tot mai multe servicii web. Pe scurt este foarte un mod rapid de a transporta date intre doua interfete.

1. Cum se genereaza un fisier json dintr-un array PHP ?

Se va afisa:
[“sandor”,”ion”,”elena”]

2. Cum se transform un fisier json in array PHP ?

Se va afisa:
array(3) { [0]=> string(6) “sandor” [1]=> string(3) “ion” [2]=> string(5) “elena” }