Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/02/2014, 04:09
yakrum
 
Fecha de Ingreso: febrero-2014
Ubicación: España
Mensajes: 19
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Error en formulario con checkboxes

Código PHP:
<?php include("pages/seguridad.php"); include("pages/conexion.php");?> 
<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']: '2';
        
$trans_publico= (array_key_exists('trans_publico'$_POST)) ? $_POST['trans_publico']:NULL//si el checkbox se envía sin marcar, toma valor null
        
$agua_potable= (array_key_exists('agua_potable'$_POST)) ? $_POST['agua_potable']:NULL//si el checkbox se envía sin marcar, toma valor null
        
$aseos= (array_key_exists('aseos'$_POST)) ? $_POST['aseos']:NULL//si el checkbox se envía sin marcar, toma valor null
        
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 TELEFONO 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 teléfono 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 == ''){
                if(
get_magic_quotes_gpc()){
                    
$mensaje stripslashes($mensaje);
                }
                
$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'";      
                
$consulta2=mysql_query($sql2,$conexion2);      
                
$registro2=mysql_fetch_array($consulta2);
                
$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
                
$res=mysql_query($sql,$conexion);
                
mysql_close($conexion);    
                
mysql_close($conexion2);    
            }else{
                echo 
"No se ha insertado correctamente.";
                
mysql_close($conexion);    
                
mysql_close($conexion2);    
            }
        }
    }    
    if(!isset(
$_POST['boton_enviar_formulario']) || $error != ''){
    
?>
    <!--Mensaje de error-->
    <?=$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>¿Se puede llegar con transporte público?</label>    
            <input type="checkbox" name="trans_publico" value="1"<?php echo (isset($trans_publico))?'checked="checked"':(($registro2['trans_publico'])?'checked="checked"':'');?>><br />
        <label>¿Hay agua potable?</label>
            <input type="checkbox" name="agua_potable" value="1"<?php echo (isset($agua_potable))?'checked="checked"':(($registro2['agua_potable'])?'checked="checked"':'');?>><br />
        <label>¿Hay aseos públicos?</label>
            <input type="checkbox" name="aseos" value="1"<?php echo (isset($aseos))?'checked="checked"':(($registro2['aseos'])?'checked="checked"':'');?>><br /><br />
        <br /><br />
        Los campos marcados con '<span class="obligatorio_insertar">*</span>' son obligatorios para poder almacenar los datos.
        <br /><br />
        <input type="hidden" name="tipo" readonly="readonly" value="2"/>
        <input type="submit" name="boton_enviar_formulario" value="Insertar"/><!--con lo q llegue en  boton lo recojo arriba-->
        <input id="borrar" name="borrar" value="Vaciar" type="reset">
        <input type="button" name="cancelar" value="Cancelar" onClick="location.href='index.php?p=excursiones'"/>
    </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>