PROBLEMAS CON FORMULARIO

[Cerrado]
Denunciar
Message postés
1
Date d'inscription
domingo, 3 de mayo de 2009
Estatus
Miembro
Última intervención
domingo, 3 de mayo de 2009
-
Message postés
1
Date d'inscription
jueves, 25 de agosto de 2011
Estatus
Miembro
Última intervención
jueves, 25 de agosto de 2011
-
HOLA GENTE, ME ESTOY VOLVIENDO LOCA PORQUE NO ME FUNCIONA EL FORMULARIO CREADO EN DREAMWEAVER. HICE UN ARCHIVO PARA PROCESARLO EN PHP (QUE NO CONOZCO CASI NADA) Y UN ARCHIVO HTM DE "GRACIAS", LES PASO EL CODIGO PARA QUE PUEDAN DECIRME EN QUE ME ESTOY EQUIVOCANDO YA QUE NO ME ENVIA EL MAIL Y NO ME APRARECE LA PAGINA DE GRACIAS UNA VEZ ENVIADO EL FORMULARIO, GRACIAS!!!!!

ARCHIVO DEL FORMULARIO HTM

<html>
<head>
<title>Commercial Training - Contacto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
-->
</style>
<link href="estilos/estilos.css" rel="stylesheet" type="text/css">
<link href="estilos.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
} if (errors) alert('The following error(s) occurred:\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>

<body>
<table width="680" height="400" align="center" class="fondoframe">
<tr>
<td align="center" valign="middle"><form action="fuentes/CommercialTraining/form.php" method="post" name="form1">
<table width="450">
<tr>
<td width="149" align="center"><img src="img/mensaje.jpg" width="149" height="20"></td>
<td width="239"> </td>
</tr>
<tr>
<td align="left" class="inicio"> </td>
<td align="left"> </td>
</tr>
<tr>
<td align="left" class="inicio">Nombre</td>
<td align="left"><input name="nombre" type="text" class="formulario" id="nombre"></td>
</tr>
<tr>
<td align="left" class="inicio">Apellido</td>
<td align="left"><input name="apellido" type="text" class="formulario" id="apellido"></td>
</tr>
<tr>
<td align="left" class="inicio">Empresa</td>
<td align="left"><input name="empresa" type="text" class="formulario" id="empresa"></td>
</tr>
<tr>
<td align="left" class="inicio">Cargo</td>
<td align="left"><input name="cargo" type="text" class="formulario" id="cargo"></td>
</tr>
<tr>
<td align="left" class="inicio">Teléfono</td>
<td align="left"><input name="telefono" type="text" class="formulario" id="telefono"></td>
</tr>
<tr>
<td align="left" class="inicio">Mail</td>
<td align="left"><input name="email" type="text" class="formulario" id="email"></td>
</tr>
<tr>
<td align="left" class="inicio">País</td>
<td align="left"><input name="pais" type="text" class="formulario" id="pais"></td>
</tr>
<tr>
<td height="75" align="left" class="inicio"> Mensaje </td>
<td align="left"><textarea name="mensaje" wrap="VIRTUAL" class="formulario2" id="mensaje"></textarea></td>
</tr>
<tr>
<td height="42"> </td>
<td align="left"><input name="enviar" type="submit" class="agenda" id="enviar" onClick="MM_validateForm('nombre','','R','apellido','','R','empresa','','R','telefono','','R','email','','NisEmail','pais','','R','mensaje','','R');return document.MM_returnValue" value="Enviar"></td>
</tr>
</table>
</form></td>
</tr>
</table>
</body>
</html>

ARCHIVO PHP PARA PROCESARLO

<?
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$empresa=$_POST['empresa'];
$cargo=$_POST['cargo'];
$telefono=$_POST['telefono'];
$email=$_POST['email'];
$pais=$_POST['pais'];
$mensaje=$_POST['mensaje'];

$SITE_CONTACT_FORM_TARGET = ("solosil@gmail.com",
$AVISO = "contactos datos",
"Nombre:$nombre
\nApellido:$apellido
\nEmpresa:$empresa
\nCargo:$cargo
\nTelefono:$telefono
\nEmail:$email
\nPais:$pais
\nMensaje:$mensaje",
"From: [email]solosil@gmail.com/email");

$success=mail($SITE_CONTACT_FORM_TARGET, $AVISO, $contenido,"From: ".$nombre." <".$email.">\nReply-To: ".$email."\nX-Mailer: PHP/" . phpversion());
if ($success)
header('fuentes/CommercialTraining/gracias.htm');
else
header('confirma_error.htm');
?>

2 respuestas

Message postés
889
Date d'inscription
sábado, 2 de agosto de 2008
Estatus
Miembro
Última intervención
miércoles, 11 de marzo de 2015
15
Message postés
1
Date d'inscription
jueves, 25 de agosto de 2011
Estatus
Miembro
Última intervención
jueves, 25 de agosto de 2011

creo que se complicais en demasia en los formularios, mira te voy a pasar un codigo de un formulario que esta calentio, ahora mismo he terminado de hacerlo, evidentemente puedes cambiar todo lo que quieras ,

formulario ***

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script type="text/javascript">
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es requerido.\n'; }
} if (errors) alert('ha ocurrido un error:\n'+errors);
document.MM_returnValue = (errors == '');
} }
</script>
</head>

<body style="background-color:#00cc66">
<table width="455" height="449" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#CCCCCC" bgcolor="#CCCCCC">1234
<tr>
<th width="451" height="447" scope="col">EL CONSEGUIDOR

<table width="412" cellspacing="0" align="center" bgcolor="#009966">
<tr>
<th width="408" height="401" scope="col"><form action="recibido1.php" method="POST">
<p>Nombre:  
<input name="nombre" type="text" id="nombre" />        
</p>
<p>
E-mail:      
<input name="mail" type="text" id="mail" />        
</p>
<p>
Poblacion :
<input type="text" name="poblacion" />        
</p>
<p>Telefono:  
<input type="text" name="telefono" />        
</p>
<label for="mensaje"><br />
mensaje<br />
</label>
         <textarea name="mensaje" id="mensaje" cols="35" rows="8"></textarea>
<p>
<input type="submit" onclick="MM_validateForm('mail','','RisEmail');MM_validateForm('nombre','','R');return document.MM_returnValue">
</p>
</form>
</th>
</tr>
</table>
</th>
</tr>
</table>

</body>
</html>

codigo php***

<html>
<head>
<script type="text/javascript">
function redireccionar(){
window.location="reenvio.html"; ( aki redirecciona a donde elijas )
}
setTimeout ("redireccionar()", 000); ( aki el tiempo en redireccionar )
</script>
</head>

</head>
<body>

<table width="498" cellspacing="0" align="center" border="3" bordercolor="#CCCCCC" bgcolor="#FFFFFF">
<tr>
<th width="494" height="60" scope="col">

<?php

echo " Nombre:". $_POST['nombre'];
echo "<br>";
echo "E-mail:". $_POST['mail'];
echo "<br>";
echo "Poblacion:".$_POST['poblacion'];
echo "<br>";
echo "Telefono:".$_POST['telefono'];
echo "<br>";
echo "Mensaje:".$_POST['mensaje'];
$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por: " . $_POST['nombre'] . ", " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $_POST['mail'] . " \r\n";
$mensaje .= "Telefono: " . $_POST['telefono'] . " \r\n";
$mensaje .= "Poblacion: " . $_POST['poblacion'] . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'aki tu correo electronico que recibira el mensaje@.com';
$asunto = 'puedes poner contacto desde kioskea (por ejemplo) o tu pagina';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'mensaje enviado , muchas gracias'; (aki lo q kieras ),


?>
 </th>
</tr>
</table>
</body>
</html>

yo aparte de esto , tengo otra pagina hecha en html donde sale eso de gracias por su mensaje con unas tablas , pero si no kieres eso , pues donde pone mensaje enviado pones eso de gracias por tu mensaje ,