Salve, vorrei sapere come inviare un modulo però in modo che la pagina rimanga la stessa, senza bisogno di far caricare al browser la pagina dove va ad inviare i dati e poi magari ritornare dov'era prima.
Salve, vorrei sapere come inviare un modulo però in modo che la pagina rimanga la stessa, senza bisogno di far caricare al browser la pagina dove va ad inviare i dati e poi magari ritornare dov'era prima.
action=""
oppure metti su action <? $_SERVER[PHP_SELF]; ?>
metti il form in alto e poi metti tipo un if(isset($_POST['invia'])) {
codice php
}
else{
e al tasto invio dai ovviamente il valore:
echo"
<input name=\"invia\" type=\"submit\" value=\"invia\">;
mi faresti na veloce pagina di esempio? mi sarebbe d'aiuto
Codice PHP:
<HTML>
<HEAD>
<TITLE>[Scrivi sul Muretto]</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
function controllo_muretto()
{
var mnome, mmessaggio;
with(window.document.muretto)
{
mnome = nome;
mmessaggio = messaggio;
}
if(mnome.value == '')
{
alert('Ciao,sono il BOT Sonia:');
alert('Devi inserire un NOME per scrivere sul muretto!');
alert('Grazie!');
mnome.focus;
return false;
}
else if(mmessaggio.value == '')
{
alert('Sonia ti dice:');
alert('Devi inserire un MESSAGGIO per scrivere sul muretto!');
mmessaggio.focus;
return false;
}
else
{
return true;
}
}</script>
</HEAD>
<BODY BGCOLOR=orange>
<!-- ImageReady Slices (muro.psd) -->
<font face="Comic Sans MS" color="black" size=\"2\">[Max 120 caratteri a Messaggio]</font>
<TABLE WIDTH=255 BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=29 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=32 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=47 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=49 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=42 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=27 HEIGHT=1></TD>
<TD>
<IMG SRC="immagini/spaziatore.gif" WIDTH=29 HEIGHT=1></TD>
</TR>
<TR>
<TD COLSPAN=7>
<IMG SRC="immagini/muro_01.jpg" WIDTH=255 HEIGHT=49></TD>
</TR>
<TR>
<TD COLSPAN=2 ROWSPAN=2>
<IMG SRC="immagini/muro_02.jpg" WIDTH=61 HEIGHT=83></TD>
<TD WIDTH=138 HEIGHT=31 COLSPAN=3><form name="muretto" action="" method="post" onSubmit="return controllo_muretto();">
<center><input name="nome" size="17" maxlength="15"></center></TD>
<TD COLSPAN=2 ROWSPAN=2>
<IMG SRC="immagini/muro_04.jpg" WIDTH=56 HEIGHT=83></TD>
</TR>
<TR>
<TD COLSPAN=3>
<IMG SRC="immagini/muro_05.jpg" WIDTH=138 HEIGHT=52></TD>
</TR>
<TR>
<TD ROWSPAN=4>
<IMG SRC="immagini/muro_06.jpg" WIDTH=29 HEIGHT=180></TD>
<TD WIDTH=197 HEIGHT=132 COLSPAN=5><center><textarea name="messaggio" cols="20" rows="7"></textarea></center></TD>
<TD ROWSPAN=4>
<IMG SRC="immagini/muro_08.jpg" WIDTH=29 HEIGHT=180></TD>
</TR>
<TR>
<TD COLSPAN=5>
<IMG SRC="immagini/muro_09.jpg" WIDTH=197 HEIGHT=14></TD>
</TR>
<TR>
<TD COLSPAN=2 ROWSPAN=2>
<IMG SRC="immagini/muro_10.jpg" WIDTH=79 HEIGHT=34></TD>
<TD bgcolor="red" WIDTH=49 HEIGHT=26><center><input name="invia" type="submit" value="invia"></center></TD>
<TD COLSPAN=2 ROWSPAN=2>
<IMG SRC="immagini/muro_12.jpg" WIDTH=69 HEIGHT=34></TD>
</TR>
<TR>
<TD>
<IMG SRC="immagini/muro_13.jpg" WIDTH=49 HEIGHT=8></TD>
</TR>
</TABLE>
<!-- End ImageReady Slices -->
</BODY>
</HTML>
<?php
include(configurazione.php);
if(isset($_POST['invia'])){
$nome=$_POST['nome'];
$messaggio=$_POST['messaggio'];
$data = date("d-m-y");
$ora = date("H:i");
$ip = $_SERVER['REMOTE_ADDR'];
//nome
$valore = (!get_magic_quotes_gpc()) ? addslashes($nome) : $nome;
$valore = ($valore != "") ? "'" . $valore . "'" : "NULL";
$lista_array["nome"]=$valore;
//messaggio
$valore = (!get_magic_quotes_gpc()) ? addslashes($messaggio) : $messaggio;
$valore = ($valore != "") ? "'" . $valore . "'" : "NULL";
$lista_array["messaggio"]=$valore;
//data
$valore = (!get_magic_quotes_gpc()) ? addslashes($data) : $data;
$valore = ($valore != "") ? "'" . $valore . "'" : "NULL";
$lista_array["data"]=$valore;
//ora
$valore = (!get_magic_quotes_gpc()) ? addslashes($ora) : $ora;
$valore = ($valore != "") ? "'" . $valore . "'" : "NULL";
$lista_array["ora"]=$valore;
//ip
$valore = (!get_magic_quotes_gpc()) ? addslashes($ip) : $ip;
$valore = ($valore != "") ? "'" . $valore . "'" : "NULL";
$lista_array["ip"]=$valore;
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$query = "INSERT INTO muretto (";
$query .= implode(",", array_keys($lista_array));
$query .= ") VALUES (";
$query .= implode(",",array_values($lista_array));
$query .= ")";
$result = mysql_query($query);
if(mysql_affected_rows() == 1) {
$nome=$lista_array["nome"];
echo "<script language=\"JavaScript\">alert(\"Grazie '$nome' il Messaggio è stato inviato sul Database!\"); alert(\"Verrà inserito dopo essere stato controllato dal nostro Staff.Grazie\");</script>
";
}
else
{
echo "<script language=\"JavaScript\">alert(\"Messaggio non inserito,si è verificato un Errore.\");</script>";
exit;
}
}
?>
Oh mio dio meno male una cosa semplice
cmq ma è tutta una pagina o so due pagine differenti?
solo una pagina...vedi questo è vuoto <form name="muretto" action="" <----questo
quindi le variabili le passa a se stesso...ciao
guarda:
nn l'ho provato cmq dovrebbe funzionareCodice PHP:
<?
if(!isset($_POST['status']))
{
?>
<form action="<?=$PHP_SELF?>" method="post">
<table align="center">
<tr>
<td>
Nome:
</td>
<td>
<input type="text" name="nome">
</td>
</tr>
<tr>
<td>
Email:
</td>
<td>
<input type="text" name="email">
</td>
</tr>
<tr>
<td>
Messaggio:
</td>
<td>
<textarea cols="50" rows="10" name="msg"></textarea>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="sb" value="Invia"><input type="reset" name="rs" value="Cancella"><input type="hidden" name="status" value="ok">
</td>
</tr>
</table>
</form>
<?
}
else
{
$to = 'tua@mail.it'; // tua mail
$nome = $_POST['nome'];
$mail = $_POST['email'];
$msg = $_POST['msg'];
$oggetto = 'Oggetto mail'; //oggetto mail
$body = 'Mail da:'.$nome.' '.$mail;
$body .= $msg;
if($nome == '' || $mail == '' || $msg == '')
{
die('Tutti i campi sono obbligatori');
}
else
{
if( mail($to, $oggetto, $body, "From: $nome <$mail>") )
{
echo "Mail inviata con successo";
}
else
{
die("Errore durante l'invio della mail");
}
}
}
?>
ciao ^__^
ok proverò, grazie dell'aiuto, se ci sono errori vengo quì vi aspetto
ah la pagina penso debba avere estensione php giusto?
Certo, se non il codice, oltre a non essere interpretato, è anche visibile all'utente.
Hei ho provato seguendo i vostri esempi a fare questo script:
Ma sembra non funzionare, appena apro la pagina non me la fa visualizzare, mi da una pagina completamente biancaCodice PHP:
<?
if(!isset($_POST['status']))
{
?>
<form name="form1" method="post" action="<?=$PHP_SELF?>">
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="22%" class="titoliform">Nome: </td>
<td width="68%"><input name="nome" type="text" class="testoform" id="nome" size="20" maxlength="20"></td>
<td width="10%" class="essenziali">*</td>
</tr>
<tr>
<td class="titoliform">Cognome:</td>
<td><input name="cognome" type="text" class="testoform" id="cognome" size="20" maxlength="20"></td>
<td class="essenziali"> </td>
</tr>
<tr>
<td class="titoliform">E-Mail:</td>
<td><input name="email" type="text" class="testoform" id="email" size="30" maxlength="30"></td>
<td class="essenziali">*</td>
</tr>
<tr>
<td class="titoliform">Tel:</td>
<td><input name="tel" type="text" class="testoform" id="tel" size="22" maxlength="22"></td>
<td class="essenziali"> </td>
</tr>
<tr>
<td class="titoliform">Oggetto</td>
<td><p>
<label></label>
<label>
<select name="oggetto" class="testoform" id="oggetto">
<option value="Informazioni sui servizi">Informazioni sui servizi</option>
<option value="Informazioni sui pagamenti">Informazioni sui pagamenti</option>
<option value="Informazioni generali">Informazioni generali</option>
<option value="Aiuto Pagamenti">Aiuto Pagamenti</option>
<option value="Richiedere un preventivo">Richiedere un preventivo</option>
<option value="Interessato ad un servizio">Interessato ad un servizio</option>
<option value="Altro">Altro</option>
</select>
</label>
<br>
</p></td>
<td class="essenziali">*</td>
</tr>
<tr>
<td class="titoliform">Messaggio</td>
<td><textarea name="messaggio" cols="55" rows="7" class="testoform" id="messaggio">Massimo 255 caratteri</textarea></td>
<td class="essenziali">*</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><div align="center">
<input src="../immagini/inviabtn.gif" name="Invia" type="image" id="Invia" alt="Invia il messaggio" border="0">
</div></td>
<td> </td>
</tr>
</table>
</form>
<?
}
else
{
$post = $_POST;
$nome = $post['nome'];
$cognome = $post['cognome'];
$email = $post['email'];
$tel = $post['tel'];
$oggetto = $post['oggetto'];
$messaggio = $post['messaggio'];
$ip = $_SERVER["REMOTE_ADDR"];
$browser = $_SERVER["HTTP_USER_AGENT"];
$tempo = getdate();
$giorno = $tempo['mday'];
$mese = $tempo['month'];
$anno = $tempo['year'];
$ore = $tempo['hours'];
$minuti = $tempo['minutes'];
$secondi = $tempo['seconds'];
$connessione = mysql_connect("******","******","******")
or
die("Si è riscontrato un errore durante il collegamento con il database. Riprovare più tardi o contattare l'amministratore.");
mysql_select_db("******",$connessione);
$query="INSERT INTO ******(id,nome,cognome,email,tel,oggetto,messaggio,ip,browser,giorno,mese,anno,ore,minuti,secondi) VALUES('$id','$nome','$cognome','$email','$tel','$oggetto','$messaggio','$ip','$browser','$giorno','$mese','$anno','$ore','$minuti','$secondi')";
$verifica = mysql_query($query,$connessione);
if($nome == '' || $mail == '' || $oggetto == '' $messaggio == '')
{
die('I campi con asterisco rosso sono obbligatori.');
}
else
{
if($verifica)
{
echo "Messaggio inviato con sucesso.";
}
else
{
die("Si è riscontrato un errore durante l'invio del messaggio, riprovare più tardi o contattare l'amministratore.");
}
?>
EDIT RadioRadianti : Quando scrivi del codice, utilizza i tag "code" altrimenti vengono fuori dei post chilometrici.
Il tuo messaggio ora l'ho editato io
Ultima modifica di radioradianti : 28-11-2005 alle ore 13.33.14
mi segnala errata questa riga:
if($nome == '' || $mail == '' || $oggetto == '' $messaggio == '')
Parse error: parse error, unexpected T_VARIABLE in /home/mhd-01/www.******.com/htdocs/html/contatti.php on line 255
modificalo con questo
if($nome == '' || $mail == '' || $oggetto == '' || $messaggio == '')