Submit Ho perso circa 3 ore a trovare la soluzione a questo problema, problema che mi sono posto quando ho deciso di impuntarmi su una cosa che realmente non mi serviva, tanto per cambiare.

Il web è pieno di superfighi esempi che permettono di creare degli effetti rollover su delle immagini che interagiscono con la posizione del nostro mouse, consentendoci di inviare un form tramite un immaginetta, invece che tramite il classico bottone. Ma si trovano pochissimi esempi su come abbandonare l’orrendo bottoncino grigio a favore del vecchio, caro e personalizzabile testo.

Alla fine ho trovato la soluzione adatta, anzi, più soluzioni adatte. Purtroppo tutte prevedono l’utilizzo di javascript, ma nulla di troppo invasivo per fortuna. E ormai il 95% dei sistemi ha la spunta su attivo, quindi il rischio si può correre.

<form name="pwd" id="pwd" method="post" action="ip.php">
<a href="#" onclick="document.forms['pwd'].submit(); return false;">invia</a><br>
<a href="#" onclick="document.pwd.submit(); return false;">invia</a>
</form>

Non penso serva una spiegazione, vero? :-)

Ma…e se volessimo passare una variabile?la situazione si fa più complicata. Ho provato combinando questi codici fra di loro parecchie volte, ma complice la mia scarsa abilità in Javascript e un google foriero di cattive nuove, non sono riuscito a trovare la soluzione adatta.

Ho quindi cambiato strada, o meglio, sono stato indirizzato in questa zona:

<form name="pwd" id="pwd" method="post" action="ip.php">
<input name="pwd" type="hidden" value="<?=$password?>" />
<a href="#" onclick="document.getElementById('pwd').submit()">Invia</a>
</form>

In pratica assegniamo il valore ad un campo input nascosto, che passerà il valore una volta inviato il form. La variabile l’avremo definita in precedenza. E andremo a recuperarla, nella pagina ip.php, con qualcosa di simile:

<?php
$password = $_POST["pwd"];
	if ($password <> 'miapwd') {
	echo "Non sei autorizzato ad entrare in quest'area";
	} else {
		echo "La password inserita &egrave; corretta.";
}
?>

foto by doryexmachina

Interagisci con l'articolo !
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • MySpace
  • Print
  • Technorati
  • Twitter
  • Live
  • Wikio IT
  • email
  • Add to favorites
  • FriendFeed
  • RSS
  • LinkedIn
  • Tumblr

Articoli correlati