- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema con un esempio proposto nella home del portale
-
Problema con un esempio proposto nella home del portale
Inanzitutto ciao a tutti....
volevo chiedere informazioni riguardanti un esempio che ho trovato a questo http://www.giorgiotave.it/guida_php/invio_email.php indirizzo....
Vi spiego brevemente cosa mi succede...
Copio spudoratamente la parte di codice che va da<html>
<body>
<form method="get" action="send.php">
......
</html>in un file di testo che chiamerò index.php
Dopodichè copio la seconda parte
<?php
if(!$risultato = ereg("^[^@ ]+@[^@ ]+.[^@ .]+$",
.....
?>in un altro file di testo che chiamerò send.php....
Ricordo che il codice l'ho copiato spudoratamente quindi è impossibile che abbia fatto errori di battitura (a meno che non sono neanche capace di fare copia/incolla :D).Bene,metto tutto nella cartella "www" di easyphp (magari ci sono programmi migliori...ehehe ma lo faccio x hobby),faccio partire il tutto da localhost e mi da questi errori:Notice: Undefined variable: emaildestinatario in c:\programmi\easyphp1-8\www\send.php on line 3
Notice: Undefined variable: emaildestinatario in c:\programmi\easyphp1-8\www\send.php on line 4
Questa non è una email valida....come mai?cosa c'è che non va???
Grazie anticipatamente per le risposte!
-
E' un problema di impostazioni di PHP, ma sono corrette le tue, modifica send.php così:
<?php $emaildestinatario = $_GET['emaildestinatario']; $nomedestinatario = $_GET['nomedestinatario']; $nomemittente = $_GET['nomemittente']; $emailmittente = $_GET['emailmittente']; if(!$risultato = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $emaildestinatario)){ echo " Questa $emaildestinatario non è una email valida"; }else{ $messaggio=""; $messaggio .="Ciao **$nomedestinatario!!$nomemittente Ti ha mandato una email dal sito www.giorgiotave.it "; $destinatario= "$emaildestinatario"; $oggetto="Modulo inviato dal sito www.giorgiotave.it"; $intestazioni="From: $nomemittente<>\n"; $messaggio.="\n Ecco cosa ti ha scritto:\n $commenti"; $intestazioni.="Reply-To: $emailmittente"; mail($destinatario,$oggetto,$messaggio,$intestazioni); echo "ecco cosa hai mandato $messaggio"; echo " <a href=\"http://www.giorgiotave.it\">Torna alla Home</a>"; } ?>
-
grazie della risposta...
azzz è venuto fuori un altro problema (ho dovuto aggiungere una stringa di codice "$commenti = $_GET['commenti'];" perchè non c'era...
comunque il problema è questo
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\programmi\easyphp1-8\www\send.php on line 19
da quello che ho capito mi dice che la porta smtp non è settata nel php.ini...come faccio a settarla?cioè...apro il file e la setto,ma che valore ci devo mettere?
-
puoi indicare il tuo compter come server smtp se stai lavorando in locale.
quindi apri php.ini, cerca smtp e impostalo uguale al nome del tuo computer.
-
@Tymba said:
puoi indicare il tuo compter come server smtp se stai lavorando in locale.
quindi apri php.ini, cerca smtp e impostalo uguale al nome del tuo computer.
e se tipo lo volessi far girare in uno spazio web,x esempio su aruba?
ho modificato il php.ini come mi hai detto di fare...ma ci sarebbe un altra cosa da cambiare
[mail function]
; For Win32 only.
SMTP = casa
smtp_port = 25; For Win32 only.
;sendmail_from = [email][email protected][/email]questo in grassetto come lo modifico?perchè se cambio solo il nome del server smtp metttendolo da "localhost" a "casa" (che è il nome del mio pc) continua a darmi lo stesso errore
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\programmi\easyphp1-8\www\send.php on line 19
in + nn capisco xke mi continua a citare "localhost" come nome del server e non "casa"
-
uao alla fine sono riuscito a risolvere il problema : non so come mai ma x qualche strano motivo il file php.ini non me lo caricava "modificato" da easyphp...lasciando l'smtp di default...
alla fine ho utilizzato la "ini_set()" direttamente nel codice e come indirizzo di server smtp ho messo x prova quello di tiscali (smtp.tiscali.it) dato che mettendo "casa" non andava...
adesso funziona tutto,grazie x i consigli che mi avete dato!!!