Comunidad de diseño web y desarrollo en internet online

Campos obligatorios antes de enviar en formulario de PHP

Citar            
MensajeEscrito el 27 Oct 2010 10:15 pm
Hola AYUDAAAAAAAAAAAAAA POR FAVOR!!!!! :shock: , tengo un codigo en PHP de envío de respuestas de un formulario para registro de datos...necesito que los campos se llenen obligatoriamente antes de envíar. Les pongo el código para que chueqen y me comentan que haceeer, ya le intente con varias cosillas pero nada, no resulta.

Les agradecería mucho que me asistan en estooo, saludoooos!!!. :P

<---- CÓDIGO ---->>

Código PHP :

<?php

# Validate: String

function check_string($value, $low, $high, $mode, $optional)
{
   if ( (strlen($value) == 0) && ($optional === true) ) {
      return true;
   } elseif ( (strlen($value) >= $low) && ($mode == 1) ) {
      return true;
   } elseif ( (strlen($value) <= $high) && ($mode == 2) ) {
      return true;
   } elseif ( (strlen($value) >= $low) && (strlen($value) <= $high) && ($mode == 3) ) {
      return true;
   } else {
      return false;
   }
}

# RegisterGlobals OFF
$FTGempresa = $_POST['empresa'];
$FTGnombre = $_POST['nombre'];
$FTGdireccion = $_POST['direccion'];
$FTGciudad = $_POST['ciudad'];
$FTGestado = $_POST['estado'];
$FTGcodigopostal = $_POST['codigopostal'];
$FTGtelefono = $_POST['telefono'];
$FTGemail = $_POST['email'];
$FTGenviar = $_POST['enviar'];
$FTGborrar = $_POST['borrar'];

# Fields Validations

$validationFailed = false;
/*

if ( (! check_string($FTGempresa, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGnombre, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGdireccion, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGciudad, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGestado, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGcodigopostal, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGtelefono, 1, 0, 1, false))) {
$validationFailed = true;
}


if ( (! check_string($FTGemail, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGenviar, 1, 0, 1, false))) {
$validationFailed = true;
}

if ( (! check_string($FTGborrar, 1, 0, 1, false))) {
$validationFailed = true;
}
*/
# Embed error page and dump it to the browser

$fileErrorPage = 'error.html';


if ($validationFailed == true) {

   if (file_exists($fileErrorPage) === false) {
      echo "The error page: <b>error.html</b> cannot be found on the server.";
      exit;
   }

   $fileHandle = fopen ($fileErrorPage, "r");
   $errorPage = fread ($fileHandle, filesize($fileErrorPage));
   fclose ($fileHandle);

   $errorPage = str_replace('<!--VALIDATIONERROR-->', $errorList, $errorPage);

   $errorPage = str_replace('<!--FIELDVALUE:empresa-->', $FTGempresa, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:nombre-->', $FTGnombre, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:direccion-->', $FTGdireccion, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:ciudad-->', $FTGciudad, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:estado-->', $FTGestado, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:codigopostal-->', $FTGcodigopostal, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:telefono-->', $FTGtelefono, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:email-->', $FTGemail, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:enviar-->', $FTGenviar, $errorPage);
   $errorPage = str_replace('<!--FIELDVALUE:borrar-->', $FTGborrar, $errorPage);

   echo $errorPage;
   exit;

}

# Email to Form Owner
$emailTo = '[email protected]';

$emailSubject = "Registro de distribuidores";

$emailBody = "$FTGempresa;$FTGnombre;$FTGdireccion;$FTGciudad;$FTGestado;$FTGcodigopostal;$FTGtelefono;$FTGemail";

#$emailBody = "empresa: $FTGempresa\n ;"
# . "nombre: $FTGnombre\n ;"
# . "direccion: $FTGdireccion\n ;"
# . "ciudad: $FTGciudad\n ;"
# . "estado: $FTGestado\n ;"
# . "codigopostal: $FTGcodigopostal\n ;"
# . "telefono: $FTGtelefono\n ;"
# . "email: $FTGemail\n "
# . "\n"
# . "";

$emailHeader = "From: $FTGemail"
. "Reply-To: $FTGemail"
. "Content-type: text/plain; charset=\"ISO-8859-1\"\n"
. "Content-transfer-encoding: quoted-printable;\n";

mail($emailTo, $emailSubject, $emailBody, $emailHeader);

# Embed success page and dump it to the browser

$fileSuccessPage = 'registrosuccess.html';

if (file_exists($fileSuccessPage) === false) {
   echo 'The success page: <b>registrosuccess.html</b> cannot be found on the server.';
   exit;
}

$fileHandle = fopen ($fileSuccessPage, "r");
$successPage = fread ($fileHandle, filesize($fileSuccessPage));
fclose ($fileHandle);
$successPage = str_replace('<!--FIELDVALUE:empresa-->', $FTGempresa, $successPage);
$successPage = str_replace('<!--FIELDVALUE:nombre-->', $FTGnombre, $successPage);
$successPage = str_replace('<!--FIELDVALUE:direccion-->', $FTGdireccion, $successPage);
$successPage = str_replace('<!--FIELDVALUE:ciudad-->', $FTGciudad, $successPage);
$successPage = str_replace('<!--FIELDVALUE:estado-->', $FTGestado, $successPage);
$successPage = str_replace('<!--FIELDVALUE:codigopostal-->', $FTGcodigopostal, $successPage);
$successPage = str_replace('<!--FIELDVALUE:telefono-->', $FTGtelefono, $successPage);
$successPage = str_replace('<!--FIELDVALUE:email-->', $FTGemail, $successPage);
$successPage = str_replace('<!--FIELDVALUE:enviar-->', $FTGenviar, $successPage);
$successPage = str_replace('<!--FIELDVALUE:borrar-->', $FTGborrar, $successPage);

echo $successPage;
exit;

# End of PHP script
?>

Por alex87

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Oct 2010 01:44 am
Eso no lo haces con PHP sino con JavaScript, me refiero a validar ANTES de enviar el formulario.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 29 Oct 2010 09:23 pm
GRACIAS DriverOp por tu respuesta, nada mas unas dudas...
¿como pongo el codigo JAVA y cual es el codigo? el link al JAVA va en el HTML o en el PHP??

Por alex87

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 30 Oct 2010 12:20 am
Eh... JavaScript no es JAVA, a pesar de su nombre. JavaScript es un lenguaje diferente de JAVA.
JavaScript lo interpreta y ejecuta el cliente (es decir, el navegador) y se coloca entre los tags
<script type="text/javascript"> ... codigo ... </script>
Me temo que si no sabías algo tan básico como esto, menos vas a entender cualquier código que yo o cualquier otro te ponga delante, y esto no lo digo por menosprecio, es la verdad, nadie nació sabiendo, incluido yo.

Pero para darte una pista y sigas investigando supongamos que tenemos el siguiente formulario:

Código HTML :

<form name="form1" id="form1>
<input type="text" name="nombre" id="nombre" size="15" maxlength="15" />
<input type="submit" name="submit" value="Enviar" />
</form>


Y no quieres que el formulario se envíe si el input "nombre" está vacío, entonces sería algo así:

Código HTML :

<script type="text/javascript">
function ValidarFormulario() { // Pon atención al atributo 'onSubmit'
   if (from1.nombre.value == '') { alert('Debe ingresar su nombre'); return false; }
   else { return true; }
}
</script>
<form name="form1" id="form1" action="procesar.php" method="POST" onSubmit="return ValidarFormulario();">
<input type="text" name="nombre" id="nombre" size="15" maxlength="15" />
<input type="submit" name="submit" value="Enviar" />
</form>

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Nov 2010 04:51 pm
Gracias DriverOp, disculpa mi malos terminos jeje, pero ya aprendí algo.

voy a aprobar lo que me escribiste y que comento que tal quedó.

Saludos. mil gracias.

Por alex87

20 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Nov 2010 03:25 pm
También se pueden revisar los campos con PHP sin necesidad de JAVASCRIPT (como tu pusiste en el primer ejemplo, aunque tal vez no sea lo más recomendable), me intriga que tienes una buena parte de tu código comentado (lo que está entre /* y */) eso significa que ese código está inactivo y por lo que veo es importante para que funcione la revisión. Intenta descomentarlo eliminando el "/*" y el "*/" y puede ser que funcione.

Por gente21

79 de clabLevel



 

chrome
Citar            
MensajeEscrito el 16 Nov 2010 01:48 pm
yo veo un Ctrl+C Ctrl+V .......

valida con js y luego validas de lado del php! así se hace de forma correcta!

Por jpcw

Claber

1715 de clabLevel

1 tutorial

Genero:Masculino  

AlgoritmicBrainDesigner

chrome
Citar            
MensajeEscrito el 19 Nov 2010 12:25 am
muchas gracias a todos por sus observaciones.

Gracias DriverOp funcionó todo a la perfección. Creo que ya se puede cerrar el tema.
Saludos y espero que todos tengan el mejor de los días.
Es rico aprender y mas de ustedes como comunidad.

Por alex87

20 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.