Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/11/2012, 10:44
Hekaly
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Escribir texto despues de presionar Submit

Buenas.

EN realidad el form no enia a ningun archivo php sino que se hace el envia desde la misma pagina, segun el script original, cuando se presiona el boton submit se genera la funcion que puse antes, y esta redirecciona al otro archivo php donde se muestra el mensaje al usuario.

Os muestro como tengo el script completo ya adaptado a mi web:

Código:
<?php include($_SERVER['DOCUMENT_ROOT'].'/configuracion.php'); ?>
<?php
require_once("contacto/include/fgcontactform.php");
require_once("contacto/include/formvalidator.php");
$formproc = new FGContactForm();
//Initialize the contact form
$formproc->AddRecipient('[email protected]'); //<<---Put your email address here
$formproc->SetFormRandomKey('xxxxxxxxxxxxx');
$validation_errors='';
if(isset($_POST['submitted']))
{// We need to validate only after the form is submitted
    //Setup Server side Validations
    //Please note that the element name is case sensitive 
    $validator = new FormValidator();
    $validator->addValidation("name","req","Please fill in Name");
    $validator->addValidation("email","email","The input for Email should be a valid email value");
    $validator->addValidation("email","req","Please fill in Email");   
    //Then validate the form
    if($validator->ValidateForm())
    {
        //If the validations succeeded, proceed with form processing
        if($formproc->ProcessForm())
        {
             $formproc->RedirectToURL("gracias.php");
        }
    }
    else
    {
        //Validations failed. Display Errors.
        $error_hash = $validator->GetErrors();
        foreach($error_hash as $inpname => $inp_err)
        {
           $validation_errors .= "<p>$inpname : $inp_err</p>\n";
        }        
    }
}//if
$disp_name  = isset($_POST['name'])?$_POST['name']:'';
$disp_email = isset($_POST['email'])?$_POST['email']:'';
$disp_message = isset($_POST['message'])?$_POST['message']:'';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="css/estilo.css" type="text/css" rel="stylesheet" media="screen, print" />
<link href="css/menu.css" type="text/css" rel="stylesheet" media="screen, print" />
<link rel="shortcut icon" type="image/x-icon" href="favico.ico" />


<script type="text/javascript" src="scripts/js.js"></script>
<script language="javascript" src="scripts/jquery-1.7.2.min.js"></script>
<script language="javascript" src="scripts/amenu.js"></script>
<script language="javascript" src="scripts/idebar.js"></script>
<link rel="stylesheet" type="text/css" href="css/screen.css" media="screen" />

<link href="contacto/contact.css" type="text/css" rel="stylesheet" media="screen, print" />
<script type='text/javascript' src='contacto/scripts/gen_validatorv31.js'></script>



</head>
<body>

<div id="contenedor">
<div id="header" style="background-image:url(imagenes/iconos/fondo_menu.png);background-repeat:repeat-x;">
    <p align="center"><img src='http://infojuegos.org/imagenes/header.png' /></p>
	<hr />
	<div><? include("includes/menu.php"); ?></div>
</div>
<div class="colmask threecol">
	<div class="colmid">
		<div class="colleft">
			<div class="col1" style="max-width:800px;">
				<!-- Column 1 start -->				
				<div class="outer-container">
					<br /><div style="width:790px;">
					
					
					

					
<div align="center">					
<!-- Form Code Start -->
<form id='contactus' action='<?php echo $formproc->GetSelfScript(); ?>' method='post' accept-charset='UTF-8'>
<fieldset >
<legend>Formulario de contacto</legend>

<input type='hidden' name='submitted' id='submitted' value='1'/>
<input type='hidden' name='<?php echo $formproc->GetFormIDInputName(); ?>' value='<?php echo $formproc->GetFormIDInputValue(); ?>'/>
<input type='text'  class='spmhidip' name='<?php echo $formproc->GetSpamTrapInputName(); ?>' />

<div class='short_explanation'>* Campos Obligatorios</div>

<div>
<span class='error'><?php echo $formproc->GetErrorMessage(); ?></span>
<span class='error'><?php echo $validation_errors; ?></span>
</div>
<div class='container'>
    <label for='name' >Nombre Completo*: </label><br/>
    <input type='text' name='name' id='name' value='<?php echo htmlentities($disp_name) ?>' maxlength="50" /><br/>
    <span id='contactus_name_errorloc' class='error'></span>
</div>
<div class='container'>
    <label for='email' >Direcci&oacute;n Email*:</label><br/>
    <input type='text' name='email' id='email' value='<?php echo htmlentities($disp_email) ?>' maxlength="50" /><br/>
    <span id='contactus_email_errorloc' class='error'></span>
</div>

<div class='container'>
    <label for='message' >Mensaje:</label><br/>
    <span id='contactus_message_errorloc' class='error'></span>
    <textarea rows="10" cols="50" name='message' id='message'><?php echo htmlentities($disp_message) ?></textarea>
</div>

<table>
 <tr>
  <td>
   <div class='container'>
    <input type='submit' name='Submit' value='Submit' />
   </div>
  </td>
  <td>
   <div class='container'>
    <input type='reset' name='Reset' value='Reset' />
   </div>
  </td>
 </tr>
</table>
</fieldset>
</form>	
</div>				
<? $var="";
 if ($formproc = $var) {echo "Ejecutado";} ?>
					
					
					
					
					
					
					
					
					
					
					
					</br></div>
				</div>
				<div class="box left-menu" style="width:790px;">
					<p style="margin-left:30px;"><img src="http://infojuegos.org/imagenes/banners/banner2.gif"/></p>
				</div>
				<!-- Column 1 end -->
			</div>
			<div class="col2" style="margin-left:20px;">
				<!-- Column 2 start -->
				<? include("includes/sidebar_izquierda.php"); ?>
				<!-- Column 2 end -->
			</div>
			<div class="col3" style="margin-left:820px;">
				<!-- Column 3 start -->
				
				<!-- Column 3 end -->
			</div>
			<div style="margin-left:2070px;margin-top:20px;"><?php include("includes/sidebar_derecha.php"); ?></div>
		</div>
	</div>
</div>
<div id="footer">
	<? include("includes/footer.php"); ?>
</div>
<script type='text/javascript'>
// <![CDATA[

    var frmvalidator  = new Validator("contactus");
    frmvalidator.EnableOnPageErrorDisplay();
    frmvalidator.EnableMsgsTogether();
    frmvalidator.addValidation("name","req","Por favor, introduzaca su nombre.");

    frmvalidator.addValidation("email","req","Por favor, introduzca su direcci&oacute;n email.");

    frmvalidator.addValidation("email","email","Por favor, introduzca una direcci&oacute;n email v&aacute;lida. Ej: [email protected]");

    frmvalidator.addValidation("message","maxlen=2048","El mensaje a enviar es demasiado largo(m&aacute;s de 2KB)");
// ]]>
</script>
</body>
</html>
La parte del formulario es la que esta entre muchos espacios (para no liar).

Una forma que se me ha ocurrido es poner en la raiz el archivo gracias.php (por ejemplo) donde se muestre el texto para luego redirigir a la pagina acerca.php refrescada de nuevo.

gracias.php
Código PHP:
<?php echo "Mensaje enviado";
          
header("Location: 0; URL='http://dominio.org/acerca.php'");?>
Pero claro, tiene que pasar de una ruta (acerca ) a gracias.php para ir de nuevo a acerca.php.

Por eso lo que me gustaria es que al darle al submit la parte

Código PHP:
$formproc->RedirectToURL("gracias.php"); 
Fuera una funcion o algo parecido que me muestre "mensaje enviado" debajo o encima del formulario sin tener que redirigir a otras paginas.

Tambien pense en si se podria poner en el formulario un tipo "if submit no activado {} else {echo "mensajito"};"
Pero no se como puedo hacer para saber si submit ha sido pulsado, es de suponer que comparando ciertas variables...

Un saludo.