Este 'insertar_excursiones' es el tipico formulario con varios campos, la particularidad que tiene es una parte del formulario va a la tabla 'sitios' y otra parte va a la tabla 'excursiones' (la que guarda los valores de los checkboxs); ambas tablas tiene un campo que se llama 'idSitio' que guarda el mismo valor para que se relacionen los datos correspondientes mediante ese "id". Este es su codigo:
Código PHP:
Ver original<?php include("pages/seguridad.php"); include("pages/conexion.php");?> <!--configuramos el acceso y la conexion llamando a los archivos-->
<h2>INSERTAR EXCURSION</h2>
<?php include("pages/menu_gestor.php");?><!--insertamos el menu del gestor-->
<div id="formulario">
<?php $error = ''; /*al cargar la pagina por primera vez, el mensaje de error lo ponemos sin texto*/
if(isset($_POST["boton_enviar_formulario"])){ $denominacion= isset($_POST['denominacion']) ?
$_POST['denominacion']: ''; $dir_calle= isset($_POST['dir_calle']) ?
$_POST['dir_calle']: ''; $dir_num= isset($_POST['dir_num']) ?
$_POST['dir_num']: ''; $dir_piso= isset($_POST['dir_piso']) ?
$_POST['dir_piso']: ''; $dir_letra= isset($_POST['dir_letra']) ?
$_POST['dir_letra']: ''; $dir_cp= isset($_POST['dir_cp']) ?
$_POST['dir_cp']: ''; $localidad= isset($_POST['localidad']) ?
$_POST['localidad']: ''; $provincia= isset($_POST['provincia']) ?
$_POST['provincia']: ''; $contacto= isset($_POST['contacto']) ?
$_POST['contacto']: ''; $tlf_contacto= isset($_POST['tlf_contacto']) ?
$_POST['tlf_contacto']: ''; $correo= isset($_POST['correo']) ?
$_POST['correo']: ''; $coordenadasGPS= isset($_POST['coordenadasGPS']) ?
$_POST['coordenadasGPS']: ''; $observaciones= isset($_POST['observaciones']) ?
$_POST['observaciones']: ''; $link_foto= isset($_POST['link_foto']) ?
$_POST['link_foto']: ''; $puntuacion= isset($_POST['puntuacion']) ?
$_POST['puntuacion']: ''; $tipo= isset($_POST['tipo']) ?
$_POST['tipo']: ''; $trans_publico= isset($_POST['trans_publico']) ?
$_POST['trans_publico']: ''; $agua_potable= isset($_POST['agua_potable']) ?
$_POST['agua_potable']: ''; $aseos= isset($_POST['aseos']) ?
$_POST['aseos']: ''; if(trim($denominacion) == ''){ $error = '<div class="errormsg">Escribe una DENOMINACIÓN para el sitio, por favor.</div>';
}
else if(trim($dir_calle) == ''){ $error = '<div class="errormsg">Escribe una CALLE por favor.</div>';
}
else if(trim($dir_num) == ''){ $error = '<div class="errormsg">Escribe tu TELÉnFONO DE CONTACTO por favor.</div>';
}
else if(trim($localidad) == ''){ $error = '<div class="errormsg">Escribe una LOCALIDAD por favor.</div>';
}
else if(trim($provincia) == ''){ $error = '<div class="errormsg">Escribe la PROVINCIA por favor.</div>';
}
else if(!validarTelefono($tlf_contacto)){
$error = '<div class="errormsg">El teléfono proporcionado NO ES VALIDO, comprueba el número por favor.</div>';
}
else if(!validarCorreo($correo)){
$error = '<div class="errormsg">La dirección de EMAIL NO ES VALIDA, escribe la dirección correctamente.</div>';
}
if($error == ''){
}
$sql="INSERT INTO sitios (denominacion, dir_calle, dir_num, dir_piso, dir_letra, dir_cp, localidad, provincia, contacto, tlf_contacto, correo, coordenadasGPS, observaciones, link_foto, puntuacion, tipo ) VALUES ('$denominacion', '$dir_calle', '$dir_num', '$dir_piso', '$dir_letra', '$dir_cp', '$localidad', '$provincia', '$contacto', '$tlf_contacto', '$correo', '$coordenadasGPS', '$observaciones', '$link_foto', '$puntuacion', '$tipo')"; //esta es la consulta
$res=mysql_query($sql,$conexion); //ejecuta la consulta, pero si me devuelve false hacemos la siguiente condición if($res){
echo "Sitio insertado correctamente";
$sql2="SELECT * FROM sitios WHERE denominacion='$denominacion'";
$idSitios=$registro2["idSitios"];
//segunda insercion
$sql="INSERT INTO excursiones (idSitios, trans_publico, agua_potable, aseos) VALUES ('$idSitios','$trans_publico','$agua_potable','$aseos')"; //esta es la consulta
}else{
echo "No se ha insertado correctamente.";}
}
}
if(!isset($_POST['boton_enviar_formulario']) || $error != ''){ ?>
<!--Mensaje de error por si falta de rellenar un campo obligatorio al pulsar el boton_enviar_formulario-->
<?=$error;?>
<form method="post" action="index.php?p=insertar_excursiones">
<label>Denominación:</label>
<input type="text" name="denominacion" value="
<?php echo isset($_POST['denominacion']) ?
$_POST['denominacion']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Calle:</label>
<input type="text" name="dir_calle" value="
<?php echo isset($_POST['dir_calle']) ?
$_POST['dir_calle']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Número:</label>
<input type="text" name="dir_num" value="
<?php echo isset($_POST['dir_num']) ?
$_POST['dir_num']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Piso:</label>
<input type="text" name="dir_piso" value="
<?php echo isset($_POST['dir_piso']) ?
$_POST['dir_piso']: '';?>"/><br/>
<label>Letra:</label>
<input type="text" name="dir_letra" value="
<?php echo isset($_POST['dir_letra']) ?
$_POST['dir_letra']: '';?>"/><br/>
<label>C.P:</label>
<input type="text" name="dir_cp" value="
<?php echo isset($_POST['dir_cp']) ?
$_POST['dir_cp']: '';?>"/><br/>
<label>Localidad:</label>
<input type="text" name="localidad" value="
<?php echo isset($_POST['localidad']) ?
$_POST['localidad']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Provincia:</label>
<input type="text" name="provincia" value="
<?php echo isset($_POST['provincia']) ?
$_POST['provincia']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Contacto:</label>
<input type="text" name="contacto" value="
<?php echo isset($_POST['contacto']) ?
$_POST['contacto']: '';?>"/><br/>
<label>Teléfono Contacto:</label>
<input type="text" name="tlf_contacto" value="
<?php echo isset($_POST['tlf_contacto']) ?
$_POST['tlf_contacto']: '';?>"/><span class="obligatorio_insertar">*</span><br/>
<label>Correo:</label>
<input type="text" name="correo" value="
<?php echo isset($_POST['correo']) ?
$_POST['correo']: '';?>"/><br/>
<label>Coordenadas GPS:</label>
<input type="text" name="coordenadasGPS" value="
<?php echo isset($_POST['coordenadasGPS']) ?
$_POST['coordenadasGPS']: '';?>"/>
<!--Botones de gps-->
<a href="https://maps.google.es/" target="_blank" class="coordenadas_google" title="Consultar coordenadas en Google">Google</a>
<a href="http://sigpac.mapa.es/fega/visor/" target="_blank" class="coordenadas_sigpac" title="Consultar coordenadas en SigPac">SigPac</a>
<a href="http://www.montanasegura.com/" target="_blank" class="coordenadas_mide" title="Consultar coordenadas en MIDE">M.I.D.E.</a><br/>
<label>Observaciones:</label>
<input type="textarea" cols="40" rows="3" name="observaciones" value="
<?php echo isset($_POST['observaciones']) ?
$_POST['observaciones']: '';?>"> </textarea><br/>
<label>Foto:</label>
<input type="text" name="link_foto" value="
<?php echo isset($_POST['link_foto']) ?
$_POST['link_foto']: '';?>"/><br/>
<label>Puntuación:</label>
<input type="text" name="puntuacion" value="
<?php echo isset($_POST['puntuacion']) ?
$_POST['puntuacion']: '';?>"/><br/>
<label>Tipo de Sitio:</label>
<input type="text" name="tipo" value=""/><br />
<label>¿Se puede llegar con transporte público?</label>
<input type="checkbox" name="trans_publico" value="1"><br />
<label>¿Hay agua potable?</label>
<input type="checkbox" name="agua_potable" value="1"><br />
<label>¿Hay aseos públicos?</label>
<input type="checkbox" name="aseos" value="1"><br /><br />
<br /><br />
Los campos marcados con '<span class="obligatorio_insertar">*</span>' son obligatorios para poder almacenar los datos.
<br /><br />
<input type="submit" name="boton_enviar_formulario" value="Insertar Excursión" title="Insertar"/><!--con lo q llegue en boton_enviar_formulario lo recojo arriba-->
</form>
<?php
}
//Verificacion de direccion correcta de e-mail
function validarCorreo($correo){
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|nombre|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$correo)); }
//Verificacion de numero de telefono valido
function validarTelefono($tlf_contacto){
return (preg_match('/^[0-9]{9,9}$/', $tlf_contacto)); }
?>
</div>
<br />
<a href='index.php?p=excursiones'>Volver al listado</a>