Form contatti: ma dove è l'errore?

  • Creatore Discussione Creatore Discussione schula
  • Data di inizio Data di inizio

schula

Nuovo Utente
16 Giu 2012
8
0
0
Ciao a tutti :)
Premetto che non so un acca di php e sto provvedendo a colmare questa lacuna. Per adesso riesco a "spippolare" su codice già fatto e a fare qualche modifica ma crearlo di sana pianta no, ancora no.
Sto impazzendo con un semplicissimo form dei contatti copiato spudoratamente da un altro sito (sempre roba nostra).
Vi copio la parte del php:

PHP:
<?php
$nome = $_POST['name'];
$mail = $_POST['mail'];
$domanda = $_POST['answer'];
if($nome == "" && $mail == "" && $domanda == ""){
	$risposta="Dati inseriti mancanti o incorretti, prego ritentare.";
}
else{
$risposta = "Grazie <span class='firstRos'>".$nome."</span>, la sua richiesta è stata inoltrata correttamente a 
<span class='firstRos'>La Fatina delle Pulizie</span>.";
$mailcontent="Da: $nome\n";
$mailcontent.="Mail: $mail\n";
$mailcontent.="Richiesta: $domanda\n";
$mailcontent.="Questa mail è stata inviata dal modulo di www.lafatinadellepulizie.it.";

$header ="MIME-Version: 1.0\r\n";
$header .="Content-type: text/html; charset=iso-8859-1\r\n";
$header .="Content-Transfer-Enconding: 7bit\r\n";
$header .="From:".$mail."\r\n";
mail("[email protected]","Richiesta informazioni da:".$nome, $mailcontent, "From:".$mail);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>La Fatina delle Pulizie - lafatinadellepulizie.it</title>
<link type="text/css" href="css/style.css" media="all" rel="stylesheet"/>
<style type="text/css">
	#answer{
		margin:10% auto 2%;
		font-size:1.5em;
		padding-top:70px;
		background:url('immagini/answer.jpg') center top no-repeat;
		text-align:center;
		font-weight:bold;
	}
	#back{margin:0 auto 20%;text-align:center;}
</style>
</head>
<body>
...............
</body>
</html>

Il sito lo potete vedere qui:
http://www.lafatinadellepulizie.it

Se andate nella pagina contatti e provate ad inviare una mail vi apparirà l'errore "500 Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request."

Io credo sia un problema di permessi sul server solo che il tecnico che se ne occupa mi ha invece detto che ho "fatto un grave errore nel php".... :incazz:

Mi sapete dire se e dove sto sbagliando?

Grazie e tutti!!! ;)
 
Ultima modifica di un moderatore:
C'era qualche incongruenza nel codice PHP, ma credo nulla che giustificasse un errore 500. Prova così, comunque:
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nome = isset($_POST['name']) ? trim($_POST['name']) : '';
    $mail = isset($_POST['mail']) ? trim($_POST['mail']) : '';
    $domanda = isset($_POST['answer']) ? trim($_POST['answer']) : '';

    if ($nome == '' || $mail == '' || $domanda == '') {
        $risposta = 'Dati inseriti mancanti o incorretti, prego ritentare.';
    } else {
        $mailcontent = <<<EOF
Da: {$nome}
Mail: {$mail}
Richiesta: {$domanda}
Questa mail è stata inviata dal modulo di www.lafatinadellepulizie.it.
EOF;

        $header = <<<EOF
MIME-Version: 1.0
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 7bit
From: {$mail}
EOF;

        if (!mail('[email protected]', "Richiesta informazioni da: {$nome}", $mailcontent, $header)) {
            $risposta = 'Impossibile inviare il messaggio in questo momento.';
        } else {
            $risposta = <<<EOF
Grazie <span class="firstRos">{$nome}</span>, la sua richiesta è stata inoltrata
correttamente a <span class="firstRos">La Fatina delle Pulizie</span>.
EOF;
        }
    }
}
?>
P.S. La prossima volta usa gli appositi tag BBCode per formattare il codice.
 
Grazie Ale e scusa anche per il post sbagliato :p

Ho provato ma mi dà lo stesso errore... secondo me resta un problema di accessi non ben impostati sul server... può essere?

Vane :book:
 
Non mi pare ci sia nessun errore che possa compromettere il server, piu che altro mi sembra un errore di configurazione dell'htaccess
 
...piu che altro mi sembra un errore di configurazione dell'htaccess

Purtroppo la configurazione di tutto ciò che è il server Linux dove teniamo i siti e tutto quello che concerne anche i database resta per me un altro grande sconosciuto :dipser:

Quello che mi interessava capire era che il codice php fosse corretto, anche perchè la cosa assurda è che è stato copiato in maniera capillare da un altro sito dove invece funziona tutto bene.

Adesso che mi avete confermato che errori non ci sono, domani mattina chiederò di controllare le impostazioni su Linux per vedere che tutto vada bene.

Grazie a tutti raga!!! :byebye:
 
Giusto per completezza di informazione..

Il form andava bene (come confermatomi anche da voi), erano i permessi sul server a non andare bene!!! E udite udite: sto ancora ridendo perchè dopo aver risolto questa questione viene fuori che comunque l'email non viene poi praticamente inviata sempre per impostazioni errate del server che non riconosce la funzione "mail" (parole del "tecnico"!!). Quindi sono due ore che sta spippolando perchè, ovviamente, non funziona neppure l'altro form dal quale avevo copiato questo. Peccato che quel form li sia online da qualche anno.. eheheh!!

Ok, scusatemi lo sfogo :P

Grazie ancora a tutti e a presto!! :byebye:

Vane
 
Ale... sei cosciente del fatto che per me stai parlando ostrogoto?? :faraone:

Un passo alla volta ;)
Stavolta il mio form era corretto... quando riuscirò a gestire io il server e a capirci qualcosa prenderò in esame anche queste alternative... eheheeh!!

Grazissime!!! :byebye:

Vane
 

Discussioni simili