Buongiorno a tutti,
premetto che sono un grafico e che da relativamente poco mi sto dedicando alla programmazione.
Sto cercando di imparare php, ho attivato Apache sul Mac ma non riesco a far comunicare come dovrei i file .html con i .php.
Li salvo entrambi in /Library/WebServer/Documents e devo dire che , seppur molte volte sono codici copiati, testati e funzionanti di esperti, nel mio caso non funzionano.
E' corretta la directory di posizionamento?
I codici di esempio sono questi:
modulo.html
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Documento senza titolo</title>
</head>
<body>
<form action="invio.php" method="post" id="modulo">
<table>
<tr>
<td>Il Suo indirizzo e-mail*</td>
<td><label>
<input name="mail" type="text" id="mail" />
</label></td>
</tr>
<tr>
<td>Oggetto*</td>
<td><label>
<input name="object" type="text" id="object" />
</label></td>
</tr>
<tr>
<td>Messaggio*</td>
<td>
<textarea name="body" cols="30" rows="5" id="body"></textarea>
</td>
</tr>
<tr>
<td><label></label>
</td>
<td><label>
<input type="submit" name="submit" id="submit" value="Invia" /> <input type="reset" name="cancella" id="cancella" value="Ripristina" />
</label></td>
</tr>
</table>
</form>
</body>
</html>
invio.php
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Documento senza titolo</title>
</head>
<body>
<?php
// indirizzo di chi riceve la mail è sottolineato ma nel codice non sottilineatelo
if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) { //questo fa si che se i campi "oggetto" e "messaggio" sono vuoti la form non invia nessuna mail
$to = "\n mia@mail.it";
$headers = "From: " . $_POST['mail'] . "\n";
// soggetto della mail
$subject = "Modulo proveniente da www.tuosito.it";
// corpo messaggio
$body = "Contenuto del modulo:\n\n";
$body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n"; //indirizzo e-mail che manda la mail, come si vede riprende l'id del campo destinato all'inserimento della mail del mittente
$body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n"; //oggetto del messaggio
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio
// invio mail
mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...
echo "La mail è stata inviata con successo. Grazie per averci contattato";
} else {// altrimenti
echo "Deve compilare la form prima di inviare.";
}
?>
</body>
</html>
Come mai caricando dal browser il form, pare funzionare tutto ma al momento dell'invio, si carica solo la pagina php in bianco? e soprattutto non arriva nessuna mail?
N.B. nel php la mail inserita in questo thread è ovviamente finta..
Grazie mille per la vostra attenzione, spero di aver scelto la sezione corretta per esporre questo tipo di problema.