[PHP] Form via email

CoyotesSon

Nuovo Utente
14 Lug 2016
9
0
1
35
Salve!
Sono nuovo, e premetto che non sono un programmatore bensì un dilettante autodidatta. :]
Sto cercando di mettere in piedi un gioco online play-by-chat, e ci tengo ad ammettere che la mia intenzione non è divenire un programmatore, ma solo di riuscire a mettere in piedi il sito con l'aiuto di open source realizzati apposta. ^^

Veniamo a noi! Sto riscontrando problemi con il form che dovrebbe permettere la registrazione dei dati del giocatore.

Ho creato una pagina html, e seguendo una guida, una pagina php per la raccolta dei dati e l'invio alla mail.
Ho caricato il tutto su altervista, ma quando provo ad inviare il form mi da il seguente messaggio di errore:

Pagina non trovata (errore 404)
La pagina http://cronachediwesteros.altervista.org/mail.php?step=2 non è presente.

Questo può dipendere dal fatto che:

  • La pagina non esiste più.
  • Il link che hai seguito non è valido.
  • La pagina è stata spostata.
Fai attenzione alle MAIUSCOLE e MINUSCOLE
Ricorda che http://sito.altervista.org/Pagina.html è diverso da http://sito.altervista.org/pagina.html
Quindi presumo che manchi proprio una pagina php, che non ho idea di come creare :(
Qualcuno sarebbe così gentile da darmi una mano?

Di seguito posso incollare le due pagine che ho, per farvi verificare che siano corrette.
PHP:
<?php

//Raccolta informazioni da form

session_start();

$nickname = $_POST['nickname'];
$natura = $_POST['natura'];
$carattere = $_POST['carattere'];

$razza = $_POST['razza'];
$auspicio = $_POST['auspicio'];
$tribu = $_POST['tribu'];

$for = $_POST['for'];
$des = $_POST['des'];
$cos = $_POST['cos'];
$car = $_POST['car'];
$pers = $_POST['pers'];
$asp = $_POST['asp'];
$perc = $_POST['perc'];
$int = $_POST['int'];
$pro = $_POST['pro'];

$atletica = $_POST['atletica'];
$autorita = $_POST['autorita'];
$bassifondi = $_POST['bassifondi'];
$empatia = $_POST['empatia'];
$espressivita = $_POST['espressivita'];
$intimidire = $_POST['intimidire'];
$rissa = $_POST['rissa'];
$istinto = $_POST['istinto'];
$sestosenso = $_POST['sestosenso'];
$sotterfugio = $_POST['sotterfugio'];

$addanimali = $_POST['addanimali'];
$armifuoco = $_POST['armifuoco'];
$espart = $_POST['espart'];
$furtivita = $_POST['furtivita'];
$galateo = $_POST['galateo'];
$guidare = $_POST['guidare'];
$manualita = $_POST['manualita'];
$mischia = $_POST['mischia'];
$criminalita = $_POST['criminalita'];
$sopravvivenza = $_POST['sopravvivenza'];

$accademiche = $_POST['accademiche'];
$enigmi = $_POST['enigmi'];
$informatica = $_POST['informatica'];
$investigare = $_POST['investigare'];
$legge = $_POST['legge'];
$ritualita = $_POST['ritualita'];
$medicina = $_POST['medicina'];
$occulto = $_POST['occulto'];
$tecnologia = $_POST['tecnologia'];
$scienze = $_POST['scienze'];

$dono1 = $_POST['dono1'];
$dono2 = $_POST['dono2'];
$dono3 = $_POST['dono3'];

$alleati = $_POST['alleati'];
$risorse = $_POST['risorse'];
$fato = $_POST['fato'];
$contatti = $_POST['contatti'];
$razzapura = $_POST['razzapura'];
$antenati = $_POST['antenati'];
$retspi = $_POST['retspi'];
$mentore = $_POST['mentore'];
$riti = $_POST['riti'];
$parenti = $_POST['parenti'];
$feticci = $_POST['feticci'];
$totem = $_POST['totem'];

$gnosi = $_POST['gnosi'];
$furia = $_POST['furia'];
$volonta = $_POST['volonta'];

$pregidif = $_POST['pregidif'];

$backg = $_POST['backg'];

$commentostaff = $_POST['commentostaff'];

//Fine raccolta informazioni

//Invio mail al Webmaster

$to = "karok84@hotmail.it";
$sbj = "Hai ricevuto dei dati da RANY";
$msg = "
<html>
<head>
<style type='text/css'>
p.stile {font-weight:bold;
font-family:arial, sans-serif;
}

p {font-family:arial, sans-serif;
}
</style>
</head>

<body>
<p>Hai ricevuto i seguenti dati da $nickname</p>
<p class='stile'>E-Mail:</p><p>$email</p>
<p class='stile'>Skype:</p><p>$skype</p>
</body>
</html>
";

$from = $email;
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headers .= "From: $from";

mail($to, $sbj, $msg, $headers);

//Fine invio messaggio al Webmaster

//Inizio invio email all'utente

$toclient = $email;
$sbjclient = "Hai ricevuto una mail dal sito ";
$msgclient = "Inserisci il messaggio";

$fromclient = "Nome del sito";
$headersclient = 'MIME-Version: 1.0' . "\n";
$headersclient .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
$headersclient .= "From: $fromclient";

mail($toclient, $sbjclient, $msgclient, $headersclient);

session_destroy();

exit;
?>
Grazie mille in anticipo!!
Sono ancora agli inizi, ma spero di imparare anche grazie al vostro aiuto :)
 

Allegati

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
Ciao la pagina php è stata nominata mail.php?step=2
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
oppure mail.php
 

CoyotesSon

Nuovo Utente
14 Lug 2016
9
0
1
35
No, è stata nominata iscrizione2.php, mentre quella del form è iscrizione2.html.
Avevo letto che devono avere lo stesso nome. Giusto..?
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
nel form html inserisci in action="iscrizione2.php" prova e fammi sapere se funziona
 

CoyotesSon

Nuovo Utente
14 Lug 2016
9
0
1
35
Ok, un passo avanti lo abbiamo fatto XD mi porta ad una pagina vuota (questo credo sia normale, anche se mi piacerebbe capire come creare una pagina di conferma dell'invio, giusto per estetica.)

La mail viene inviata, e questo è già buono.
Però purtroppo riporta solo skype e mail, invece che tutti i dati... come mai? Mi sono accertato che gli elementi $ fossero uguali ai name...
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
basta creare un
PHP:
echo "mail inviata correttamente";
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
per hai attribuito alla mail solo:
$nickname
$skype
$email
se provassi ad inserire tutti i dati magari avresti un miracolo! ;)
 

CoyotesSon

Nuovo Utente
14 Lug 2016
9
0
1
35
Penso di aver capito XD vanno aggiunti tutti in fila dopo la riga 104, giusto?

Però mi succede una cosa strana ed inizio a credere che non sia una coincidenza, alla terza volta.
Quando invio una mail di prova con il form, il sito (che è ovviamente sullo stesso dominio, altervista) mi crea problemi e crolla. Anche se basta riaggiornare e rifare il log in, è antipatico... come mai..??

Comunque grazie mille per l'aiuto datomi finora!!
 

cris8380

Moderatore
Membro dello Staff
MOD
3 Giu 2016
261
14
18
37
ok quello e un problema di disconnessione dopo tot minuti ti consiglio di vedere una cosa del genere
setcookie time
dovresti aumentare il tempo di disconnessione....

Spero di esserti stato utile!!!