1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

Form CGI en godaddy

Tema en 'Programación y Diseño Web' iniciado por renderonesio, 6 Abr 2007.

  1. renderonesio

    renderonesio Nuevo usuario

    Hola a todos:

    Mi pregunta es la siguiente, tengo mi web alojada en el servidor de goddady, y dispongo de un formulario en html, que he configurado para que invoque el gdform.cgi que el propio servidor pone a disposición del cliente. El formulario funciona perfectamente cuando se trata de enviar las sugerencias a mi dirección mail. El problema es que a mi me interesa que todos los campos sean obligatorios y que si uno se deja de rellenar, pues al enviar, se redirija a un html dando error.

    Anteriormente a alojar mi web en godaddy, la tenia en otro servidor y el formulario funcionaba a la perfección, pero claro lo tenia redirigido a un mailtemp.txt que a su vez invocaba a un archivo cgi-bin.

    Les agradeceria que alguien me dijera como puedo configurar el cgi en goddady para que todos los campos a rellenar en el formulario sean obligatorios o de lo contrario vaya a una página de error.

    Muchas gracias
     
  2.  
  3. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Tema movido al foro de Programación y Diseño Web.

    ¿Has consultado tu inquietud con el soporte de Go Daddy?

    Saludos,
     
  4. renderonesio

    renderonesio Nuevo usuario

    Todavia no, aunque como esta en ingles voy a ver como me las apaño
     
  5. DavidC

    DavidC 8 de Mayo de 2008 Q.E.P.D.

    Hola renderonesio

    No sé si quizá sea tarde para responderte.
    Yo hago la verificación de campos obligatorios sobre el propio formulario antes de invocar el cgi. De esta forma, el usuario puede rellenar los campos que ha dejado en blanco sin tener que empezar de cero. Tal y como dices tú, si el usuario deja algún campo en blanco porque se ha despistado, se invoca al cgi, el cual le abre la web de error y el usuario tiene que volver a ir al formulario y empezar otra vez de cero, lo cual si el formulario es muy grande, es un peñazo ...
     
  6. renderonesio

    renderonesio Nuevo usuario

    Claro pero mi formulario es Html. ¿ Que codigo en html utilizas para verificar los campos obligatorios ?. Yo antes tenia esa verificación en un archivo llamado mailtemp.txt

    Quizas esos datos hay que añadirlos al propio gdform. cgi que te da el propio server de godaddy.

    Por fa te agradecería muchisimo que me ayudaras en este sentido.
     
  7. DavidC

    DavidC 8 de Mayo de 2008 Q.E.P.D.

    No, basta con incluir un pequeño script dentro de la etiqueta head y luego enlazar con él el botón de enviar.
    Estos son los códigos:

    El del script (lo pones dentro de head, en el formulario htm):
    CODE, HTML o PHP Insertado:
    <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+' debe contener una dirección mail válida.\n';
          } else if (test!='R') { num = parseFloat(val);
            if (isNaN(val)) errors+='- '+nm+' debe contener un número.\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+' debe contener un numero entre '+min+' y '+max+'.\n';
        } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es un campo obligatorio.\n'; }
      } if (errors) alert('Por favor, corrija los siguientes errores:\n'+errors);
      document.MM_returnValue = (errors == '');
    }
    //-->
    </script>
    Y el código a incorporar para el botón de envío:

    CODE, HTML o PHP Insertado:
     <input name="enviar" type="submit" onclick="MM_validateForm('nombre del primer campo requerido','','R','nombre del segundo campo requerido','','R','nombre del tercer campo requerido','','R','nombre del campo numérico requerido','','RisNum','nombre del campo email requerido','','RisEmail');return document.MM_returnValue" value="Enviar">
    Fíjate en la sintaxis según el tipo de datos requerido: 'R' = cualquier dato, 'RisNum'= el campo debe contener obligatoriamente un número, 'RisEmail' = el campo debe contener obligatoriamente una dirección mail.


    Espero que te sirva. Ya me dirás ;)
     
  8. juan carlos

    juan carlos Nuevo usuario

    quiero saber donde comprar dominios y diferencia de precios
     
  9. Apolo

    Apolo Administrador Miembro del Staff Administrador CH

    Hola juan carlos,

    Te doy la bienvenida a ComunidadHosting.

    Con respecto a tu consulta, por favor abre otro tema en el foro adecuado:

    Dominios y DNS

    Saludos,
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·