-
form di invio email
Ciao, vorrei inserire nella pagina la possibilità di inviarmi un'email.
Vorrei con un pulsante richiamare la funzione php.
Ho fatto così ma non sembra funzionare... in particolare l'echo finale non visualizza niente ma reindirizza il browser all'url "email inviata" ... cosa che non capisco?!
Codice:
<?php
function invia_email()
{
...
mail("$emaildest", $subject, $messaggio, $headers);
echo "email inviata!!";
}
?>
<html>
...
<form name="form1" method="post" action="<?php invia_email(); ?>">
...
<input type="submit" name="Submit" value="Invia">
</form>
...
</html>
-
Le funzioni che crei in php, non sono come quelle che crei in javascript!
Con php non puoi fare cose del genere, a meno che non utilizzi ajax.
Ti conviene puntare l'action in un pagina dove verrà inviata l'email.
Saluti!
-
Codice PHP:
<?php
if(isset($_POST['testo']))
invia_email();
function invia_email()
{
mail("$emaildest", $subject, $_POST['testo'], $headers);
echo "email inviata!!";
}
?>
<html>
...
<form name="form1" method="post" action="">
...
<input type="test" name="testo" value="Invia">
<input type="submit" name="Submit" value="Invia">
</form>
...
</html>
no?
Ciao!
EDIT: in effetti è circa come detto da nokiagames :wink:
-
Io intendo dire che le funzioni che crei in php, non possono essere richiamate con un linguaggio lato client ma soltanto con un php stesso.
Specialmente (non possono essere richiamate) negli eventi di javascript, al limite se si vuole settare qualche attributo.
-
differenza tra ' e "
Grazie, con due file separati sono riuscito.
colgo l'occasione per un'altra domanda... qual'è la differenza tra racchiudere i testi tra "" invece di '', ad esempio:
mail ("pippo" ....
e
mail ('pippo' ...
c'è differenza ???
-
Codice PHP:
<?php
$var = "prova";
echo "Questa è una $var<br />"; // Stampa Questa è una prova
echo 'Questa è una $var<br />'; // Stampa Questa è una $var
?>
Negli apici i caratteri come $ e \ non vengono interpretati, mentre con le virgolette si.
Se prendi in esempio un pezzo del tuo codice:
Codice PHP:
mail("$emaildest", $subject, $_POST['testo'], $headers);
Li si possono anche evitare le virgolette, ma se invece delle virgolette avessi messo gli apici, php avrebbe mandato un email a $emaildest e non al suo valore (es email @ dom.ext).
-
Te ne faccio uno semplice
Codice PHP:
<?php
$destinazione = 'destinazione@ciao.it'; //modificare con l'email di destinazione
$n = $_POST['name'];
$e = $_POST['email'];
$m = $_POST['message'];
if(empty($n) || empty($e) || empty($m)) {
echo 'Hai lasciato dei campi vuoti!';
} else {
mail("$destinazione","Nuovo messaggio dal sito","Nuovo messaggio da: $n Email: $e Messaggio: $m","From:$destinazione");
echo 'Messaggio inviato!!';
}
?>
<html>
<form name="form1" method="post" action="">
Nome:<br />
<input type="text" name="name" value="Invia"><br /><br />
Email:<br />
<input type="text" name="email" value="Invia"><br /><br />
Nome:<br />
<input type="text" name="message" value="Invia"><br /><br />
<input type="submit" name="Submit" value="Invia">
</form>
...
</html>