Up
sydsicily
@sydsicily
Post creati da sydsicily
-
Transizione sfondo menù non funziona
Salve a tutti,
sto cercando di far apparire lentamente un'immagine png al passaggio del mouse sopra le voci di un menù. L'immagine sarebbe un'ombra sotto il testo. Purtroppo l'ombra appare senza transizione.Link del sito: w w w . cantinevinci.altervista.org
Il codice:
[HTML]
.sf-menu > li > a {
font: 18px/22px "Copperplate Gothic Light";
font-weight:300;
text-transform: uppercase;
color: #013224;
display: block;
padding: 10px 20px;
line-height: 80px;
vertical-align:top;
}
.sf-menu > li.sfHover > a,
.sf-menu > li > a:hover, .sf-menu > li.sfHoverForce > a {
background-image: url(img/ombra.png);
background-repeat:no-repeat;
background-size: 100% 100%;
-webkit-transition-property: background-image 300ms ease-in 200ms;
-moz-transition-property: background-image 300ms ease-in 200ms;
-o-transition-property: background-image 300ms ease-in 200ms;
transition: background-image 300ms ease-in 200ms;
}
[/HTML]Mi è stato suggerito di spostare la transizione in .sf-menu > li > a, ma non funziona ugualmente.
Dove sbaglio?
Grazie per l'aiuto che potrete darmi. -
RE: Validare campi invio email
Il procedimento è lo stesso, infatti la mail non arriva.
Non che io ne capisca niente, ma un'altra soluzione che mi è stata suggerita (solo parzialmente) è la seguente:
inserire in phpmailer una funzione tipo
[PHP]
function From() {}
function sqltextinjection($testo){
$testo=trim($testo);
if (empty($testo)){
return 1;}
if(!ereg("^[A-Za-z0-9 ]+$",$testo)){
return 1;//$testo;
break;
}
else
{
return $testo;
}
}
[/PHP]e visto che
$nome=$_POST['nome'];/assegna a $nome il valore passato con POST['nome']/
effettuare qui il controllo:
[PHP]
$tnome=sqltextinjection($nome);/*$tnome è la variabile temporanea di appoggio
if($tnome==1){
die("il campo Nome è vuoto oppure hai inserito caratteri non validi.");
} */se il valore di ritorno è 1 .....
[/PHP]
Per logica il metodo potrebbe funzionare, perchè effettua il controllo su una stringa, e non su una variabile, annullando i problemi di passaggio della variabile, che sono riscontrabili con la gestione del controllo che abbiamo provato prima, ed anche con altri metodi che ho provato.
C'è solo un piccolo problema: a quella funzione sono stati eliminati i parametri, ed io non saprei da dove cominciare. Tu ci capisci niente ? -
RE: Validare campi invio email
Grandi novità, ancora non invia ma il controllo funziona.
Anche con livevalidation ottenni lo stesso risultato, ma quello funziona lato client, non c'entra niente...Allora, ho inserito un nuova funzione in phpmailer:
[PHP]
function From($address, $name = '') {
$find = "/^[a-zA-Z0-9-.]+@[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}$/";
if(preg_match($find, trim($address))){
$cur = count($this->to);
$this->to[$cur][0] = trim($address);
$this->to[$cur][1] = $name;
return true;
} else { return false; }
}
[/PHP]
e nel file php di invio ho modificato questo
[PHP]
$mail->From = $mittente;
[/PHP]
in questo
[PHP]
if(!$mail->From($mittente)) die("Indirizzo e-mail non valido");
[/PHP]Il controllo funziona, ma l'email non viene più inviata. Perchè secondo te ?
-
RE: Validare campi invio email
Per quanto riguarda From ho trovato solo questo nel file phpmailer:
- Sets the From email address for the message.
- @var string
*/
var $From = 'root@localhost';
che si trova nelle proprietà, all'inizio, riga 75.
Tra le funzioni non ce n'è nessuna dedicata a $From
In questo caso che faccio? Ne creo una ?
- @var string
- Sets the From email address for the message.
-
RE: Validare campi invio email
AddAddress ora che ci penso è la mail del destinatario, cioè la mia, che è nel codice ed è chiaro che è corretta.
Provo ad applicare il tutto a From, vediamo che succede.... -
RE: Validare campi invio email
Ancora grazie, soprattutto per la pazienza...
L'email parte ugualmente, anche se non è in forma corretta.
Di seguito riporto la pagina che invia
[PHP]
<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$nominativo = $_POST['nominativo'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$allegato_1 = $_FILE['allegato_1'];
$allegato_2 = $_FILE['allegato_2'];
$allegato_3 = $_FILE['allegato_3'];require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $mittente;
$mail->FromName = $nominativo;
if(!$mail->AddAddress($destinatario)) die("Indirizzo e-mail non valido");
$mail->AddCC($mittente);
$mail->AddReplyTo($mittente);
$mail->IsHTML(true);
$mail->Subject = $oggetto;
$mail->Body = $messaggio."<br>".$nominativo;
$mail->AltBody = $bodytxt;
$mail->AddAttachment($_FILES['allegato_1']['tmp_name'],$_FILES['allegato_1']['name']);
$mail->AddAttachment($_FILES['allegato_2']['tmp_name'],$_FILES['allegato_2']['name']);
$mail->AddAttachment($_FILES['allegato_3']['tmp_name'],$_FILES['allegato_3']['name']);if(!$mail->Send()){
echo "Si è verificato un errore nell'invio della mail";
}else{
echo "Mail inviata con successo";
}
?>
[/PHP]
-
RE: Validare campi invio email
L'errore non lo da più, ma il controllo non viene effettuato.
Infatti digitando qualche carattere a caso, senza chiocciola, nel campo email, l'invio avviene ugualmente, nonostante il controllo preveda
[PHP]
function AddAddress($address, $name = '') {
$find = "/^[a-zA-Z0-9-.]+@[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}$/";
if(preg_match($find, trim($address))){
$cur = count($this->to);
$this->to[$cur][0] = trim($address);
$this->to[$cur][1] = $name;
return true;
} else { return false; }
}
[/PHP]$address andrebbe sostituito con $destinatario, giusto ?
(ho provato anche questo, ma niente)
Ho visto che usi $name, e non capisco:
non credo di doverlo sostituire con il mio $nominativo.
Questi sono i miei campi:
$destinatario
$nominativo
$mittente
$oggetto
$messaggio
$allegato_1
$allegato_2
$allegato_3 -
RE: Validare campi invio email
Purtroppo mi da errore:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in D:\inetpub\webs\siciliareportcom\formmail.php on line 16Alla riga 16 c'è:
if(!$mail->AddAddress($destinatario)) die "Indirizzo e-mail non valido";forse è necessario usare sqltextinjection visto che con phpmailer posso includere solo le funzioni.
Se pensi che il metodo che sto seguendo è del tutto sbagliato, lo cambio, soprattutto se conosci un metodo magari già pubblicato per inviare una mail con tre allegati, e controllo sui campi nome ed email.
I rete ho trovato tanto, ma con questi requisiti nulla.
E come sempre...grazie. -
RE: Validare campi invio email
Innanzi tutto grazie.
È vero, la classe è esagerata per l'invio ad un solo destinatario.
L'ho utilizzata in realtà per l'invio dei tre allegati, che non avrei saputo gestire altrimenti.
Ora provo il codice della tua soluzione, ma in ogni caso, ancora grazie. -
RE: Validare campi invio email
Innanzi tutto grazie.
È vero, la classe è esagerata per l'invio ad un solo destinatario.
L'ho utilizzata in realtà per l'invio dei tre allegati, che non avrei saputo gestire altrimenti.
Ora provo il codice della tua soluzione, ma in ogni caso, ancora grazie. -
RE: Validare campi invio email
La classe è molto lunga da riportare.
L'ho zippata e caricata su un server.
Ecco il link
siciliareport.com/class.phpmailer.zip
aggiungere www -
RE: Validare campi invio email
La classe è molto lunga da riportare.
L'ho zippata e caricata su un server.
Ecco il link
siciliareport.com/class.phpmailer.zip
aggiungere www -
RE: Validare campi invio email
Io con parole da profano ho detto che avrei voluto realizzare proprio questo, solo che non sono in grado.
Tu saresti capace, sapresti spiegarmi come si fa ? -
Validare campi invio email
Salve a tutti. Innanzi tutto vorrei fare i complimenti alla comunity, che ha reso questo forum il più ricco e completo di argomentazioni che abbia mai visto.
Ho creato un form per l'invio di email con ellegati che richiama la famosa classe Phpmailer, e vorrei inserire un controllo sui dati. Ho letto parecchio sul forum, e ho anche studiato la funzione giusta per il controllo email, solo che non so come iserirla nel punto giusto.
[PHP]
<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$nominativo = $_POST['nominativo'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
$allegato_1 = $_FILE['allegato_1'];
$allegato_2 = $_FILE['allegato_2'];
$allegato_3 = $_FILE['allegato_3'];require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = $mittente;
$mail->FromName = $nominativo;
$mail->AddAddress($destinatario);
$mail->AddCC($mittente);
$mail->AddReplyTo($mittente);
$mail->IsHTML(true);
$mail->Subject = $oggetto;
$mail->Body = $messaggio."<br>".$nominativo;
$mail->AltBody = $bodytxt;
$mail->AddAttachment($_FILES['allegato_1']['tmp_name'],$_FILES['allegato_1']['name']);
$mail->AddAttachment($_FILES['allegato_2']['tmp_name'],$_FILES['allegato_2']['name']);
$mail->AddAttachment($_FILES['allegato_3']['tmp_name'],$_FILES['allegato_3']['name']);
if(!$mail->Send()){
echo "Si è verificato un errore nell'invio della mail";
}else{
echo "Mail inviata con successo";
}
?>
[/PHP]if(!$mail->Send()) verifica solo che il campo mail non sia vuoto, io vorrei verificare inoltre che sia corretto, inserendo questa funzione
[PHP]
$find = "/^[a-zA-Z0-9-.]+@[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}$/";
if(!preg_match($find, trim($toCheck))){
return false;
}else{
return true;
}
}
[/PHP]
Va precisato che Send è definito in class.phpmailler.php, e recupera in qualche modo il campo "mittente".
Il controllo andrebbe inserito tenendo conto direquire_once("class.phpmailer.php");
$mail = new PHPMailer();
......Come fare ?
Ringrazio anticipatamente chiunque vorrà aiutarmi.