:: Articoli marcati con tag ‘php’

lug 17

Php in pillole : Redirect

Categorie : Senza categoria | Nessun commento »

Il redirect è indispensabile quando, per diverse necessità, si vuole indirizzare l’utente in un altra pagina .
In php il redirect è una cosa molto semplice e avviena grazie al seguente codice :

  1.  
  2. $url = "http://www.google.it";
  3. header("location: ".$url);
  4.  

$url è l’indirizzo della pagina dove indirizzare l’utente . L’url puo’ essere assoluto ( http://www.google.it ) o locale ( prova.php)
exit interrompe l’esecuzione dello script , non è indispensabile ma è buona norma metterlo

Il rederict non viene eseguito quando prima della funzione header è presente un output( echo “” o codice html).

  1.  
  2. function password_casuale($lunghezza,$caratteri="abcdefghilmnopqrstuvz123456789"){
  3.  
  4.         if($caratteri == ""){return "";};
  5.        
  6.         $lunghezza_caratteri = strlen($caratteri)-1;
  7.  
  8.         $password = "";
  9.         while(strlen($password) < $lunghezza){
  10.                 $carattere_rnd = rand(0,$lunghezza_caratteri);
  11.                 $password .= $caratteri[$carattere_rnd];
  12.        
  13.         }
  14.        
  15.         return $password;
  16. }
  17.  
  18. echo password_casuale(10);
  19.  

Questa semplice funzione ci permette di generare una password in modo del tutto casuale . Durante la chiamata della funzione occorre specificare la lunghezza della password e se occorre anche i caratteri che si voglione usare. Di defoult sono presenti tutti i numeri compresi tra 0 a 9 e l’intero alfabeto.

Analiziamo insieme il codice:

  1.  
  2. if($caratteri == ""){return "";};
  3.  

La variabile $caratteri è una stringa contenente i caratteri che la password deve contenere. Questa prima riga di codice controlla se la variabile è vuota , in questa caso non occore procedere con l’esecuzione del codice.

  1.  
  2. $lunghezza_caratteri = strlen($caratteri)-1;
  3.  

Memoriziamo in una variabile la lunghezza della variabile $caretteri . Ci servirà come indice massimo per estrarre i caratteri.

  1.  
  2.         while(strlen($password) < $lunghezza){
  3.                 $carattere_rnd = rand(0,$lunghezza_caratteri);
  4.                 $password .= $caratteri[$carattere_rnd];
  5.        
  6.         }
  7.        
  8.         return $password;
  9.  

Questo pezzo di codice è il cuore della funzione . Finchè la lunghezza della password fin ora generata è minore della lunghezza della password che si vuole creare , si aggiunge alla variabile $password un carattere preso a caso da $caratteri.
Quando la password è stata creata viene restituita.

Ordinare un array vuol dire sistemare gli elementi dell’array seguendo un ordine logico ben preciso. Php mette a disposizione due funzioni per ordinare un array : sort e rsort.

sort ordina gli elementi in ordine crescente (ordine alfabetico )
rsort ordina gli elementi in ordina descrescente

  1.  
  2.  
  3. $array = array("z","b","a","l","m","u","q");
  4. // Ordine naturale
  5. for($i=0;$i<=count($array);$i++){
  6.         echo $array[$i]." ";
  7. }
  8. // Risultato : "z b a l m u q "
  9. echo "<br/>";
  10. sort($array);
  11.         for($i=0;$i<=count($array);$i++){
  12.         echo $array[$i]." ";
  13. }
  14.  
  15. // Risultato : "a b l m q u z "
  16. echo "<br/>";
  17. rsort($array);
  18.         for($i=0;$i<=count($array);$i++){
  19.         echo $array[$i]." ";
  20. }
  21.  
  22. // Risultato : "z u q m l b a "
  23.  
  24.  

Il modo piu’ semplice per effettuare una ricerca di una stringa su un altra variabile di tipo string è quello di usare la funzione strpos.

  1.  
  2. $stringa= ‘questa è una variabile di tipo stringa’;
  3. $find   = ‘variabile’;
  4. $pos = strpos($stringa, $find);
  5.  

Come da esempio la funzione accetta due parametri . Il primo parametro è la stringa principale dove effettuare la ricerca , il secondo parametro la stringa da cercare.

E’ possibile specificare un terzo parametro opzionale che dice alla funzione da quale posizione deve cercare la stringa.

Strpos restituisce se la stringa è presenta la posizione di quest’ultima nella prima stringa .Se non è presente restituisce false

  1.  
  2. $stringa= ‘ciao mondo !’;
  3. $find   = ‘mondo’;
  4. $pos = strpos($stringa, $find);
  5. if($pos >= 0){
  6.    // La stringa è presente
  7.    echo "La stringa ".$find." è stata trovata !";
  8. }else{
  9.    // La stringa non è presente
  10.    echo "La stringa ".$find." non è stata trovata ! ";
  11. }
  12.  

Strip_tags è una funzione presente nel cuore di php che ci permette di “purificare” una stringa eliminado tutti i tag html.

  1.  
  2. $str = ‘<a href="#">Link prova</a> <b> Grassetto prova</b> <em>Corsivo prova</em>’;
  3.  

In questo caso restituisce :

  1.  
  2. Link prova Grassetto prova Corsivo prova
  3.  

Come secondo parametro opzionale è possibile specificare i tag che non si vogliono eliminare.

  1.  
  2. $str = ‘<a href="#">Link prova</a> <b> Grassetto prova</b> <em>Corsivo prova</em>’;
  3. echo strip_tags($str,"<b><em>");
  4.  

Stamperà

  1.  
  2. Link prova  <b>Grassetto prova</b> <em>Corsivo prova</em>
  3.  

Per una documentazione dettagliata vi rimando al manuale ufficiale php ( strip_tags )

  1. function get_first_image($maxwidth,$maxheight,$autoresize=false){
  2.  
  3.         global $post, $posts;
  4.         ob_start();
  5.         ob_end_clean();
  6.         preg_match_all(‘//i’, $post->post_content, $matches);
  7.  
  8.     $first_img = $matches[1][0];
  9.  
  10.     if(!empty($first_img)){
  11.  
  12.     if($autoresize==1){
  13.  
  14.     list($width, $height) = getimagesize($first_img);
  15.  
  16.     if($width>$height){
  17.         if($maxwidth>$width){
  18.             $newwidth = $width;
  19.         }else{
  20.             $newwidth = $maxwidth;
  21.         }
  22.  
  23.         $newheight = ($height*$newwidth)/$width;
  24.  
  25.     }else{
  26.         if($maxheight>$height){
  27.             $newheight = $height;
  28.         }else{
  29.             $newheight = $maxheight;
  30.         }
  31.  
  32.         $newwidth = ($width*$newheight)/$height;
  33.     }
  34.     }else{
  35.  
  36.         $newwidth = $maxwidth;
  37.         $newheight = $maxheight;
  38.  
  39.     }
  40.  
  41.     return "<img src="".$first_img."" alt="".$post->post_title."" width="".$newwidth."" height="".$newheight."" />";
  42.  
  43.     }
  44.  
  45. }

Questa interessante funzione ci permette di prelevare la prima immagine di un post wordpress e ridimensionarla a nostro piacimento.
Utile se si vuole realizzare un template orginale al 100%.

Per utilizzarla dovete inserirla nella pagina functions.php del vostro template prima dell’ultima funzione presente.
La sintassi è la seguente : echo get_first_image(width,height,resize_auto); ?>

Resize_auto è un parametro che se impostato su true dice di ridimensionare l’immagine dinamicamente .
Width e height sono la larghezza e l’altezza massima dell’immagine .

lug 03

Pillola php : inviare una email

Categorie : Senza categoria | Nessun commento »

L’invio di una email in php avviene grazie alla funzione email().

email(destinatario,oggetto,messaggio);

Create una pagina php , chiamatela sendemail.php , e copiate il seguente codice  :

<?php

$destinatario = “destinatario@email.it”;
$oggetto = “qui oggetto del messaggio”;
$messaggio = “qui corpo dell’email”;

if(email($destinatario,$oggetto,$messaggio)){
echo “Email inviata con successo”;
}else{
echo “Email non inviata”;
}

?>

Leggi il resto di questo articolo »