Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Chewii

Páginas: [1] 2
1
PHP / Problema de Login con nueva contraseña
« en: 28 de Septiembre de 2015, 17:24:41 pm »
Buenos dias amigos, espero esten bien, les escribo por lo siguiente:

Estoy desarrollando un pequeño sistema para gestion de datos pesqueros, que contiene un registro y login de usuarios, ya que son varias personas quienes lo manejaran; el proceso de registro e ingreso de usuarios funciona correctamente, incluso cuando se le cambia su cotraseña, el problema radica en que cuando voy a ingresar con la nueva contraseña, no puedo entrar, por lo cual me regresa al formulario de acceso. Aqui les dejo el script que utilizo para cambiar la contraseña, creo a mi parecer esta funcionando bien, porque si la cambia.
Código: [Seleccionar]
<?php
        
if(isset($_SESSION['usuario'])) { // comprobamos que la sesión esté iniciada
            
if(isset($_POST['enviar'])) {
                if(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
                    echo 
"Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
                }else {
                    
$usuario_nombre $_SESSION['usuario'];
                    
$usuario_clave pg_escape_string($_POST["password"]);
                    
$usuario_clave md5($usuario_clave); // encriptamos la nueva contraseña con md5
                    
$sql pg_query("UPDATE tbl_users SET password='".$usuario_clave."' WHERE usuario='".$usuario_nombre."'");
                    if(
$sql) {
                        echo
"<script>alert('Contraseña cambiada correctamente')</script>";
echo"<script>document.location='../index2.php'</script>";
                    }else {
                        echo 
"Error: No se pudo cambiar la contraseña. <a href='javascript:history.back();'>Reintentar</a>";
                    }
                }
            }else {
?>

            <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
                <label>Nueva contraseña:</label><br />
                <input type="password" name="usuario_clave" maxlength="15" /><br />
                <label>Confirmar:</label><br />
                <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
                <input type="submit" name="enviar" value="Enviar" />
            </form>
<?php
            
}
        }else {
            echo 
"Acceso denegado.";
        }
?>
Aqui va tambien el script que utilzo para accesar al sistema, nose en cual linea de codigo me da problemas, puede ser que pasa las variables de usuario y clave vacias, por lo cual no entra...
Código: [Seleccionar]
<?php
    session_start
();
    include(
'../libs/acceso_db.php');
    if(isset(
$_POST['logueo'])) { // comprobamos que se hayan enviado los datos del formulario
        // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
        
if(empty($_POST['username']) || empty($_POST['password'])) {
            echo 
"El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
        }else {
            
// "limpiamos" los campos del formulario de posibles códigos maliciosos
            
$usuario_nombre pg_escape_string($_POST['username']);
            
$usuario_clave pg_escape_string($_POST['password']);
            
$usuario_clave md5($usuario_clave);
            
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
            
$sql pg_query("SELECT id, usuario, password FROM tbl_users WHERE usuario='".$usuario_nombre."' AND password='".$usuario_clave."'");
            if(
$row pg_fetch_array($sql)) {
                
$_SESSION['id'] = $row['id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
                
$_SESSION['usuario'] = $row["usuario"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
                
header("Location: ../index2.php");
            }else {
?>

               Error, <a href="../index.php">Reintentar</a>
<?php
            
}
        }
    }else {
        
header("Location: ../index.php");
    }
?>

2
PHP / Problema de Seleccion de Registros MySQL para modificar
« en: 18 de Septiembre de 2015, 18:17:46 pm »
Buenas amigos, espero esten bien, les escribo ya que encontre un tutorial acerca de un sistemita de registro de posiciones geograficas, y esta hecho con clases y queria probarlo, pero sinceramente, nose como corregir este error, y pensaba q uds me ayudaran; tengo un problema en el archivo de conexion con la base de datos, en los metodos de edicion de registros, me da un error de sintaxis, el codigo del archivo de conexion es este:
Código: [Seleccionar]
<?php
 define
("mysqlServer","localhost");
 
define("mysqlDB","mapas");
 
define("mysqlUser","root");
 
define("mysqlPass","0000");
  class 
connectToDB
 
{
  public static function 
addCompany$company$details$latitude$longitude$telephone) {
  
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
  
$statement $db_connection->prepare("Insert INTO companies( company, details, latitude, longitude, telephone) VALUES( ?, ?, ?, ?, ?)");
   
$statement->bind_param('sssss'$company$details$latitude$longitude$telephone);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateCompany$id$details$latitude$longitude$telephone) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update companies SET details = ?,latitude = ?,longitude = ?,telephone = ? where id = ?");
   
$statement->bind_param('ssssi'$details$latitude$longitude$telephone$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteCompany($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from companies where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getCompaniesList() {
   
$arr = array();
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, company, details, latitude, longitude, telephone from companies order by company ASC");
   
$statement->bind_result$id$company$details$latitude$longitude$telephone);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
   }
   
$statement->close();
   
$db_connection->close();
      return 
$arr;
  }
    public static function 
addStreet($street,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO streets( name, geolocations ) VALUES( ?, ?)");
   
$statement->bind_param('ss'$street$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
  
  public static function 
updateStreet($id,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update streets SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteStreet($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from streets where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getStreetsList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from streets order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
   return 
$arr;
  }
    public static function 
addArea($area,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO areas(name,geolocations) VALUES(?,?)");
   
$statement->bind_param('ss'$area,$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateArea$id$geo) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update areas SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
   public static function 
deleteArea($id) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from areas where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getAreasList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from areas order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
    return 
$arr;
  }
 }
?>

Y las lineas donde me da el error son estas:
Código: [Seleccionar]
$arr[] = ["id" => $id, "company" => $company, "details" => $details, "latitude" => $latitude, "longitude" => $longitude, "telephone" => $telephone];
$arr[] = [ "id" => $id, "name" => $name, "geolocations" => $geolocations];
$arr[] = [ "id" => $id, "name" => $name, "geolocations" => $geolocations];
El problema se me da en los arreglos donde se guardan las actualizaciones, que me dice q hay un problema con un "["; espero me puedan ayudar, ya que me llamo mucho la atencion y quisiera saber como funciona. Saludos

3
Buenas amigos, espero esten bien, les escribo ya que encontre un tutorial acerca de un sistemita de registro de posiciones geograficas, y esta hecho con clases y queria probarlo, pero sinceramente, nose como corregir este error, y pensaba q uds me ayudaran; tengo un problema en el archivo de conexion con la base de datos, en los metodos de edicion de registros, me da un error de sintaxis, el codigo del archivo de conexion es este:
Código: [Seleccionar]
<?php
 define
("mysqlServer","localhost");
 
define("mysqlDB","mapas");
 
define("mysqlUser","root");
 
define("mysqlPass","0000");
  class 
connectToDB
 
{
  public static function 
addCompany$company$details$latitude$longitude$telephone) {
  
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
  
$statement $db_connection->prepare("Insert INTO companies( company, details, latitude, longitude, telephone) VALUES( ?, ?, ?, ?, ?)");
   
$statement->bind_param('sssss'$company$details$latitude$longitude$telephone);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateCompany$id$details$latitude$longitude$telephone) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update companies SET details = ?,latitude = ?,longitude = ?,telephone = ? where id = ?");
   
$statement->bind_param('ssssi'$details$latitude$longitude$telephone$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteCompany($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from companies where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getCompaniesList() {
   
$arr = array();
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, company, details, latitude, longitude, telephone from companies order by company ASC");
   
$statement->bind_result$id$company$details$latitude$longitude$telephone);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
   }
   
$statement->close();
   
$db_connection->close();
      return 
$arr;
  }
    public static function 
addStreet($street,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO streets( name, geolocations ) VALUES( ?, ?)");
   
$statement->bind_param('ss'$street$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
  
  public static function 
updateStreet($id,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update streets SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteStreet($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from streets where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getStreetsList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from streets order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
   return 
$arr;
  }
    public static function 
addArea($area,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO areas(name,geolocations) VALUES(?,?)");
   
$statement->bind_param('ss'$area,$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateArea$id$geo) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update areas SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
   public static function 
deleteArea($id) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from areas where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getAreasList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from areas order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
    return 
$arr;
  }
 }
?>
Y las lineas donde me da el error son estas:
Código: [Seleccionar]
<?php
 $arr
[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
?>

El problema se me da en los arreglos donde se guardan las actualizaciones, que me dice q hay un problema con un "["; espero me puedan ayudar, ya que me llamo mucho la atenciony quisiera saber como funciona. Saludos

4
PHP / Problema en consulta phpy postgresql
« en: 24 de Noviembre de 2014, 19:25:49 pm »
Que tal amigos, espero esten bien, les escribo porq tengo un problemita en una consulta que estoy haciendo para extraer una parte de la fecha. Resulta que tengo un campo fecha de tipo timestamp without time zone, y necesito extraer las partes año mes y dia para luego asignarlas a un campo de formulario; estuve leyendo un poco sobre las funciones de fecha y hora en postgresql, y consegui la funcion EXTRACT, la probe en el manejador y hasta ahi todo bien, el problema se me presenta es cuando hago la consulta con php, cuando la voy a mostrar me carga el valor "Array", revise las variables que uso y esta todo bien; les dejo el codigo de la consulta y el campo donde la asigno para que la ojeen y me digan si estoy haciendo algo mal.

Esta la uso para extraer el año, mes y dia, solo q puse la del año porq las demas tienen la misma forma.

Código: [Seleccionar]
<?php
$f 
"SELECT EXTRACT(year from fhs) FROM bb_cp  ORDER BY id DESC LIMIT 1"
$an pg_query($f); 
$anho pg_fetch_assoc($an); 
echo 
$anho;
?>
 

Este es el campo donde asigno el año, en formato html..
Código: [Seleccionar]
<input name="anno" type="text" class="input" id="anno" title="A&ntilde;o del Evento"   size="4" maxlength="4" value="<?php echo $anho['YEAR from fhs']; ?>">

Espero puedan ayudarme a ver que pasa, porq ya la e probado y nada q funciona. Saludos..

5
PHP / Listas desplegables en PHP/MySQL y AJAX
« en: 30 de Octubre de 2014, 17:13:22 pm »
Buenas amigos, espero esten bien, les escribo por lo siguiente, estoy creando un formulario para guardar datos de listas deslegables anidadas, y consegui un tuto en internet, descargue los archivos y hasta ahora me ha ido bien, salvo una cosa, cuando voy a guardar los datos de los selects que me generan los scripts me guarda los ids de los registros de las tablas, me gustaria que me guarde los nombres de las opciones como tal; lo q estoy creando es un pequeño sistemita de taxonomia, y me gustaria guardarlo de esa manera para no tener problemas a la hora de mostrar informacion acerca de algunas especies de animales.. Aqui les dejo los códigos:

reg_sp.php (El formulario, pongo solo los selects porq es algo largo)
Código: [Seleccionar]
<?php 
//Llamamos a config 
require_once('../../librerias/config.php'); 
function 
generaSelect() 

    
//include '../librerias/conexion.php'; 
    //conectar(); 
    
$consulta=mysql_query("SELECT id, opcion FROM reino"); 
    
//desconectar(); 

    // Voy imprimiendo el primer select  
     
    
echo "<select name='select1' id='select1' onChange='cargaContenido(this.id)'>"
    echo 
"<option value='0'>Selecciona Opción...</option>"
    while(
$registro=mysql_fetch_row($consulta)) 
    { 
        echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>"
    } 
    echo 
"</select>"

?>

<td><span class="title03">Reino:</span><br />
                            <div id="demoIzq">
                              <?php generaSelect(); ?>
                            </div></td>
                          <td><span class="title03">Phylum:</span><br />
                            <div id="demoMed">
                              <select name="select2" disabled="disabled"  id="select2">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Clase:</span><br />
                            <div id="demoDer">
                              <select name="select3" disabled="disabled"  id="select3">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Orden:</span><br />
                            <div id="demoMed2">
                              <select name="select4" disabled="disabled"  id="select4">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                        </tr>
                        <tr>
                          <td><span class="title03">Familia:</span><br />
                            <div id="demoMed3">
                              <select name="select5" disabled="disabled"  id="select5">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Genero:</span><br />
                            <div id="demoMed4">
                              <select name="select6" disabled="disabled"  id="select6">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>

cons_sel.php (Script que realiza la consulta de carga de datos a los selects)
Código: [Seleccionar]
<?php 
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido 
$listadoSelects=array( 
"select1"=>"reino"
"select2"=>"phylum"
"select3"=>"clase"
"select4"=>"orden"
"select5"=>"familia"
"select6"=>"genero" 
); 

function 
validaSelect($selectDestino

    
// Se valida que el select enviado via GET exista 
    
global $listadoSelects
    if(isset(
$listadoSelects[$selectDestino])) return true
    else return 
false


function 
validaOpcion($opcionSeleccionada

    
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico 
    
if(is_numeric($opcionSeleccionada)) return true
    else return 
false


$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"]; 

if(
validaSelect($selectDestino) && validaOpcion($opcionSeleccionada)) 

    
$tabla=$listadoSelects[$selectDestino]; 
    include 
'../../librerias/config.php'
    
//conectar(); 
    
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relac='$opcionSeleccionada'") or die(mysql_error()); 
    
//desconectar(); 
     
    // Comienzo a imprimir el select 
    
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>"
    echo 
"<option value='0'>Selecciona opción...</option>"
    while(
$registro=mysql_fetch_row($consulta)) 
    { 
        
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion 
        
$registro[1]=htmlentities($registro[1]); 
        
// Imprimo las opciones del select 
        
echo "<option value='".$registro[0]."'>".$registro[1]."</option>"
    }             
    echo 
"</select>"

?>

Aqui dejo un archivo .js que forma parte del modulo, si hay q cambiar el tema de foro, no hay problema.
Código: [Seleccionar]
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E)
{
if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
}
}
return xmlhttp;
}

// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="select1";
listadoSelects[1]="select2";
listadoSelects[2]="select3";
listadoSelects[3]="select4";
listadoSelects[4]="select5";
listadoSelects[5]="select6";

function buscarEnArray(array, dato)
{
// Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra
var x=0;
while(array[x])
{
if(array[x]==dato) return x;
x++;
}
return null;
}

function cargaContenido(idSelectOrigen)
{
// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
var posicionSelectDestino=buscarEnArray(listadoSelects, idSelectOrigen)+1;
// Obtengo el select que el usuario modifico
var selectOrigen=document.getElementById(idSelectOrigen);
// Obtengo la opcion que el usuario selecciono
var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
if(opcionSeleccionada==0)
{
var x=posicionSelectDestino, selectActual=null;
// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
while(listadoSelects[x])
{
selectActual=document.getElementById(listadoSelects[x]);
selectActual.length=0;

var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Selecciona Opci&oacute;n...";
selectActual.appendChild(nuevaOpcion); selectActual.disabled=true;
x++;
}
}
// Compruebo que el select modificado no sea el ultimo de la cadena
else if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
{
// Obtengo el elemento del select que debo cargar
var idSelectDestino=listadoSelects[posicionSelectDestino];
var selectDestino=document.getElementById(idSelectDestino);
// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
var ajax=nuevoAjax();
ajax.open("GET", "cons_sel.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
selectDestino.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;
}
if (ajax.readyState==4)
{
selectDestino.parentNode.innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
}

Bueno, basicamente estos son los cripts que uso para realizar estas operaciones, pero como les dije, no quiero guardar los ids sino los nombres de las opciones, pero nose que cambiar. Espero su ayuda.. Saludos

6
PHP / Mostrar mapa de ruta de navegacion haciendo clic en un link
« en: 01 de Agosto de 2012, 17:59:11 pm »
Que tal amigos, espero esten bien, les escribo porque tengo l siguiente detallito:

En mi software tengo un modulo para mostrar la ruta de los barcos en un mapa, lo puse con google maps, e hice la prueba y me coloca las rutas tal cual dependiendo de los parametros de latitud y longitud, hasta ahi todo bien. El problema se me presenta cuando tengo mas de un viaje, y quiero verlo, hice una busqueda en la base de datos por codigo de viaje, y este se me muestra en una tabla en html, aqui el siguiente codigo:

Código: [Seleccionar]
<?php 
require("phpsqlajax_dbinfo.php"); 

// Opens a connection to a MySQL server 
$connection=mysql_connect (localhost$username$password); 
if (!
$connection) { 
  die(&
#39;Not connected : &#39; . mysql_error()); 


// Set the active MySQL database 
$db_selected mysql_select_db($database$connection); 
if (!
$db_selected) { 
  die (&
#39;Can\&#39;t use db : &#39; . mysql_error()); 

if(isset(
$_GET[&#39;cod&#39;])){ //ESTA ES LA VARIABLE QUE ME CARGA EL NUMERO DEL VIAJE 
         
        
$code $_GET[&#39;cod&#39;];    //ESTA ES LA VARIABLE QUE ME CARGA EL NUMERO DEL VIAJE 
         
                 
        //Se procede con la consulta 
        
$query = &#39;SELECT * FROM cuad_pesca WHERE crno = \&#39;&#39;.$code.&#39;\&#39; order by id_cpp asc&#39;;  
        
$que mysql_query($query); 
                         
        
//Comprobar si se ha realizado la consulta 
        
if (!$query) { 
            die(&
#39;Error: &#39;.mysql_error()); 
        

        
//Mensaje de error en caso de que el codigo no exista 
        
if (!mysql_num_rows($que)) { 
            echo &
#39;Error en el codigo ingresado, intenta de nuevo&#39;.  $error . &#39;&#39;; 
            
exit; 
        } 
    } 
?>

<a href="phpsqlajax_map.htm?id=<?php echo $code?>">VER MAPA</a>//AQUI EL LINK
<table id="Exportar_a_Excel" width=500 align=center > 
<tr bgcolor="0479ff" align=center> 
       <td><b class="heads_tbl">Evento</b></td> 
    <td><b class="heads_tbl">Fecha</b></td> 
       <td><b class="heads_tbl">Latitud</b></td> 
       <td><b class="heads_tbl">Longitud</b></td>
</tr> 
<?
//creo e inicializo la variable para contar el número de filas 
$num_fila = 0; 

//bucle para mostrar los resultados 
while ($damefila=mysql_fetch_object($que)){ 
       echo "<tr "; 
       if ($num_fila%2==0) 
           echo "bgcolor=#dfecfc"; //si el resto de la división es 0 pongo un color 
       else 
           echo "bgcolor=#92c2fc"; //si el resto de la división NO es 0 pongo otro color 
       echo ">"; 
?> 
           <td align="center" class="data"><? echo $damefila->avbevento;?></td> 
         <td align="center" class="data"><? echo $damefila->fechahora;?></td> 
           <td align="center" class="data"><? echo $damefila->lat_dec;?></td> 
           <td align="center" class="data"><? echo $damefila->long_dec;?></td> 
      </tr> 
<? 
       //aumentamos en uno el número de filas 
       $num_fila++; 
} //cierro el while 
?>     
</table>

El enlace "ver mapa", me lleva a otro archivo .php que me genera los datos en un archivo .XML, e aqui donde tengo el detalle, cuando voy a cargar el archivo XML, me lo carga vacio, por lo cual no me carga los puntos en el mapa, aqui el codigo de este archivo:

Código: [Seleccionar]
<?php 
require("phpsqlajax_dbinfo.php"); 

function 
parseToXML($htmlStr)  
{  
$xmlStr=str_replace(&#39;<&#39;,&#39;&lt;&#39;,$htmlStr);  
$xmlStr=str_replace(&#39;>&#39;,&#39;&gt;&#39;,$xmlStr);  
$xmlStr=str_replace(&#39;"&#39;,&#39;&quot;&#39;,$xmlStr);  
$xmlStr=str_replace("&#39;",&#39;&#39;&#39;,$xmlStr);  
$xmlStr=str_replace("&",&#39;&amp;&#39;,$xmlStr);  
return $xmlStr;  
}  

// Opens a connection to a MySQL server 
$connection=mysql_connect (localhost$username$password); 
if (!
$connection) { 
  die(&
#39;Not connected : &#39; . mysql_error()); 


// Set the active MySQL database 
$db_selected mysql_select_db($database$connection); 
if (!
$db_selected) { 
  die (&
#39;Can\&#39;t use db : &#39; . mysql_error()); 


// Select all the rows in the markers table 
$query "SELECT * FROM cuad_pesca WHERE 1"
$result mysql_query($query); 
if (!
$result) { 
  die(&
#39;Invalid query: &#39; . mysql_error()); 


header("Content-type: text/xml"); 

// Start XML file, echo parent node 
echo &#39;<markers>&#39;; 

// Iterate through the rows, printing XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
  
// ADD TO XML DOCUMENT NODE 
  
echo &#39;<marker &#39;; 
  
echo &#39;crno="&#39; . parseToXML($row[&#39;crno&#39;]) . &#39;" &#39;; 
  
echo &#39;fecha="&#39; . parseToXML($row[&#39;fechahora&#39;]) . &#39;" &#39;; 
  
echo &#39;even="&#39; . parseToXML($row[&#39;avbevento&#39;]) . &#39;" &#39;; 
  
echo &#39;lat="&#39; . parseToXML($row[&#39;lat_dec&#39;]) . &#39;" &#39;; 
  
echo &#39;long="&#39; . parseToXML($row[&#39;long_dec&#39;]) . &#39;" &#39;; 
  
echo &#39;/>&#39;; 


// End XML file 
echo &#39;</markers>&#39;; 

?>

el detalle que tengo es como pasar la variable $code para que me tome los datos en el archivo donde me genera el XML, y asi poder mostrar los puntos en el mapa. Espero su ayuda. Saludos

7
JavaScript / Problema al multiplicar latitud por -1
« en: 19 de Julio de 2012, 21:46:54 pm »
Que mas amigos, les escribo por lo siguiente:

Mi sistema trabaja con coordenadas de latitud y longitud (Grados y Minutos), y tengo una funcion que genera la mascara de entrada y hace el calculo de conversion a decimales, hasta ahi todo bien. En mi form tengo un campo que me indica cuando al latitud es al Norte (1) o al Sur (2); cuanod la latitud esta registrada al norte, es decir 1, no tengo problemas, el detalle se me presenta cuando la latitud es igual a 2, ya que en la conversion se debe multiplicar por -1 para que de negativa. Les dejo als funciones que utilizo para generar mascara de entrada y hacer los calculos.

Código: [Seleccionar]
//Funcion que genera una mascara de entrada para la latitud
 function mascara_lat(lat){ 
              var mylat = ''; 
              mylat = mylat + lat; 
              if (mylat.length == 2){ 
                  mylat = mylat + '°'; 
                  document.forms[0].lat.value = mylat; 
              } 
              if (mylat.length == 5){ 
                  mylat = mylat + '´'; 
                  document.forms[0].lat.value = mylat; 
                  verifica_coord(); 
              } 
          } 
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord(){ 
               m1= 1;
               
              var dec=''
              gds = (document.forms[0].lat.value.substring(0,2)); 
              min = (document.forms[0].lat.value.substring(3,5)); 
               
               situacao = ""; 
              // verifica grados y minutos
              if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){ 
                  situacao = "falsa"; 
              } 
               if (document.forms[0].ns.value == 2) { //Aqui esta el detalle, nose si lo estoy haciendo bien
                  m1 = -1; 
              } 
               
              if (document.forms[0].lat.value == "") { 
                  situacao = "falsa"; 
              } 

              if (situacao == "falsa") { 
                  alert("Posicion Invalida!"); 
                  document.forms[0].lat.focus(); 
              } 
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].xxxx.value = dec;
                 
        } 

Con la longitud no tengo problemas, ya que esta siempre es al oeste, espero me puedan ayudar con este detallito. Saludos...

8
PHP / Exportar datos de consulta mysql a pdf/excel/word desde PHP
« en: 14 de Junio de 2012, 22:14:41 pm »
Que mas amigos, les escribo por lo siguiente:

Estoy generando reportes en mi aplicacion, y necesito mostrar los resultados en informes, ya sea en pdf, excel o word (si puedo exportarlos de las 3 maneras mucho mejor), tengo los resultados con sus consultas en php y los muestro en tablas html en una pagina normal, desde ahi quisiera presionar un boton y que me los exporte a cualquiera de las 3 aplicaciones; tengo un boton para imprimir datos desde la misma pagina del reporte, y funciona sin problemas.  He probado la herramienta "dompdf", pero solo llegue a colocar el titulo del reporte y la cabecera de la tabla, del resto no e podido hacer mas nada, y tambien probe la herramienta "fpdf" y, a pesar de que obtuve los resultados que queria, me faltaron un par de variables que no consigo como guardar.  El detalle es que no encuentro como mostrar o exportar los resultados que quiero de la forma que quiero, asi que preferi mejorar el diseño de las tablas y mostrar los datos en una pagina web normal, comun y corriente. lo estoy haciendo de esta forma:

El codigo de busqueda:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>..::||| BUSQUEDA DE CRUCEROS |||::..</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">

</head>

<body>
<table width="455" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#000000" class="input">
  <tr>
    <td align=center bgcolor="#ffffff"><img src="../../../images/palangreh.png" width="466" height="62"></td>
  </tr>
</table>
<p>&nbsp;</p>
<p align="center" class="title03">CAPTURA TOTAL POR CRUCERO/TIPO</p>
<form method="GET" name="frm_barco" action="caps_crno.php" target="_blank">
  <div align="center">
    <p>&nbsp;</p>
    <p>CRUCERO:
      <input name="cod" type="text" class="input" id="cod"  size="10" maxlength="5" title="Codigo del crucero a ingresar">
    TIPO CAPTURA:
    <input name="cod2" type="text" class="input" id="cod2"  size="5" maxlength="1" title="Codigo del crucero a ingresar">
    </p>
    <p>
      <input name="Submit" type="submit" class="FBoton" value="Enviar">
</p>
    <p>&nbsp;    </p>
  </div>
</form>
<p>&nbsp;</p>
</body>
</html>

Archivo de consultas e impresion de datos en html:

Código: [Seleccionar]
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">
<?php  
require_once(&#39;../librerias/config.php&#39;);
$error = &#39;<a href="javascript: window.history.back()"><< Volver >></a>&#39;;// Mensaje de error y nos devuelve atras
if(isset($_GET[&#39;cod&#39;])){ //SI SE HA METIDO EL CODIGO DEL BARCO

//Realizar la conexion al servidor (sustituyes la info con los datos de tu servidor)
$code $_GET[&#39;cod&#39;]; //PARA USAR GET, USA EL FORM QUE TE DEJO
$codi $_GET[&#39;cod2&#39;];

//Se procede con la consulta
$query = &#39;SELECT nlance,ci,nind,nkg FROM caplpal WHERE crno = \&#39;&#39;.$code.&#39;\&#39; && cond = \&#39;&#39;.$codi.&#39;\&#39; order by nlance asc&#39;; 
$que mysql_query($query);

//Comprobar si se ha realizado la consulta
if (!$query) {
die(&#39;Error: &#39;.mysql_error());
}
//Mensaje de error en caso de que el codigo no exista
if (!mysql_num_rows($que)) {
echo &#39;Error en el codigo ingresado, intenta de nuevo&#39;.  $error . &#39;&#39;;
exit;
}
}
?>

<?php echo &#39;<p align="center"><b>CAPTURA TOTAL POR CRUCERO/TIPO </b></p>&#39;; ?>
<?php echo &#39;<p align="center"><b>CRUCERO: &#39;. $code . &#39;</b>&#39;,&#39; &#39;, &#39;<b>TIPO CAPTURA: &#39;. $codi . &#39;</b></p>&#39;; ?>
<table width=500 align=center >
<tr bgcolor="0479ff" align=center>
    <td><b class="heads_tbl">LANCE</b></td>
    <td><b class="heads_tbl">ESPECIE</b></td>
    <td><b class="heads_tbl">N&deg; INDIVIDUOS</b></td>
    <td><b class="heads_tbl">N&deg; KILOGRAMOS</b></td>
</tr>
<?
//creo e inicializo la variable para contar el número de filas
$num_fila = 0;

//bucle para mostrar los resultados
while ($damefila=mysql_fetch_object($que)){
    echo "<tr ";
    if ($num_fila%2==0)
      echo "bgcolor=#dfecfc"; //si el resto de la división es 0 pongo un color
    else
      echo "bgcolor=#92c2fc"; //si el resto de la división NO es 0 pongo otro color
    echo ">";
?>
      <td align="center" class="data"><? echo $damefila->nlance;?></td>
         <td align="center" class="data"><? echo $damefila->ci;?></td>
      <td align="center" class="data"><? echo $damefila->nind;?></td>
      <td align="center" class="data"><? echo $damefila->nkg;?></td>
      </tr>
<?
    //aumentamos en uno el número de filas
    $num_fila++;
} //cierro el while
?>
</table>
<p align="center">
      <input type="button" name="pdf" id="pdf"  value="Enviar a PDF"/>
      <input type="button" name="xls" id="pdf"  value="Enviar a MS Excel"/>
      <input type="button" name="doc" id="pdf"  value="Enviar a MS Word"/>
  <input type="button" name="button" id="button" value="Imprimir" onclick="window.print();"/>
</p>

Esta es la manera que uso para crear los reportes y, como les dije, quisiera que al hacer click en cualquiera de los botones me exporte el reporte a la respectiva aplicacion, ya sea word, excel o formato pdf. Espero su ayuda muchachos..

9
JavaScript / habilitar campos del formulario dependiendo de un valor ingresado
« en: 01 de Junio de 2012, 20:36:18 pm »
Que mas amigos, les escribo esta vez porque quiero que me den una manito, les cuento el problema:

Resulta que tengo un formulario que maneja unos datos de actividades de navegacion de un barco, estas actividades se denominan sucesos o eventos, y ocurren durante el viaje de una embarcacion y dependiendo de estos sucesos o eventos registrados, se llena una serie de campos en el formulario, los datos del formulario son los siguientes:

numero del crucero
año
fecha
hora
evento/suceso
latitud
longitud
numero observacion
velocidad
rumbo
temperatura
nubosidad
visibilidad
beaufort
captura o pesca(yft,alb,bet,skj,otr)
codigo especie
lance


como expuse anteriormente, estos datos se van a llenar dependiendo del suceso que ocurra en el momento, los sucesos son los siguientes:

deriva = 3
mamif = 4
nav = 8
salida = 14
llegada = 15
tortuga = 17
alba = 21
ocaso = 22
inilan = 23
inirec = 24
finlan = 25
finrec = 26


estos eventos se registran en la planilla con su codigo o abreviatura en letras, en la aplicacion se registraran con su equivalente en numeros.

Lo que quiero hacer es que los campos se deshabiliten dependiendo del evento que se haya registrado, por ejemplo, para el suceso "DERIVA" se registra solo el numero de crucero, fecha, hora y evento, los demas campos quedan vacios, en cambio, para el suceso "NAV(navegar)", se ingresan el numero del crucero, fecha, hora, evento, latitud longitud, velocidad, rumbo, temperatura y factores climaticos (nubosidad, visibilidad, beaufort); los unicos datos que se llenaran para todos los eventos son Numero dle crucero, fecha, hora y evento, estos van obligatoriamente para todos, y dependiendo del evento qe ocurra se llenaran los campos asociados a dicho evento, los demas deben quedar deshabilitados. probe con la funcion switch pero nose que atributo asignarle al campo de texto, ya que el suceso se debe ingresar por teclado. Espero me puedan ayudar. Saludos

10
PHP / Calculo de distancia entre dos coordenadas
« en: 30 de Mayo de 2012, 22:44:34 pm »
que mas amigos, espero esten bien, les escribo por lo siguiente:

Necesito calcular la distancia entre dos puntos dadas sus coordenadas geograficas, lo estoy trabajando de a siguiente manera: ingreso las coordenadas de un punto en formato de latitud y longitud, el sistema me hace la conversion a formato decimal, y este ingresa todos los datos en los dos formatos en una tabla llamada "posiciones", luego extraigo todos los datos conforme los voy ingresando y los muestro en una tabla debajo del formulario,esta tabla contiene una columna al final donde se va a mostrar la distancia calculada entre los dos puntos,  hasta ahi todo bien; luego para hacer los calculos de distancia, selecciono solo las coordenadas en formato decimal, y las asigno a 4 variables, dado que son 4 datos para poder aplicar la formula, el calculo lo hice de dos formas:

1ra forma: Aplique la siguiente consulta:

Código: [Seleccionar]
$d= mysql_query("SELECT (acos(sin(radians(l1)) * sin(radians(l2)) + cos(radians(l1)) * cos(radians(l2)) * cos(radians(lo1) - radians(lo2))) * 6378) as distp1p2 FROM posiciones_dist");
$dis=mysql_fetch_assoc($d);
$dist=($dis['distp1p2']);

el resultado me lo da para el primer registro, pero luego lo que hace es repetirme el mismo valor en todas las columnas..

2da forma: Aplique la siguiente formula:

Código: [Seleccionar]
$dist = acos(sin($g) * sin($h) + cos($g) + cos($h) * cos($i) - $j) * $earth;
el resultado fue que me mostraba un "NAN" en cada columna, supongo que es algun valor no determinado..

los 2 script que estoy usando son los siguientes.:

lat_long.php

Código: [Seleccionar]
<?php
require_once(&#39;librerias/config.php&#39;);
$earth 6378;
$querys "SELECT * FROM posiciones_dist ORDER BY id DESC limit 5";
$que mysql_query($querys);
$e mysql_query(&#39;SELECT l1,l2,lo1,lo2 FROM  posiciones_dist order by id desc limit 1&#39;);
$f mysql_fetch_assoc($e);//Arreglo que guarda los valores de la consulta
$g = ($f[&#39;l1&#39;]);
$h = ($f[&#39;l2&#39;]);
$i = ($f[&#39;lo1&#39;]);
$j = ($f[&#39;lo2&#39;]);

$dist acos(sin($g) * sin($h) + cos($g) + cos($h) * cos($i) - $j) * $earth;
/*$d= mysql_query("SELECT (acos(sin(radians(l1)) * sin(radians(l2)) + cos(radians(l1)) * cos(radians(l2)) * cos(radians(lo1) - radians(lo2))) * 6378) as distp1p2 FROM posiciones_dist");
$dis=mysql_fetch_assoc($d);
$dist=($dis[&#39;distp1p2&#39;]);*/

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="css/cuscosky.css">
<title>Documento sin t&iacute;tulo</title>
<script charset="utf8">
//Funcion que genera una mascara de entrada para la latitud
 function latitud(l1){
              var mylat = '';
              mylat = mylat + l1;
              if (mylat.length == 2){
                  mylat = mylat + '°';
                  document.forms[0].l1.value = mylat;
              }
              if (mylat.length == 5){
                  mylat = mylat + '´';
                  document.forms[0].l1.value = mylat;
                  verifica_coord();
              }
          }
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord(){
               m1= 1;
           
    var dec=''
              gds = (document.forms[0].l1.value.substring(0,2));
              min = (document.forms[0].l1.value.substring(3,5));
             
  // verifica grados y minutos
              situacao = "";
  if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].l1.value == "") {
                  situacao = "falsa";
              }

              if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].l1.focus();
              }
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].ld1.value = dec;
               
        }
             
  //Funcion que genera una mascara de entrada para la longitud
        function longitud(lo1){
              var mylong = '';
              mylong = mylong + lo1;
              if (mylong.length == 2){
                  mylong = mylong + '°';
                  document.forms[0].lo1.value = mylong;
              }
              if (mylong.length == 5){
                  mylong = mylong + '´';
                  document.forms[0].lo1.value = mylong;
                  verifica_coord2();
              }
       }     
 
//Funcion que verifica las coordenadas de longitud correctas
        function verifica_coord2(){
               m1= -1;
               var dec=''             
              gds = (document.forms[0].lo1.value.substring(0,2));
              min = (document.forms[0].lo1.value.substring(3,5));
                             
              situacao = "";
              // verifica grados y minutos
               if ((gds < 00) || (gds > 80)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].lo1.value == "") {
                  situacao = "falsa";
              }

                if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].lo1.focus();
              }
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            //valor=dec.toFixed(0);
            document.forms[0].lod1.value = dec;
            }
     //Funcion que genera una mascara de entrada para la latitud
 function latitud2(l2){
              var mylat = '';
              mylat = mylat + l2;
              if (mylat.length == 2){
                  mylat = mylat + '°';
                  document.forms[0].l2.value = mylat;
              }
              if (mylat.length == 5){
                  mylat = mylat + '´';
                  document.forms[0].l2.value = mylat;
                  verifica_coord3();
              }
          }
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord3(){
               m1= 1;
              // m2= 100;
              var dec=''
              gds = (document.forms[0].l2.value.substring(0,2));
              min = (document.forms[0].l2.value.substring(3,5));
             
               situacao = "";
              // verifica grados y minutos
             
  if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].l2.value == "") {
                  situacao = "falsa";
              }

              if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].l2.focus();
              }
           dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].ld2.value = dec;
               
        }
             
  //Funcion que genera una mascara de entrada para la longitud
        function longitud2(lo2){
              var mylong = '';
              mylong = mylong + lo2;
              if (mylong.length == 2){
                  mylong = mylong + '°';
                  document.forms[0].lo2.value = mylong;
              }
              if (mylong.length == 5){
                  mylong = mylong + '´';
                  document.forms[0].lo2.value = mylong;
                  verifica_coord4();
              }
       }     
 
//Funcion que verifica las coordenadas de longitud correctas
        function verifica_coord4(){
               m1= -1;
              // m2= 100;
              var dec=''             
              gds = (document.forms[0].lo2.value.substring(0,2));
              min = (document.forms[0].lo2.value.substring(3,5));
                             
              situacao = "";
              // verifica grados y minutos
               if ((gds < 00) || (gds > 80)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].lo2.value == "") {
                  situacao = "falsa";
              }

                if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].lo2.focus();
              }
           dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].lod2.value = dec;
            }

</script>
<style type="text/css">
.Estilo5 {font-size: 75%}
.Estilo7 {font-size: 70%}
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="dist.php">
  <p>Latitud 1:
    <input type="text" name="l1" id="l1" onkeyup="latitud(this.value)" />
    <input type="text" name="ld1" id="ld1"  readonly="readonly"/>
  Longitud 1:
    <input type="text" name="lo1" id="lo1" onkeyup="longitud(this.value)" />
    <input type="text" name="lod1" id="lod1" readonly="readonly"/>
  </p>
  <p>Latitud 2:
    <input type="text" name="l2" id="l2" onkeyup="latitud2(this.value)" />
    <input type="text" name="ld2" id="l4" readonly="readonly"/>
  Longitud 2:
    <input type="text" name="lo2" id="lo2" onkeyup="longitud2(this.value)" />
    <input type="text" name="lod2" id="lo4" readonly="readonly"/></p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar" />
  </p>
</form>
<table align="center" summary="Tabla de ejemplo">
  <caption>
    LATITUDES Y LONGITUDES
  </caption>
  <thead>
    <tr class="Estilo5">
      <th>LATIDUD1</th>
      <th>LATITUD_D1</th>
      <th>LATITUD2</th>
      <th>LATITUD_D2</th>
      <th>LONGITUD1</th>
      <th>LONGITUD_D1</th>
      <th>LONGITUD2</th>
      <th>LONGITUD_D2</th>
      <th>DISTANCIA</th>
     </tr>
  </thead>
  <tbody>
    <?php while ($rs mysql_fetch_assoc($que)) { ?>
    <tr class="Estilo7">
      <td><?php echo $rs[&#39;lat1&#39;]; ?></td>
      <td><?php echo $rs[&#39;l1&#39;]; ?></td>
      <td><?php echo $rs[&#39;lat2&#39;]; ?></td>
      <td><?php echo $rs[&#39;l2&#39;]; ?></td>
      <td><?php echo $rs[&#39;long1&#39;]; ?></td>
      <td><?php echo $rs[&#39;lo1&#39;]; ?></td>
      <td><?php echo $rs[&#39;long2&#39;]; ?></td>
      <td><?php echo $rs[&#39;lo2&#39;]; ?></td>
      <td><?php echo $dist?></td>
     </tr>
    <?php }  ?>
  </tbody>
</table>
<p>
</body>
</html>

dist.php

Código: [Seleccionar]
<?php
require_once(&#39;librerias/config.php&#39;);
$mens="Los datos fueron registrados con exito"//Mensaje de guardado correcto de datos
$error = &#39;<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>&#39;; //Mensaje de Error de guardado de los datos
if(!isset($_POST["enviar"])) { //Si nombre boton no es igual a registro, envia le mensaje
echo &#39;No puedes enviar  el formulario vacio, debes llenar todos los datos..<br />&#39;;
} else { //De lo contrario, a llenar las variables 
$lat1 $_POST["l1"]; 
$l1 $_POST["ld1"]; 
$lat2 $_POST["l2"]; 
$l2 $_POST["ld2"];
$long1 $_POST["lo1"];
$lo1 $_POST["lod1"];
$long2 $_POST["lo2"]; 
$lo2 $_POST["lod2"];
$sql mysql_query("INSERT INTO posiciones_dist (lat1,l1,lat2,l2,long1,lo1,long2,lo2) 
                   VALUES  (&#39;
$lat1&#39;,&#39;$l1&#39;,&#39;$lat2&#39;,&#39;$l2&#39;,&#39;$long1&#39;,&#39;$lo1&#39;,&#39;$long2&#39;,&#39;$lo2&#39;) ");
 
 if(!
$sql) {    //Si hay error en la consulta de insercion, envie el error
echo &#39;Error en el registro.&#39; . $error . &#39;&#39;;
exit;
} else {// De lo contrario ingresar los datos
print "<script>alert(&#39;$mens&#39;)</script>";
print"<script>document.location=&#39;lat_long.php&#39;</script>";
}
}



?>

Quiero saber que es lo qe estoy aplicando mal, que no me funciona de ninguna de las dos formas, espero me puedan dar una manito. Saludos!!

11
PHP / Advertencia en presentacion de registros en pantalla...
« en: 29 de Febrero de 2012, 19:44:39 pm »
Que mas amigos, tenia tiempo sin pasarme por aqui, les escribo porque tengo un problemita en mi sistema, se trata de lo siguiente:

Resulta que yo tengo un formulario llamado resumen del crucero que me ingresa los datos generales del viaje, y este formulario lo dividi en 2 partes, una que contiene los datos generales del viaje, tales como el nombre del barco, numero del viaje, nombre del observador a bordo, nombre del capitan, fecha de inicio y de final del viaje; el otro formulario me muestra un resumen de las capturas totales que tuvo el barco durante las faenas de pesca, y voy ingresando por especie de peces y por kilogramos capturados, y al final muestro los totales de individuos y de kilogramos, hasta ahi todo bien, tengo dos tablas distintas para cada formulario y estas se enlazan con el codigo de la emarcacion y el codigo del viaje, y estos datos se muestran en el segundo formulario.

El problemita se me presenta cuando voy a ingresar el primer registro, en la primera parte los ingresa sin problemas, y los muestra tal cual en pantalla, pero cuando paso al segundo formulario, el de la captura total, me muestra el siguiente error:

Código: [Seleccionar]
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\res_crnoi.php on line 58
Esto sucede porque tengo 2 consultas que me realizan la suma de indivduos y kilogramos capturados, esta son dichas consultas:

Código: [Seleccionar]
$ind =  mysql_query('SELECT SUM( nind ) as tind FROM rccaii WHERE crno = '.$g.'');
$sum =  mysql_fetch_assoc($ind);
$suma = ($sum['tind']);

$kgs =  mysql_query('SELECT SUM( nkg ) as tkg FROM rccaii WHERE crno = '.$g.'');
$sumkg =  mysql_fetch_assoc($kgs);
$sumakg = ($sumkg['tkg']);

luego de ingresar el primer registro, los errores desaparecen, solo se muestran cuando tengo la tabla sin datos, estos se muestran en 3 lineas del codigo fuente, y dos de esas son las consultas mostradas anteriormente, la otra es cuando muestro los registros en pantalla, quisiera que me dieran una ayudita con esto ya que no tengo idea del porque me arroja esa advertencia. Saludos

12
PHP / Guardar el nombre de usuario en la tabla de registros
« en: 03 de Noviembre de 2011, 16:42:24 pm »
Que mas amigos, espero esten bien, les escribo ahora porq tngo una pregunta:

Como puedo guardar el nombre de usuario en una tabla donde este ingresando registros X? me refiero, quiero saber quien realiza los ingresos en el sistema que estoy desarrollando, puesto que tenemos varios usuarios, cada quien se loguea con su user y su clave, pero quisiera saber como guardar ese user en una tabla a modo de llevar un historial de cuando se hacen y quien hace los ingresos de datos; ya logre ingresar la fecha y la hora con la funcion NOW() de mysql, y todo perfecto, pero no encuentro como ingresar el nombre del usuario. Espero puedan ayudarme. Saludos!!!

13
PHP / Problema con edicion de datos y headers
« en: 02 de Noviembre de 2011, 18:09:50 pm »
Que tal muchachos, espero esten bien, les ecribo esta vez porq tngo un problemita con la edicion de datos de mi sistema, resulta que cuando quiero modificar un dato, me los carga normal y correctamente, pero cuando los voy a modificar para cambiarlos en la base de datos, me envia el siguient error:

Código: [Seleccionar]
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\prog_inpa136\planillas\reg_palan\modcap.php:18) in C:\AppServ\www\prog_inpa136\planillas\reg_palan\modcap.php on line 20
cuando imprimo la consulta veo que me toma los valores que modifico, pero no los inserta ne la base de datos, e probado de todo, borre los espacios, lei este tutorial: http://www.phperos.net/foro/index.php?topic=4985.0, y probe todos los pasos, y nada, ya estoy desesperado, no encuentro como solucionarlo, espeor me puedan ayudar; aqui les dejo el codigo que utilizo para la modificacion:

Código: [Seleccionar]
<?php
session_start
();
require_once(
"../../librerias/config.php");
require_once(
"../../librerias/funciones.php");
$idcap getParam($_GET["id"], "-1");
$action getParam($_GET["action"], "");
if (
$action == "edit") {
$idcap sqlValue($_POST["id"], "int");
$crno sqlValue($_POST["crno"], "int");
$lance sqlValue($_POST["nlance"], "int");
$cond sqlValue($_POST["cond"], "int");
$ci sqlValue($_POST["ci"], "int");
$nind sqlValue($_POST["nind"], "int");
$nkg sqlValue($_POST["nkg"], "int");
$sql "UPDATE crno SET ";
$sql.= "crno=".$crno.", nlance=".$lance.", ci=".$ci.", nind=".$nind.", nkg=".$nkg.", cond=".$cond." ";
$sql.= "WHERE id_caplpal=".$idcap;
echo $sql;
mysql_query($sql$conexion);
header("location: captura.php");}
$sql "SELECT * FROM caplpal WHERE id_caplpal = ".sqlValue($idcap"int");
$quecr mysql_query($sql$conexion);
$rscr mysql_fetch_assoc($quecr);
$total mysql_num_rows($quecr);
if (
$total == 0) {
header("location: captura.php");
exit;}
?>

14
PHP / Error al mostrar la suma de las columnas de la tabla
« en: 07 de Octubre de 2011, 16:53:39 pm »
Que mas amigos, aqui estoy de nuevo con un detallito que me falta y no logro deducir, les explico:

yo tengo dentro de mi sistema, una planilla o formulario que se llama "Resumen de Crucero", este formulario guarda toda la informacion referente a las capturas realizadas en las faneas de pesca, y los datos que tiene son la suma de las capturas de todos los lances, de atunes y de fauna incidental(fauna no objetivo, esto es otra cosa); luego de ingresar estos datos, el sistema debe calcular el total de kilogramos e individuos capturados durante el viaje, y ese total se debe guardar en la base, o tambien simplemente ser impreso en pantalla para comparar, hasta ahi todo bien; tengo un archivo html,con el formulario de ingreso, y debajo muestro los totales de la suma de las dos columnas, y en otro archivo tngo el script de ingreso de datos, el detalle es q cuando ingreso los datos, me genera un error y no me muestra los valores, aqui les dejo los codigos de los archivos:

capturas.php (formulario de ingreso de datos)

Código: [Seleccionar]
<?php 
$result 
mysql_query("SELECT SUM(indiv) as total FROM capturas WHERE tc=1 && crno=$crno"); 
$row mysql_fetch_assoc($result); 
$result2 mysql_query("SELECT SUM(kilog) as total_kg FROM capturas WHERE tc=1 && crno=$crno"); 
$row2 mysql_fetch_assoc($result2); 
?>

<form name="form1" method="post" action="caps.php">
  <p>CAPTURA DEL CRUCERO</p>
  <p>CRUCERO:
    <input name="crno" type="text" id="crno">
</p>
  <p>TIPO CAPTURA: 
    <input name="tc" type="text" id="tc">
  </p>
  <p>ESPECIE: 
    <input name="esp" type="text" id="esp">
  </p>
  <p>INIDIVDUOS: 
    <input name="ind" type="text" id="ind">
  </p>
  <p>KILOGRAMOS: 
    <input name="kg" type="text" id="kg">
</p>
  <p>
    <input type="submit" name="registro" value="Enviar">
  </p>
</form>
<?php  
echo &#39;Total Individuos Capturados= &#39;. $row["total"].&#39;&#39;; 

echo &#39;Total Kilogramos Capturados= &#39;. $row2["total_kg"].&#39;&#39;; 


?>

caps.php (Ingreso de datos)
Código: [Seleccionar]
<?php //Captura total de Atunes 
//Conexion con la base 
$mens="Los datos fueron registrados con exito"
$error = &#39;<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>&#39;; 
require_once(&#39;config.php&#39;); 
//include(&#39;errores.php&#39;); 
//Evitamos el hackeo , si enviaron el form trabajamos sino mensaje de error  
$crno $_POST["crno"]; 
$cond $_POST["tc"]; 
$ci $_POST["esp"]; 
$nind $_POST["ind"]; 
$nkg $_POST["kg"]; 
// Proceso de insersión de datos, si es correcto te da el mensaje aprobado, si no es correcto, te manda mensaje de error 
$sqlcaptu mysql_query("INSERT INTO capturas  
                          (crno,tc,especie,indiv,kilog)  
                          VALUES  (&#39;
$crno&#39;,&#39;$cond&#39;,&#39;$ci&#39;,&#39;$nind&#39;,&#39;$nkg&#39;) "); 
    
/*if(!$sqlcaptu) {     
        echo &#39;Error en el registro.&#39; . $error . &#39;&#39;; 
        exit; 
    } else { 
        print "<script>alert(&#39;$mens&#39;)</script>"; 
        print"<script>document.location=&#39;capturas.php&#39;</script>"; 
    }*/ 


?>

El error que me arroja es este, justamente en las dos consultas que hago para buscar los datos.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\capturas.php on line 24
Total Individuos Capturados=
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\capturas.php on line 28
Total Kilogramos Capturados=

Espero me puedan ayudar, la consulta funciona, siempre y cuando la haga en el script de ingreso de datos, que me los muestra sin problemas, pero quiero mostrarlos en la pagina del form y tambien mostrar los datos de ingreso en una tablita. Saludos!!

15
PHP / Comparacion de varias horas en un mismo form
« en: 04 de Octubre de 2011, 17:30:49 pm »
Buenos dias amigos, reciban un cordial saludo, por aqui estoy de nuevo, ya que me encuentro ahora con un detalle, resulta que el sistema que estoy desarrollando se encarga de procesar todos los datos que son captados por observadores cientificos que se montan en los barcos para monitorear las labores de pesca, entre estos datos hay una planilla llamada "Registro de Lance de Palangre", que capta toda la informacion referente a la lanzada y la recogida del arte de pesca palangre; esta planilla tiene muchas variables, entre las que se encuentran 4 de suma importancia, como la son las horas de lance y las horas de recogida del palangre, las estructuramos de la siguiente manera:

Fecha y Hora de inicio del Lance
Fecha y Hora del fin del Lance
Fecha y Hora del Inicio de la recogida
Fecha y Hora del fin de la recogida


Estas son las horas en las que se inician y se finalizan las labores de pesca del barco, y el observador cientifico debe tomar estos datos junto con otras variables, para poder monitorear las zonas de pesca de dichas embarcaciones, hasta ahi todo bien.

Ahora, viene la explicacion del detalle que tengo:

Estos datos cuando llegan a tierra, deben ser entregados a la oficina del programa para su procesamiento en el software que yo estoy desarrollando, y tambien necesitan ser validados, de manera que no haya inconsistencias en las fechas y horas; lo que quiero hacer es la comparacion entre estas fechas para que lleven la secuencia de registro, por ejemplo, este es uno de los lances que se registraron en el viaje y son datos reales:

fecha de inicio del lance: 09-10-04 hora del lance 10:22
fecha de fin del lance 09-10-04 hora del lance 13:37
fecha de inicio de la recogida 09-10-04 hora de la recogida 18:55
fecha fin de la recogida 09-10-05 hora de la recogida 00:45

Esta seria la secuencia correcta de ingreso de datos, el problema que tengo es que hice las comparaciones de cada variable, pero cuando voy a comparar la 3ra y 4ta variable, el mensaje de error me aparece muchas veces, quisiera que me orientaran o me ayudaran a organizar mejor la estructura que estoy usando para resolver el problema, aqui les dejo le codigo que estoy usando:

Código: [Seleccionar]
<?php 
require_once(&#39;config.php&#39;); 
$mens="Los datos fueron registrados con exito"
$error = &#39;<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>&#39;; 
$fil $_POST["fechail"];//fecha inicio del lance aa/mm/dd 
$hil $_POST["horail"];//hora inicio del lance hh/mm 
$ffl $_POST["fechafl"];//fecha fin lance aa/mm//dd 
$hfl $_POST["horafl"];//hora fin de lance hh/mm 
$fir $_POST["fechair"];//fecha inicio recogida aa/mm/dd 
$hir $_POST["horair"];//ora inicio recogida hh/mm 
$ffr $_POST["fechafr"];//fecha fin recogida aa/mm/dd 
$hfr $_POST["horafr"];//hora fin recogida hh/mm 
$fhil $_POST["fechail"]." ".$_POST["horail"].":00";//fecha y hora del inicio del lance aa/mm/dd hh/mm 
$fhfl $_POST["fechafl"]." ".$_POST["horafl"].":00";//fecha y hora del fin del lance aa/mm/dd hh/mm 
$fhir $_POST["fechair"]." ".$_POST["horair"].":00";//fecha y hora del inicio de la recogida aa/mm/dd hh/mm 
$fhfr $_POST["fechafr"]." ".$_POST["horafr"].":00";//fecha y hora del fin de la recogida aa/mm/dd hh/mm 
$afhil strtotime($fhil);//fecha y hora del inicio del lance 
$afhfl strtotime($fhfl);//fecha y hora del fin del lance 
$afhir strtotime($fhir);//fecha y hora del inicio de la recogida 
$afhfr strtotime($fhfr);//fecha y hora del fin de la recogida 
if (($afhil $afhfl) || ($afhil $afhir) || ($afhil $afhfr)){ 
    echo &
#39;Error en fecha u hora.&#39; . $error . &#39;&#39;; 
    
if (($afhfl $afhil) || ($afhfl $afhir) || ($afhfl $afhfr)){ 
        echo &
#39;Error en fecha u hora.&#39; . $error . &#39;&#39;; 
        
if (($afhir $afhil) || ($afhir $afhfl) || ($afhir $afhfr)){ 
            echo &
#39;Error en fecha u hora.&#39; . $error . &#39;&#39;; 
            
if (($afhfr $afhil) || ($afhfr $afhfl) || ($afhfr $afhir)){     
                echo &
#39;Error en fecha u hora.&#39; . $error . &#39;&#39;; 
            
} else { 
                
$sql mysql_query("INSERT INTO fhlances (fhil,fhfl,fhir,fhfr) VALUES (&#39;$fhil&#39;,&#39;$fhfl&#39;,&#39;$fhir&#39;,&#39;$fhfr&#39;)"); //consultas 
            

        } 
    } 
}         
?>

Páginas: [1] 2