Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/03/2012, 07:20
GARFI
 
Fecha de Ingreso: marzo-2012
Mensajes: 2
Antigüedad: 12 años, 2 meses
Puntos: 0
Problema con formulario en PHP (Campos obigatorios)

Muy buenas chicos,
Soy novato en esto de programación web.
He estado investigando y no consigo aclararme. Al parecer hay varias formas de hacerlo y no doy con la adecuada.
El caso es que me ha caído un pequeño marrón.
Tenemos un pequeño club de MTB y para colgar las fotos de nuestras salidas; hace unos años se creó una página web: www.urkobtt.com
Hace unos meses por circunstancias de la vida me toco ser webmaster y ir actualizando la web. No tengo ni papa de informática (más o menos) y soy autodidacta.
Para pequeñas cosillas como, colgar fotos, incluir botones, abrir nuevas secciones,... me arreglo.
El caso es que a mediados de año celebramos una marcha popular y nos gustaria crear la posibilidad de registro online.
Que los participantes tengan la posibilidad de apuntarse a la Martxa a través de nuestra web.
Lo quiero hacer mediante un formulario PHP al igual que tengo la página de "Contacta con Nosotros". El participante rellena sus datos y me llega un correo electrónico a casa.

Me ocurren varias cosas:

1.- No me llegan todos los imput a mi correo.
Esto es, sí el participante tiene que rellenar en diferentes casillas, Nombre, Apellidos, DNI, Teléfono, Correo,...
De todos estos datos picados solo me llegan algunos no todos.
¿Porque me sucede esto?

2.- No sé como hacer para que un campo sea obligatorio de rellenar. Por ejemplo si el campo de DNI es obligatorio y no lo rellenas; cuando le des a enviar que aparezca "Falta rellenar el DNI"

3.- Mascaras: No sé como poner máscaras, por ejemplo para la fecha.

El código que uso:(Quizás esté desfasado pero, esto es hasta donde llegan mis conocimientos)


<tr>
<?php
if (!isset($_POST['email'])) {
?>
<form name="inscripcion" action="<?=$_SERVER['PHP_SELF']?>" method="post">
<tr>
<p align="left" class="Estilo10">Inscripción Martxa 2012:</p>
</tr>
<tr>
<p align="left" class="Estilo20">Oharra: Nahiz eta aurre izen ematea egin, egunean bertan, izen emate mahaian parte hartzea konfirmatu egin beharko da.</p>
<p align="left" class="Estilo20">Nota: Todos los preinscritos deberán confirmar su asistencia el mismo día de la marcha en la mesa de inscripciones.</p>

</tr>
<tr>
<p align="left" class="Estilo21">* Beharrezko datuak / Campos obligatorios
</p></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Izena / Nombre:</p>
<td><p align="left"> <input name="nombre" type="text" size="25" maxlength="22" /></p></td>
</label>
</td></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Abizenak / Apellidos:</p></td>
<td><p align="left"> <input name="apellidos" type="text" size="50" maxlength="40" /></p></td>
</label>
</tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> NAN / DNI:</p>
<td><p align="left"> <input name="DNI" type="text" size="10" maxlength="16" /></p></td>
</label>
</td></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Jaiotze data / Fecha de Nacimiento:</p>
<td><p align="left"> <input name="date" type="text" maxlength="40" /></p></td>
</label>
</td></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Email:</p>
<td><p align="left"><input name="email" type="text" maxlength="120" /></p></td>
</label>
</td></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Federado:</p>
<td><p align="left"> <input type="checkbox" name="federado" value="ON" /></p></td>
</label>
</td></tr>

<tr>
<td class="Estilo12">
<label>
<p align="left"> Telefono:</p>
<td><p align="left"><input name="telefono" type="text" maxlength="40" /></p></td>
</label>
</td></tr>
</table>

<table width="99" border="1">
<tr><th scope="row">
<label>
<p align="left" class="Estilo21"> <input type="checkbox" name="condiciones" value="ON" />Declaro haber leido el reglamento en su totalidad y acepto todos los puntos del mismo. </p>
</label>
<p align="center">
<textarea rows="15" cols="70">
REGLAMENTO MARCHA UrkoBTT 2012:
1.- El 15 de Julio del 2012 se celebra la XV edición de la Marcha de Mountain Bike de Ermua. Es una marcha no competitiva donde la edad mínima recomendada de participación es de 16 años.
</textarea></p>

<p align="left" class="Estilo21"> Araudia bere osotasunean irakurri izana eta puntu guztiekin ados nagoela onartzen dut. </p>
<p align="center">
<textarea rows="15" cols="70">
Araudia osotasunean irakurri izana eta guztiekin ados nagoela onartzen dut.
Ermuko UrkoBTT MTB MARTXAKO ARAUTEGIA:
1.- 2012. eko Uztailaren 15ean Ermuko UrkoBTT MTB taldearen XV. Mountain Bike Martxar ospatuko da. Martxa hau ez da lehiakorra eta parte hartzeko gutxieneko adin gomendagarria 16 urtekoa da.
</textarea></p>
</th></p></tr>
</table>


<table>
<tr>
<td class="Estilo12">
<td><input type="reset" value="Borrar/Ezeztatu" />
<input type="submit" value="Enviar/Bidali" /></td>
</tr>
</table>
<table width="98%" border="1">
<th scope="row"> <p align="left" class="Estilo20">Oharra: Bertan egunean ere izena eman ahal izango da martxako toki berean.</p>
<p align="left" class="Estilo20">Nota: El mismo día también se podrá inscribir en el mismo lugar de la marcha.</p>
</th>
</table>

</form>

<?php
}else{
$mensaje="Mensaje del formulario de Inscripción Martxa UrkoBTT 2012";
$mensaje.= "\nNombre: ". $_POST['nombre'];
$mensaje.= "\nApellidos: ". $_POST['apellidos'];
$mensaje= "\nDNI: ". $_POST['DNI'];
$mensaje.= "\nFecha Nacimiento: ". $_POST['date'];
$mensaje.= "\nFederado: ". $_POST['federado'];
$mensaje="Declara haber leido el reglamento en su totalidad y acepto todos los puntos del mismo.";
$mensaje.= "\nEmail: ".$_POST['email'];
$mensaje.= "\nTelefono: ". $_POST['telefono'];
$destino= "[email protected]";
$remitente = $_POST['email'];
$asunto = "Inscripción: ".$_POST['nombre'];
mail($destino,$asunto,$mensaje,"FROM: $remitente");
?>
<tr>
<p align="center" class="Estilo10">Mensaje enviado.</p>
</tr>
<?php
}
?>
</label>