aggiungere input a form php

  • Creatore Discussione Creatore Discussione idrev
  • Data di inizio Data di inizio
ciao
ti conviene aggiungere l'indirizzo email nel testo, basta che tu aggiuga e rimetti il nome del sito
$Emailmessaggio->FromName= "mio_sito";
puoi anche non mettere la riga, nel tuo client di posta (es. outlook) come mittente apparirà "host" (nel mio form contatti non l'ho messo)
ecco l'aggiunta
PHP:
<?php
//......
//preparo il testo che ti verrà inviato
        $testo="<hr>";
        $testo.="email inviata da: $nome $cognome<br>";
		$testo.="indirizzo: $mittente<br>";//aggiungi questa riga
        $testo.= "il ".date("d.m.Y H:i:s")."<hr>";
        $testo.="$messaggio<hr>$allegato_si_no";
//preparo l'allegato se c'è o se non l'ho eliminato 
//......
?>
per il resto funziona?
p.s.
se vuoi rendere attivo l'indirizzo di posta sull'email che ti arriva basta che tu metta

PHP:
<?php
//........
		$testo.="indirizzo: <a href=\"mailto:$mittente\">$mittente</a><br>";//aggiungi questa riga
//........
?>
 
Ultima modifica:
Ti ringrazio per l'aiuto funziona e molto bene, ho apportato anche varie modifiche per adattarlo il piu possibile a quello che mi serve. Una pecca che non riesco a risolvere è che una volta compilato il form mi rimanda sempre in cipa alla pagine e non mi fa visualizzare i ringraziamenti o gli errori e lo stesso vale per il refresh che vorrei che andasse al punto della pagina, ma niente non va. Ho provato in questo modo:

Ho provato ad aggiungere: header("Location : index.php#contact"); collegandolo all'ancora dove si trova il form

PHP:
//ora dovrebbe essere tutto pronto per l'invio 
        if(!$Emailmessaggio->Send()){ //errore di trasmissione 
              $ok_ko="c'&eacute; stato un errore di trasmissione, riprova pi&ugrave; tardi<br>";
        }else{ //invio avvenuto 
              $ok_ko="grazie di averci contattato, sarai richiamato al pi&ugrave; presto<br>";
			  header("Location : index.php#contact");
        } 
    } 
    //quindi mostro il messaggio di errore o di invio (a te sistemarlo graficamente) 
    echo $ok_ko;
    //e ritorno, dopo 4 secondi per dare il tempo di leggere il messaggio al form pulito 
    echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
}else{ 
?>
 
o cmq cercare di non ricaricare la pagina una volta inviato il form...si può fare secondo te ?
 
ciao
penso di si, ma credo che si debba ricorrere a ajax e/o jquerry di cui non sono esperto, eventualmente posta nella sez adatta il tuo quesito
 
ma solo da php non si può non far ricaricare la pagina ? sto dietro a questo form da una settimana, sta cominciando a diventare pesante :)
 
Ho trovato una soluzione...anche se non è quello che volevo proprio ma posso farmela andare bene. Invece di far comparire il messaggio di risposta nel form faccio comparire un popup in questo modo

PHP:
 //quindi mostro il messaggio di errore o di invio (a te sistemarlo graficamente) 
    echo "<script>window.open('$ok_ko', 'upload',
'height=219,width=395,left=400,top=300,toolbar=no,scrollbars=no');</script>";
    //e ritorno, dopo 4 secondi per dare il tempo di leggere il messaggio al form pulito 
    echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
}else{

quando si apre mi da il messaggio di risposta ma è un po bruttino esteticamente xkè non legge i caratteri speciali ed esce anche pagina non trovata ed altre informazioni...un ultimo aiutino è possibile ? :D
 
ciao
io ho fatto così, appena sopra il form
come vedi poi oltre allo stile della visibilità gli ho dato una classe con i css in modo dare nderlo graficamente più gradevole
PHP:
<?php
//.......sopra tutta la parte di invio
$visibilita="hidden";
if($ok_ko !=""){
	$visibilita="visible";
	//se $messaggio_OK_KO non è vuoto lo stampo
	echo "<div style=\"visibility:$visibilita;\" class=\"ok_ko\">$ok_ko</div>";
	$ok_ko ="";//e lo vuoto
	echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}
//.....
?>
<!-- e qui ho il form -->
come vedi poi oltre allo stile della visibilità gli ho dato una classe con i css in modo da renderlo graficamente più gradevole
 
mi da errore in questo modo...ho risolto così...creando due pagine

PHP:
 //ora dovrebbe essere tutto pronto per l'invio 
        if(!$Emailmessaggio->Send()){ //errore di trasmissione 
              $ok_ko="<script>window.open('errore.html', 'upload',
'height=219,width=395,left=400,top=300,toolbar=no,scrollbars=no');</script>";
        }else { //invio avvenuto 
              $ok_ko="<script>window.open('grazie.html', 'upload',
'height=219,width=395,left=400,top=300,toolbar=no,scrollbars=no');</script>";
			  
        } 
    } 
    //quindi mostro il messaggio di errore o di invio (a te sistemarlo graficamente) 
    echo $ok_ko;
    //e ritorno, dopo 4 secondi per dare il tempo di leggere il messaggio al form pulito 
    echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
}else{
 
ma invece alla stringa che ricarica la pagina si può inserire l'ancora ?

PHP:
    //e ritorno, dopo 4 secondi per dare il tempo di leggere il messaggio al form pulito 
    echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>"; 
}else{
 

Discussioni simili