Warning: strpos(): needle is not a string or an integer in /membri2/drudo/blog-r/index.php on line 31

Warning: strpos(): needle is not a string or an integer in /membri2/drudo/blog-r/index.php on line 37
blog ¦ drudo (-rw-r--r--)
 
Blogroll in PHP per S.P.B. e non solo...
Pochi post addietro avevo scritto una notizia su come realizzare un blogroll in JavaScript da usare un po' dove si vuole... così ho pensato fosse utile anche una versione in linguaggio PHP.
Ne è quindi saltato fuori questo:

<?php
$links = array(
"<a href=\"#\" title=\"titolo1\">Link sito 1</a>",
"<a href=\"#\" title=\"titolo2\">Link sito 2</a>",
"<a href=\"#\" title=\"titolo3\">Link sito 3</a>",
"<a href=\"#\" title=\"titolo4\">Link sito 4</a>",
"<a href=\"#\" title=\"titolo5\">Link sito 5</a>"
);

shuffle($links);

for($i=0; $i<count($links); $i++)
echo $links[$i]."<br />\n";
?>


Mi pare sia rapido e indolore. Se qualche guru del PHP ha da proporre una soluzione migliore commenti pure quì sotto (appena riabilito i commenti :-P) oppure mi contatti :)

Blogroll in javascript per S.P.B. e non solo...
Era da un po' che cercavo di rendere casuale l' ordine di una lista di link tramite JavaScript, cioè realizzare un così detto blogroll come quello che implementa il blasonato WordPress.

La scelta di scriverlo in JavaScript non è del tutto sconsiderata come molti potranno pensare :-P ma è stata dettata dal fatto che Simple PHP Blog non ha la possibilità di usare "plug-in" quindi realizzare il blogroll in PHP avrebbe reso necessario la modifica di file sorgenti, cosa che ho voluto appunto evitare; oltretutto è possibile inserire codice JS all' interno di un "blocco" di S.P.B., cosa molto comoda per chi questo blog.

Ora non essendo affatto capace di scrivere in JS sono andato alla ricerca di porzioni di codice in giro per il web, finchè mi sono imbattutto nel fornitissimo forum di Html.it dove un utente ha scritto due righe veloci... mi perdoni l' autore ma non riesco più a trovare il thread originale!

Ad ogni modo ecco il codice di esempio (non molto elegante direi, ma ohibò funiona) da inserire in un blocco dentro ai tag [ html]:

<script type="text/javascript" language="javascript">
<!--
function blog_roll() {
var links = new Array();
links[0]="<a href=\"http://sito1.com\" title=\"titolo1\">Link sito 1</a>";
links[1]="<a href=\"http://sito2.com\" title=\"titolo2\">Link sito 2</a>";
links[2]="<a href=\"http://sito3.com\" title=\"titolo3\">Link sito 3</a>";
links[3]="<a href=\"http://sito4.com\" title=\"titolo4\">Link sito 4</a>";

var lgt = links.length;
var rndArr = new Array(lgt);

for (n=0;n<lgt;n++) {
var x = Math.floor(((Math.random())*lgt));
if(rndArr[x] == undefined) {
document.write(links[x]+"<br />");
rndArr[x] = " ";
}
else n--;
}
}
blog_roll();
//-->
</script>
<noscript>
<a href=\"http://sito1.com\" title=\"titolo1\">Link sito 1</a>
<br />
<a href=\"http://sito2.com\" title=\"titolo2\">Link sito 2</a>
<br />
<a href=\"http://sito3.com\" title=\"titolo3\">Link sito 3</a>
<br />
<a href=\"http://sito4.com\" title=\"titolo4\">Link sito 4</a>
</noscript>


Ad ogni refresh della pagina i link verranno mescolati in modo casuale, mentre nel caso in cui il supporto JavaScript del browser fosse disabilitato lo script visualizzarà lo stesso la lista, ma nell' ordine stabilito nel tag <noscript>.

Se qualcuno più avezzo di me nello scrivere JS stesse leggendo il codice inorridito, lo pregherei di dare qualche suggerimento :-)

Un esempio d' uso lo potete vedere nella colonna quì a fianco in "Trattano di S.P.B.".

Un captcha per il nostro guestbook
In questo periodo alcuni guestbook presenti nei miei siti web venivano tartassati da messaggi di spam oltremodo FASTIDIOSI! Così cercando per la rete e grazie a wikipedia sono venuto a conoscenza di un' implementazione di un captcha in PHP + GD davvero semplice: Auditor.

Come scritto sul sito basta uppare i due file audit.php e button.php, scrivere nel form dell' eventuale guestbook queste righe (le ho ritoccate perchè non proprio pulite):
<img width="120" height="30" src="button.php" />
<input maxlength="5" size="5" name="userdigit" type="text" value="" />

Dopodichè inserire nella pagina dove viene elaborato il form una "inclusione" e una condizione del tipo:
include "audit.php";

if (audit()) {
    // Visitor entered correct number
}
else {
    // Wrong number
}

La funzione audit() non fa altro che ritornare TRUE.
Insomma mi sembra proprio un' implementazione che merita per la sua semplicità... magari poi si rileva uno schifo :D ma tant'è.

Download
Auditor v.1.0

Altre implementazioni in PHP o altri linguaggi sono linkati quì:
http://en.wikipedia.org/wiki/Captcha


Indietro Altre notizie