Foros del Web » Programando para Internet » Javascript »

Problema con formulario

Estas en el tema de Problema con formulario en el foro de Javascript en Foros del Web. Hola. Tome como ejemplo esta programación para un formulario de contacto. Cabe hacer mencion que el código php lo obtuve de la página de mi ...
  #1 (permalink)  
Antiguo 09/09/2012, 01:02
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Problema con formulario

Hola.
Tome como ejemplo esta programación para un formulario de contacto.
Cabe hacer mencion que el código php lo obtuve de la página de mi proveedor de hosting.

index.html

<div style="width: 390px; height: 250px; position: absolute; margin: 505px 0px 0px 330px;">
<div style="width:390px; height:300px; margin:0px 0px 0px 10px; position:absolute;">
<div style="padding:10px 20px 0px 20px; text-align:left;">
<p><span class="textoTitle">Formulario de Contacto</span></p>
<p><br/>
<script language="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_valida teForm.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+='- El campo '+nm+' debe contener una dirección del E-mail.\n';
} else if (test!='R') {
if (isNaN(val)) errors+='- El campo '+nm+' debe contener números.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (val<min || max<val) errors+='-El campo '+nm+' debe contener una @'+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- El campo '+nm+' es requerido.\n'; }
} if (errors) alert(' Por favor verifique:\n'+errors);
document.MM_returnValue = (errors == '');
}
</script>
</p>
<form name="contacto" id="contacto" action="formsend.php" method="post" onSubmit="MM_validateForm('nombre','','R','telefon o','','RisNum','mail','','RisEmail');return document.MM_returnValue">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="14%" class="contenido_gral_bold"><span class="textoPagBold">Nombre:</span></td>
<td width="1%">&nbsp;</td>
<td width="85%"> <span class="contenido_gral_bold">
<input name="nombre" type="text" class="next" id="nombre" size="30" />
</span></td>
</tr>
<tr class="contenido_gral_bold">
<td colspan="3" class="cont_gris"><div style="height:10px;"></div></td>
</tr>
<tr>
<td class="contenido_gral_bold"><span class="textoPagBold">Email:</span></td>
<td>&nbsp;</td>
<td> <span class="contenido_gral_bold">
<input name="mail" type="text" class="next" id="mail" size="30" />
</span></td>
</tr>
<tr class="contenido_gral_bold">
<td colspan="3" class="cont_gris"><div style="height:10px;"></div></td>
</tr>
<tr>
<td class="contenido_gral_bold"><span class="textoPagBold">Teléfono:</span></td>
<td>&nbsp;</td>
<td> <span class="contenido_gral_bold">
<input name="telefono" type="text" class="next" id="telefono" size="30" />
</span></td>
</tr>
<tr class="contenido_gral_bold">
<td colspan="3" class="cont_gris"><div style="height:10px;"></div></td>
</tr>
<tr>
<td class="contenido_gral_bold"><span class="textoPagBold">Servicio:</span></td>
<td>&nbsp;</td>
<td> <span class="contenido_gral_bold">
<input name="empresa" type="text" class="next" id="empresa" size="30" />
</span></td>
</tr>
<tr class="contenido_gral_bold">
<td colspan="3" class="cont_gris"><div style="height:10px;"></div></td>
</tr>
<tr>
<td class="contenido_gral_bold"><span class="textoPagBold">Comentarios:</span></td>
<td>&nbsp;</td>
<td> <span class="contenido_gral_bold">
<textarea name="comentarios" id="comentarios" cols="20" rows="2"></textarea>
</span></td>
</tr>
<tr>
<td class="cont_gris">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td class="cont_gris">&nbsp;</td>
<td>&nbsp;</td>
<td>
<span class="contenido_gral_bold">
<input type="submit" name="button" id="button" value="Enviar" />
<input type="reset" name="button2" id="button2" value="Borrar" />
</span></td>
</tr>
</table>
</form></div>
</div>
</div>

formsend.php

<?php
$to = "[email protected]";
$nameto = "Landing Spassio";
$from = $_POST['correo'];
$namefrom = $_POST['nombre'];
$subjectgeneral = $_POST['asunto'];
$subject = "Nuevo contacto Landing Spassio";
$message = $_POST['mensaje'];
authSendEmail ($from, $namefrom, $to, $nameto, $subject, $subjectgeneral, $message);
?>
<?php
/* * * * * * * * * * * * * * Funciones de envío de correo * * * * * * * * * * * * * */
function authSendEmail($from, $namefrom, $to, $nameto, $subject, $subjectgeneral, $message)
{
//SMTP + Detalles del servidor
/* * * * Inicia configuración * * * */
$smtpServer = "mail.clinicaspassio.com";
$port = "25";
$timeout = "30";
$username = "[email protected]";
$password = "xxxxxxxx";
$localhost = "localhost";
$newLine = "\r\n";
/* * * * Termina configuración * * * * */
//Conexión al servidor en el puerto específico
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
$smtpResponse = fgets($smtpConnect, 515);
if(empty($smtpConnect))
{
$output = "Failed to connect: $smtpResponse";
return $output;
}
else
{
$logArray['connection'] = "Connected: $smtpResponse";
}
//Solicitud de logueo
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";
//Envío de usuario
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";
//Envío de password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";
//Saludo a SMTP
fputs($smtpConnect, "HELO $localhost" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['heloresponse'] = "$smtpResponse";
//Envía correo desde
fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailfromresponse'] = "$smtpResponse";
//Envía correo a
fputs($smtpConnect, "RCPT TO: $to" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailtoresponse'] = "$smtpResponse";
//Cuerpo del mensaje
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data1response'] = "$smtpResponse";
//Construyendo encabezados
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html;
charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;
fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$subjectgeneral\n$headers\n\n$message\n. \n");
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data2response'] = "$smtpResponse";
//Despedida a SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['quitresponse'] = "$smtpResponse";
}
header('Location: http://landing.clinicaspassio.com/gracias.html');
exit;
//SuEmpresa.com una división de Interplanet S.A. de C.V.
//Servicios de Internet para negocios.
?>

Ojala me puedan ayudar pues no tengo experiencia en este tema.
Gracias
  #2 (permalink)  
Antiguo 09/09/2012, 01:22
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Problema con formulario

Por el momento no somos adivinos para saber cual es el problema sin que nos digan.
  #3 (permalink)  
Antiguo 09/09/2012, 01:43
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Respuesta: Problema con formulario

El problema que tengo es el siguiente:
La página esta online, llenas el formulario que son los siguientes campos:
Nombre:
Email:
Teléfono:
Servicio:
Comentarios:

Y tiene 2 botones, enviar y borrar.

Llenas el formulario y te manda a la página en donde dice: Gracias por contactarnos, tu correo se ha enviado exitosamente.

Pero no llega nada al email puesto en el codigo.

Me comunico al soporte tecnico de mi hosting y me dicen que tengo que bajar un ejemplo de formulario para subirlo y así funcionaria.

Subo el formulario que es el archivo formsen.php con los campos que debi haber cambiado con mi cuenta de correo y ni así llegan.

Por eso es que en el mensaje puse el codigo del index.html y el de formsen.php para que me ayuden a saber por que no se envían los emails

Por lo poco que he entendido, en el php veo campos que no estan en el index, la verdad es que no le entiendo nada, por eso solicio de su ayuda.
  #4 (permalink)  
Antiguo 09/09/2012, 01:52
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Problema con formulario

para enviar un mensaje de por correo electronico, debe usar la función mail http://www.php.net/manual/es/function.mail.php

ahi no la veo

Código PHP:
Ver original
  1. <?php
  2. // El mensaje
  3. $mensaje = "Línea 1\nLínea 2\nLínea 3";
  4.  
  5. // En caso de que cualquiera de las líneas sea más larga de 70 caracteres,
  6. // debe usarse wordwrap()
  7. $mensaje = wordwrap($mensaje, 70);
  8.  
  9. // Send
  10. mail('[email protected]', 'Mi título', $mensaje);
  11. ?>

basta con un código como este ejemplo para enviar un mail con php
Este ejemplo lo saque del manual
  #5 (permalink)  
Antiguo 09/09/2012, 04:12
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: Problema con formulario

Una pregunta daniel, desde que servidor esta haciendo la prueba?
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #6 (permalink)  
Antiguo 09/09/2012, 11:33
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: Problema con formulario

Esta en el hosting final, de ahí no se moverá

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:23.