Ho un problema, avevo una pagina sul mio sito in altervista in cui c'era la classica form in cui potevo mandare una mail per richeidere informazioni, ed andava tutto bene
Mi serviva la stessa cosa su un altro sito e ho copiato lo stesso file, mettendolo nel nuovo sito però non funziona
O almeno, funziona a metà, visto che la mail viene ricevuta ma senza il contenuto del messaggio, e viene generato l'errore
Invalid argument supplied for foreach()
il codice della form è questo
Codice PHP:
<form name="form1" id="form1" method="post" action="mail.php">
Nome</p> <input type="text" name="nome" /> </p>
Cognome</p> <input type="text" name="cognome" /> </p>
Email</p> <input type="text" name="email" /> </p>
Contenuto</p> <textarea name="contenuto" cols="50" rows="10"></textarea> </p>
<input name="Invia" type="submit" value="Invia" /> </p>
</form>
mentre quello di mail.php è questo
Codice PHP:
<?php
// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
$mailto = "indirizzo email di arrivo";
//Oggetto della mail
$subject = "Info";
//Pagina da mostrare dopo l'invio
$redirect = "pagina dove dopo va";
// ************Fine Configurazione****************
foreach($HTTP_POST_VARS as $key => $value) {
$message .= $key . ': ' . $value;
$message .= "\n";
}
if (@mail($mailto, $subject, $message)) {
header("Location: $redirect");
} else {
// Messaggio in caso di errore
echo('
Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>');
}
?>
mi da l'errore PHP Warning: Invalid argument supplied for foreach() nella pagina email.php alla linea 12, cioè
Codice PHP:
foreach($HTTP_POST_VARS as $key => $value) {
cosa può essere?
L'unica cosa che ho cambiato è mettere la form in una pagina .php e cambiare l'indirizzo email di destinazione e la pagina dove va poi dopo
Facendo un po' di prove, rimettendo gli stessi file originali che avevo nell'altro la situazione non cambia
Il dominio in cui ho fatto questo altro sito è bluehost, possibile che sia così diverso che non accetti il post?