[PHP] Form via email

CoyotesSon

Nuovo Utente
14 Lug 2016
9
0
1
40
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

No, è stata nominata iscrizione2.php, mentre quella del form è iscrizione2.html.
Avevo letto che devono avere lo stesso nome. Giusto..?
 
nel form html inserisci in action="iscrizione2.php" prova e fammi sapere se funziona
 
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...
 
basta creare un
PHP:
echo "mail inviata correttamente";
 
per hai attribuito alla mail solo:
$nickname
$skype
$email
se provassi ad inserire tutti i dati magari avresti un miracolo! ;)
 
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!!
 
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!!!
 

Discussioni simili