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, 00:39
 
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

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




La zona horaria es GMT -6. Ahora son las 16:12.