Form Dreamweaver & CO. ...non ce la posso fare!

Arsabia

Nuovo Utente
17 Mag 2014
22
0
0
Londra
Ciao a tutti. OK, ok, prima di precipitare nel girone dei senza speranza,
mi aggrappo al forum! Sono nuova qui ma già usata in quanto a energie.
Sto facendo il mio sito in Dreamweaver e tutto stava andando bene, fino a quando
sono incappata nel form contatti. Ora, sto leggendo il mondo per capire come funziona sto benedetto form, ma proprio sono di coccio. Ma fatemi capire una cosa. Una volta create le variabili, cioè gli spazi per l'inserimento dei dati della persona che vorrà contattarmi, cosa devo fare? Sono bloccata li, troppo distante dalla risoluzione. Ho reso obbligatorio la compilazione degli spazi (name, surname, city, email, message...e il tasto submit?), ma adesso devo inserire il codice php (mai usato naturalmente) prima. Ho creato un nuovo file PHP che da quanto ho capito deve essere salvato nella stessa cartella del sito che sto facendo. Ho scaricato la versione per mac XAMPP. Ora, ho provato ad aprire il sito in Firefox e cliccare su "submit" (il mio sito sarà in inglese), ma mi chiede: "è stato scelto di aprire" il mio file php in? Uff, sono alla disperazione...potete aiutarmi in qualche modo?

Grazie mille!:eek:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
è semplice, ti schematizzo due metodi, uno su stessa pagiga e uno con due
1) metodo stessa pagina
in questo caso la pagina DEVE avere estenzione .php es contatti.php
(generalmente è il sistema migliore)
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<?php
if(isset($_POST['send'])){
	$messaggio=$_POST['messaggio'];
	//tutti gli opportuni controllo ai valori inviati
	if($controlli=="OK"){
		//invii l'email
	}else{
		//avvisi dell'errore e riinvii al form per es
	}
	//e riinvii dove vuoi
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
messaggio: <input name="messaggio" type="text"><br />
<input type="submit" name="send" value="send">
</form>
<?php
}
?>
</body>
</html>
2) metodo su due pagine contatti.php (puo essere anche contatti.html) e invia.php (deve essere .php)
pagina contatti.php
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<form action="invia.php" method="post">
messaggio: <input name="messaggio" type="text"><br />
<input type="submit" name="send" value="send">
</form>
</body>
</html>
invia.php
PHP:
<?php
//non mettere i vari doctype e altri tag
$messaggio=$_POST['messaggio'];
//tutti gli opportuni controllo ai valori inviati
if($controlli=="OK"){
		//invii l'email
}else{
		//avvisi dell'errore e riinviial form
}
//e riinvii dove vuoi
?>
 

Arsabia

Nuovo Utente
17 Mag 2014
22
0
0
Londra
ciao
è semplice, ti schematizzo due metodi, uno su stessa pagiga e uno con due
1) metodo stessa pagina
in questo caso la pagina DEVE avere estenzione .php es contatti.php
(generalmente è il sistema migliore)
PHP:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<?php
if(isset($_POST['send'])){
	$messaggio=$_POST['messaggio'];
	//tutti gli opportuni controllo ai valori inviati
	if($controlli=="OK"){
		//invii l'email
	}else{
		//avvisi dell'errore e riinvii al form per es
	}
	//e riinvii dove vuoi
}else{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
messaggio: <input name="messaggio" type="text"><br />
<input type="submit" name="send" value="send">
</form>
<?php
}
?>
</body>
</html>
2) metodo su due pagine contatti.php (puo essere anche contatti.html) e invia.php (deve essere .php)
pagina contatti.php
HTML:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento senza titolo</title>
</head>
<body>
<form action="invia.php" method="post">
messaggio: <input name="messaggio" type="text"><br />
<input type="submit" name="send" value="send">
</form>
</body>
</html>
invia.php
PHP:
<?php
//non mettere i vari doctype e altri tag
$messaggio=$_POST['messaggio'];
//tutti gli opportuni controllo ai valori inviati
if($controlli=="OK"){
		//invii l'email
}else{
		//avvisi dell'errore e riinviial form
}
//e riinvii dove vuoi
?>



Wow...grazie mille! Ora, vado a scigliere le tensioni al parco, ma appena torno, mi metto all'opera...davvero davvero grazzissime per l'aiuto! Ti faccio sapere...spero tu possa essermi d'aiuto non dovessi riuscire nell'impresa (per me, purtroppo lo è!). A dopo....
 

Arsabia

Nuovo Utente
17 Mag 2014
22
0
0
Londra
OK, dunque...come immaginavo nulla. Ho provato a usare i codici che mi hai dato. Il mio problema è solo legato all'invio dal form al mio sito. Purtroppo non sono ancora così evoulta per comprendere appieno quello che intendi.
Il form è stato fatto a livello grafico. Ho già la mia pagina perfetta, con i relativi spazi (campi: name, surname, city, email, message e il benedetto tasto di invio). Ho aggiunto i codici per l'obbligo di compilazione e fin li ci siamo.
Ora, nella cartella, insieme alle altre pagine HTML c'è quindi anche quella dei contatti. Leggendo qua e la,
ho capito che dovevo creare una pagina PHP che nel mio caso ho nominato invia.php al cui interno ho aggiunto il seguente codice:

PHP:
<?php

$destinatario = "mia-email";

$oggetto = "richiesta";

$nome = $_POST['name'];
$cognome = $_POST['surname'];
$citta = $_POST['city'];
$email = $_POST['email'];
$messaggio = $_POST['message'];

$intestazioni = "From: ".$email;

mail($destinatario, $oggetto, $nome, $cognome, $citta, $email, $messaggio, $intestazioni);
echo "<p>sent message</p>";

?>

Codice che è sicuramente sbagliato ma che non so correggere. Non riesco a collegare le due pagine contatti.html e invia.php
in modo da ricevere una email da chi mi vuole scrivere (ma che non mi scriverà mai!:fonzie:).

Cosa succede? Che quando visualizzo l'anteprima in Firefox e cerco di inviare, mi chiede dove voglio salvare il documento php.

Forse perché è solo l'anteprima? (il dominio non l'ho ancora comprato)

Ok, sto dimenticando di fare qualcosa di veramente forndamentale...

Un'unica parola: CAOS!:confused:
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
la funzione mail() accetta solo 4 parametri, quindi devi concatenare il messaggio
PHP:
<?php
$destinatario = "[email protected]";//indirizzo destinatario
$oggetto = "richiesta";
$messaggio = $_POST['name'];
$messaggio .= $_POST['surname'];//.= operazione di concatenamento
$messaggio .= $_POST['city'];
$messaggio .=$_POST['email'];
$messaggio .= $_POST['message'];
$email = $_POST['email'];
$intestazioni = "From: ".$email;
mail($destinatario, $oggetto, $messaggio, $intestazioni);
echo "<p>sent message</p>";
?>

dimenticavo devi mettere un if per verificare che l'email sia inviata
PHP:
<?php
//.....
if(mail($destinatario, $oggetto, $messaggio, $intestazioni)){
	echo "<p>sent message</p>";
}else{
	echo "<p>errore di trasmissione, riprova più tardi</p>";
}
?>
poi per i controlli cerca nel forum trovi diverse discussioni
 
Ultima modifica:

Arsabia

Nuovo Utente
17 Mag 2014
22
0
0
Londra
Ciao buongiorno.
OK, per ora non ho ancora un dominio, quindi non posso verificare il funzionamento dell'invio.
Comunque, ho apportato le modifiche che mi hai scritto. Intanto, grazie davvero tantissimissimo per l'aiuto, sei stato un angelo!0:)

Ciaoooo
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
OK, per ora non ho ancora un dominio, quindi non posso verificare il funzionamento dell'invio.

ciao, scusate se mi intrometto,
in realtà se hai un account di posta elettronica (utente attivo) con cui invii e ricevi posta,
puoi provare il tuo invio da subito utilizzando l'account in uso

ti posto uno script php con una serie di servizi SMTP (legati ad account validi) che sono sicuramente funzionanti,
con i parametri necessari ed inoltre con l'indicazione se è sufficiente la funzione mail() di php o se è meglio ricorrere alla classe PHPmailer
ciao
Marino

PHP:
<?php

$servizio = 1;

switch ($servizio) {
  case 0:
    $mail_Host     = "smtp.example.com";     // SMTP servizio mail
    $mail_Port     = 587;                  // 25, 465, 587
    $mail_Auth     = true;                 // false (25) true (465, 587)
    $mail_Secure   = "tls";                           // "" (25) "ssl" (465) "tls" (587)
    $mail_username = "[email protected]";	// utente conosciuto dal servizio mail usato
    $mail_password = "cambiami";               // password dell'utente
    break;
  case 1:
    $mail_Host     = "out.alice.it";		// ok mail
    $mail_Port     = "25";
    $mail_Auth     = false;
    $mail_Secure   = "";
    $mail_username = "[email protected]";
    $mail_password = "cambiami";
    break;
  case 2:
    $mail_Host     = "smtp.gmail.com";		// ok PHPmailer
    $mail_Port     = 465;
    $mail_Auth     = true;
    $mail_Secure   = "ssl";
    $mail_username = "[email protected]";
    $mail_password = "cambiami";
    break;
  case 3:
    $mail_Host     = "smtp.web.de";		// ok PHPmailer
    $mail_Port     = 587;
    $mail_Auth     = true;
    $mail_Secure   = "tls";
    $mail_username = "[email protected]";
    $mail_password = "cambiami";
    break;
  case 4:
    $mail_Host     = "mail.tin.it";		// ok mail
    $mail_Port     = 587;
    $mail_Auth     = true;
    $mail_Secure   = "";
    $mail_username = "[email protected]";
    $mail_password = "cambiami";
    break;
  case 5:
    $mail_Host     = "smtp.live.com";		// ok PHPmailer
    $mail_Port     = 587;
    $mail_Auth     = true;
    $mail_Secure   = "tls";
    $mail_username = "[email protected]";
    $mail_password = "cambiami";
    break;
  case 99:
    $mail_Host     = "smtp.aruba.it";		// ok mail
    $mail_Port     = 25;
    $mail_Auth     = false;
    $mail_Secure   = "";
    $mail_username = "[email protected]"; // (utente con dominio su aruba)
    $mail_password = "cambiami";
    break;
}

ini_set("SMTP"     ,$mail_Host);
ini_set("smtp_port",$mail_Port);	
ini_set("username" ,$mail_username);	
ini_set("password" ,$mail_password);
?>
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Form mail con dreamweaver cs6 PHP 2
M come creare un form con dreamweaver da zero PHP 29
S realizzare form mail con dreamweaver Webdesign e Grafica 16
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4
B form gestione input PHP 2
V PHP form intersecate PHP 0
8 Javascript - PDF Form Javascript 0
J Form inserimento dati in database Ajax 1
E Gestione profilo utente tramite Form PHP 3
R [C#] Form principale si blocca mentre un altro Thread lavora .NET Framework 0
M Problema con controllo form in real time jQuery 6
D Form validazione Javascript 2
R form recovery pass PHP 0
V Symfony e i form PHP 3
M form con checkbox PHP 8
S come aggiustare un form di contatto? HTML e CSS 3
F query e form con select multipla PHP 17
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
A Inserimento dati nel database tramite form + altre operazioni PHP 18
websilvia Contact form using Bootstrap 3.3.4 PHP 8
Alex_70 Button non funziona nella form PHP 2
C Form email php su pagina index.html? PHP 21
W Rinominare Documenti Con Form Asp Classic ASP 9
S Invio email da form PHP 8

Discussioni simili