PGP Key

Statistiche

Visite totali: 
Instagram



PHP & Co.

In realtà, più che voler trasmettere la mia conoscenza ad altri, ho la necessità di ricordarmi alcune particolarità di questo linguaggio (magari create appositamente per qualche sito web). Di conseguenza non troverete tutte le informazioni su PHP ma alcuni script utilizzabili rapidamente per ottenere alcune particolarità.

Creazione di un username con javascript

La mia necessità era quella di creare un username con un determinato formato a partire da nome e cognome (es. Mario Rossi: m.rossi). Il tutto durante la digitazione degli stessi senza necessità di ricaricare la pagina. In ciò mi è venuto incontro, questa volta, il javascript. Il primo step, è quello di creare i campi nome, cognome  e username con all'interno il tag "id" (necessario al javascript per capire su quale campo operare come nell'esempio indicato nello script qui sotto (riga 1 e 2). Secondo step, è quello di aggiungere, nell'ultimo campo compilato, in questo caso il "cognome" il comando di attivazione dello script utilizzando "onkeyup" in questo modo (calcola_username() è il nome che daremo alla funzione) come indicato nella riga 2.
<input type="text" name="nome" id="nome">
<input type="text" name="cognome" id="cognome" onkeyup="calcola_username()">

<input type="text" name="username" id="username">
In pratica siamo pronti. Non ci resta che aggiungere, nell'head della pagina il nostro script:
<script>
function calcola_username() {
   v1 = document.getElementById('cognome').value;
   v1 = v1.toLowerCase();
      
   v2 = document.getElementById('nome').value;
   v3 = v2.charAt(0);
   v3 = v3.toLowerCase();

  document.getElementById('username').value = v3+'.'+v1;
   
}
</script>
La funzione si sviluppa in questo modo: Nella riga num. 3 lo script recupera la variabile dal campo "cognome"; nella riga num. 4 converte tutta la stringa in minuscolo (toLowerCase()). Stessa cosa viene fatta nella riga 6 e 8 mentre, nella riga num. 7, viene estrapolato solo il primo carattere della stringa (vi ricordo che la mia necessità era quella di ricreare l'username con l'iniziale del nome, punto, cognome). Da ultimo, nella riga num. 10, lo script pubblica le due stringe unendole con un punto.

Calcolo della differenza tra due date in PHP

Mi sono trovato nella necessità di dover calcolare la differenza tra due date, due orari, ecc... Volendo automatizzare la procedura, ho creato questa funzione in PHP che restituisce la differenza tra due date impostate. le variabili della funzione, sono 3:
  • $data_iniziale: ovvero la data dalla quale si vuole partire a fare il conteggio. Il campo deve essere formattato come: "aaaa-mm-gg hh:mm:ss" (ovverto il timestamp) oppure come "aaaa-mm-gg" (ovvero il formato date).
  • $data_finale: ovvero la data termine del conteggio. Il campo deve essere formattato come: "aaaa-mm-gg hh:mm:ss" (ovverto il timestamp) oppure come "aaaa-mm-gg" (ovvero il formato date).
  • $unita: accetta una variabile (minuscola) composta da un carattere:
    • m: se la funzione deve riportare i minuti trascorsi tra le due date;
    • h: se la funzione deve riportare le ore trascorse tra le due date;
    • g: se la funzione deve riportare i giorni trascorsi tra le due date;
    • a: se la funzione deve riportare gli anni trascorsi tra le due date.
La funzione da scrivere nella pagina php è la seguente:
<?php 

function delta_tempo ($data_iniziale,$data_finale,$unita) {

 $data1 = strtotime($data_iniziale);
 $data2 = strtotime($data_finale);

	switch($unita) {
		case "m": $unita = 1/60; break; 	//MINUTI
		case "h": $unita = 1; break;		//ORE
		case "g": $unita = 24; break;		//GIORNI
		case "a": $unita = 8760; break;         //ANNI
	}

 $differenza = (($data2-$data1)/3600)/$unita;
 return $differenza;
}
?>
Se volessimo cercare la differenza, in anni, tra il 22 settembre 1981 e oggi (05 ottobre 2013), la nostra funzione andrebbe richiamata in questo modo:
<?php
   echo delta_tempo("1981-09-22", "2013-10-05", "a");
?>
Niente di più semplice. Felice di esservi stato utile!