form contatti errore

Salvo89

Nuovo Utente
7 Apr 2012
7
0
0
Salve, sono nuovo da queste parti, innanzitutto volevo farvi i complimenti per il forum, devo dire che mi è stato molto utile, ed ultimamente vi leggo spesso, ed oggi ho deciso di registrarmi, così da poter essere utile anch'io a qualcuno, anche se non sono molto esperto.

vengo al mio problema, sto cercando di inserire un "form contatti" premetto che è da ieri pomeriggio che sto letteralmente impazzendo, le ho provate tutte, ho inserito tutti i vari codici trovati in giro, fatto tutte le modifiche e prove possibili, ma niente il problema è sempre lo stesso:

Not Found
The requested URL /website/mail.php was not found on this server.

sembra non riesca a trovare il file mail.php anche se l'ho caricato correttamente,

di seguito il fle mail.php e html


MAIL.PHP

PHP:
<?php
// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
$mailto = "[email protected]";
//Oggetto della mail
$subject = "contatto dal sito";
//Pagina da mostrare dopo l'invio
$redirect = "www.tmlattocarp.ch";
// ************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>');
}
?>

_____________________________________________________________________
HTML

HTML:
<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>
_______________________________________________________

Confido in qualche "BUON UOMO" che possa aiutarmi a risolvere il problema,
colgo l'occasione per augurare a tutto il forum Buona Pasqua.
saluti
 
Ultima modifica di un moderatore:
ho caricato il tutto su public_html/
quello che non capisco è perchè cerca la cartella website /website/mail.php
cartella che non c'è ho provato a creare la cartella ed inserire all'interno solo mail.php
ma nulla....
non c'è nessun file che si chiami htaccess
 
Non htaccess, ma .htaccess, con il punto davanti, quindi dovrebbe essere un file nascosto (se l'hosting è Linux).
Inoltre controlla qual è il codice HTML del form online: visita la pagina, fai clic con il tasto destro e poi su Visualizza HTML, o qualcosa del genere, quindi postalo qui.
 
hai ragione era nascosto ecco quì:

Codice:
# -FrontPage-

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName tmlattocarp.ch
AuthUserFile /home/tmlat580/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/tmlat580/public_html/_vti_pvt/service.grp

non sò se può essere inportante ma il sito è stato creato con un software online "MAGIX WEBSITE MAKER MX"
software che crei tutto il progetto del sito online, e poi ti fa esportare il tutto su un file index.htm
 
Ultima modifica di un moderatore:
ciao
non c'entra penso con il tuo problema, ma

$HTTP_POST_VARS

è deprecato al suo posto deve essere usato

$_POST

non conosco MAGIX WEBSITE MAKER MX, ma una curiosità ti crea lui in automatico il form e la pagina di invio? se si abbandonalo o aggiornalo non puo metterti $HTTP_POST_VARS, cioè un'istruzione deprecata.

poi un'altra piccola cosa essendo il tuo form non comlpesso perchè non fai tutto nella stessa pagina?
schematicamente

PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
	//qui la parte di invio
}
?>
<!-- qui la parte html del form ed anche altro-->
 <form name="form1" method="post" action="<?php echo {$_SERVER['REQUEST_URI']}; ?>">
 <!-- i vari campi di input-->
 </form>
 
ciao
non c'entra penso con il tuo problema, ma

$HTTP_POST_VARS

è deprecato al suo posto deve essere usato

$_POST

non conosco MAGIX WEBSITE MAKER MX, ma una curiosità ti crea lui in automatico il form e la pagina di invio? se si abbandonalo o aggiornalo non puo metterti $HTTP_POST_VARS, cioè un'istruzione deprecata.

poi un'altra piccola cosa essendo il tuo form non comlpesso perchè non fai tutto nella stessa pagina?
schematicamente

PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
	//qui la parte di invio
}
?>
<!-- qui la parte html del form ed anche altro-->
 <form name="form1" method="post" action="<?php echo {$_SERVER['REQUEST_URI']}; ?>">
 <!-- i vari campi di input-->
 </form>

Ciao, allora no, ho inserito il codice del form che ho trovato in rete,
dici che posso fare tutto in html ? perchè non è una pagina in php
 
Non mi sembra ci sia alcun reindirizzamento verso la cartella website. Hai controllato i sorgenti del form online come ti ho detto?

i sorgenti non trovo nulla in riferimento al form, perchè come detto mi esporta tutto il sito in un semplice file index, ed all'interno ci sono dei riferimenti al loro server dove sono caricati, immagini loghi ecc, insomma la struttura del sito, se vuoi posso postare quello, ma dubito ci sia qualcosa di utile
 
ciao
dici che posso fare tutto in html ? perchè non è una pagina in php
no la pagina deve avere estenzione .php non .htm o .html.
però non dovrebbe essere un problema o con esplora risorse la rinomini cambiando l'estenzione o la salvi con none dando l'estenzione.php
(una cosa se prima era es. contatti.htm, dopo il rename, devi modificare i link in contatti.php)
 
ciao

no la pagina deve avere estenzione .php non .htm o .html.
però non dovrebbe essere un problema o con esplora risorse la rinomini cambiando l'estenzione o la salvi con none dando l'estenzione.php
(una cosa se prima era es. contatti.htm, dopo il rename, devi modificare i link in contatti.php)

Come detto l'intero sito è strutturato su un file index.htm modificandolo come mi hai detto in php il sito è in ogni caso visibile, se volessi provare come mi hai detto, tutto su una pagina, come faccio a richiamare il file ? mi spiego meglio con un esempio:

<form name="form1" id="form1" method="post" action="mail.php"> come modifico ?

<form name="form1" id="form1" method="post" action="index.php"> ??
 
ciao
come ti avevo indicato prima

PHP:
 <form name="form1" method="post" action="<?php echo {$_SERVER['REQUEST_URI']}; ?>">
oppure modificando anche la parte php
PHP:
<?php 
if (isset($_POST['submit'])) { 
    //qui la parte di invio 
} 
?> 
<!-- qui la parte html del form ed anche altro--> 
 <form name="form1" method="post" action="<?php echo {$_SERVER['PHP_SELF']}; ?>"> 
 <!-- i vari campi di input--> 
 </form>
 
Scusate sò che state impazzendo insieme a me..

potresti modificarmi il codice ? credo di sbagliare ancora qualcosa, grazie

PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    //<?php
// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
$mailto = "[email protected]";
//Oggetto della mail
$subject = "contatto dal sito";
//Pagina da mostrare dopo l'invio
$redirect = "www.tmlattocarp.ch";
// ************Fine Configurazione****************


foreach(
$_POST 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>');
}
?>
}
?>
<!-- qui la parte html del form ed anche altro-->
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
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>
 <!-- i vari campi di input-->
 </form>
 
Ultima modifica di un moderatore:
Ciao,

chiudevi due volte il tag di php ?> e due volte la form </form>

non aprivi mai il tag <p>

le parentesi per l'echo non servono

per il resto a me sembra a posto

PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {

// ************Inizio Configurazione***************
//Indirizzo emai a cui inviare i msg
    $mailto = "[email protected]";
//Oggetto della mail
    $subject = "contatto dal sito";
//Pagina da mostrare dopo l'invio
    $redirect = "www.tmlattocarp.ch";
// ************Fine Configurazione****************
    $message = "";
    foreach ($_POST as $key => $value) {

        $message .= $key . ': ' . $value;
        $message .= "\n";
    }
    if (mail($mailto, $subject, $message)) {
        header("Location: $redirect");
    } else {
// Messaggio in caso di errore
        echo '<p>Impossibile inviare. Torna nella pagina precedente e prova ancora, grazie.</p>';
    }
}
?>
<!-- qui la parte html del form ed anche altro-->
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <p>Nome</p>
    <p><input type="text" name="nome" />
    </p>
    <p>Cognome</p>
    <p><input type="text" name="cognome" />
    </p>
    <p>Email</p>
    <p><input type="text" name="email" />
    </p>
    <p>Contenuto</p>
    <p><textarea name="contenuto" cols="50" rows="10"></textarea>
    </p>
    <p><input name="Invia" type="submit" value="Invia" />
    </p>
</form>
 

Discussioni simili