Invio email con PHP

  • Creatore Discussione Creatore Discussione Tommy03
  • Data di inizio Data di inizio

Tommy03

Utente Attivo
6 Giu 2018
614
58
28
21
Vicenza
Ciao, sono nuovo.
Sono un semi-principiante dei linguaggi per realizzare siti web. Il problema non è tanto html, ma php, perchè per me è un linguaggio completamente nuovo.
1) Scusate l'ignoranza, ma come si visualizza nel browser un file con esetensione .php? Forse non mi spiego bene... Se io creo una pagina con codici HTML e anche PHP e voglio salvarla con estensione .php, dopo come visualizzo i contenuti nel browser?
2) Un altro problema sono i form. Se per esempio volessi che all'invio di un form i dati dell'utente mi arrivassero via mail, la funzione php la conosco, ma ciò che non mi è chiara è un'altra cosa...

HTML:
<form action="richiedi.php" method="post" name="richiedi" id="richiedi">
<fieldset>
<legend><span>Inserisci i tuoi dati</span></legend>
<label for="nome">Nome <span>*</span></label>
<input type="text" name="nome" id="nome" placeholder="Scrivi il tuo nome" REQUIRED/>
<label for="cognome">Cognome <span>*</span></label>
<input type="text" name="cognome" id="cognome" placeholder="Scrivi il tuo cognome" REQUIRED/>
<label for="provincia">Provincia</label>
<input type="text" name="provincia" id="provincia"/>
<label for="eta">Et&aacute;</label>
<input type="number" name="eta" id="eta"/>
<label for="email">Email <span>*</span></label>
<input type="email" name="email" id="email" placeholder="Inserisci la tua e-mail" REQUIRED/>
<input type="submit" name="submit" value="VAI AL PREVENTIVO" class="bottone" />

</form>

Questo qui sotto invece è il file richiedi.php

PHP:
<?php
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$provincia = $_POST['provincia'];
$email = $_POST['email'];
$eta = $_POST['eta'];

$testo = "Nome: " . $nome . "\n"
       . "Cognome: " . $cognome . "\n"
        . "Provincia: " . $provincia . "\n"
       . "Email: " . $email . "\n"
       . "Età:\n" . $eta;

mail('[email protected]', 'Richiesta dal mio sito web', $testo);

echo 'Grazie per aver inviato la tua richiesta!';
?>
Ora i seguenti punti non mi sono chiari:
3)Perchè non mi arriva la mail, dove ho sbagliato?
4)Quando clicco "VAI AL PREVENTIVO" mi indirizza a richiedi.php, dove però si vedono solamente dei codici php, anche se aggiungessi sotto ai codici php altri codici html per la visualizzazione di una nuova pagina, vedo solamente i codici php e html che ho inserito, e non l'effettiva pagina che vorrei che venisse visualizzata.

Come devo fare?
 
Installi un web server apache, nginx, cherokee etc etc etc...

Prova netBeans o Eclipse dovrebbero avviare in automatico il server php...
 
@Tommy03
Se scrivi sul forum come tutti noi sei tenuto a conoscere il regolamento generale del forum e quello della sezione dove posti.
Il regolamento cita:
2.7 E' vietato aprire discussioni con titoli generici del tipo "Aiuto", "Help" o "Rispondete subito". Alle discussione deve essere assegnato un titolo che ne renda immediatamente comprensibile il contenuto utilizzando, ove possibile, la giusta terminologia tecnica. Così facendo si rende più facile agli altri utenti il compito di trovare immediatamente le discussioni a cui parteciapre.
Pertanto sei pregato di modificare il titolo della discussione con un titolo adeguato e leggere attentamente il regolamento!!
Grazie
 
ciao
immagino che tu stia lavorando in locale, quindi come ha detto macus_adi devi installarti un server locale, le pagine php non possono essere richiamate come le html col doppio clik sul nome del file, ma si deve avere un server locale che interpeti il codice e le pagine si richiamano ad brovser, es. http://localhost/mia_pagina.php (dove localhost come dice il nome e il server locale).
poi veniami al fatto che non ti arriva la mail:
se stai lavorando in local vedi quano detto sopra, anche se da locale con la funzione mail() non riesci a trasmettere.
se invece stai lavorando in remoto (sul server dove hai il sito) il fatto che non ti arrivi è dovuto propabilmente a gmail.com (e molti altri es. alice.it ecc..) che spesso e volentieri rifiuta le email inviate con mail().
quindi devi abbandonare mail() e passare a una classe di invio quale phpmailer (vedi tra gli articoli di mrwm)
dimenticavo, dici di essere un sewmi-principante quindi ricordare sempre di mettere gli adeguati controlli a quanto ricevuto via POST
 

Discussioni simili