Foros del Web » Programando para Internet » PHP »

¿cómo guardar datos con un evento onload?

Estas en el tema de ¿cómo guardar datos con un evento onload? en el foro de PHP en Foros del Web. Hola,soy nuevo en el foro y estoy recien empezando en este mundo de la programacion...estoy haciendo un proyecto para mi práctica y estoy atajado en ...
  #1 (permalink)  
Antiguo 08/03/2011, 08:13
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
¿cómo guardar datos con un evento onload?

Hola,soy nuevo en el foro y estoy recien empezando en este mundo de la programacion...estoy haciendo un proyecto para mi práctica y estoy atajado en esto, necesito que al momento de abrir un página se guarde inmediatamente en la base de datos la hora en la que se realizo la acción,aqui le dejo el código tal cual lo tengo en la página:

Código:
<html>
<head>
<title>Datos</title>
<script language="javascript">
function grabar(){
	if($this->con->conectar()==true){
		return mysql_query("INSERT INTO horas
		(inicio) VALUES 
		(NOW())");
	}
}
</script>
</head>
<body onLoad="grabar()">
<link rel="stylesheet" type="text/css" href="busquedaate.css">
<script type="text/javascript" src="busquedaate.js"></script>
<script language="JavaScript">
function Abrir_ventana (pagina) {
var opciones="toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, width=508, height=300, top=85, left=140, Text-align=left";
window.open(pagina,"",opciones);
}
</script>
<script type="text/javascript">
setActiveStyleSheet(document.getElementById("defaultTheme"), "Aqua");
</script>
<p>&nbsp;</p>
  <table width="400" height="76" border="1">
    <tr>
      <td width="57" height="31"><div align="center">Rut</div></td>
      <td width="158"><form id="form1" name="form1" method="post">
          <label>
          <input name="txtrut" type="text" id="txtrut" />
          </label>
      </form></td>
      <td width="54"><div align="center">Nombre</div></td>
      <td width="158"><form id="form2" name="form2" method="post" action="">
          <label>
          <input name="txtnom" type="text" id="txtnom" />
          </label>
      </form></td>
      <td width="76"><div align="center">Consultante</div></td>
      <td width="158"><div id="demo" align="left" style="width:100px;">
<div id="demoDer">
<div>
<input name="text" type="text" class="input" id="input_2"
					onFocus="if(document.getElementById('lista').childNodes[0]!=null && this.value!='') { filtraLista(this.value);                    formateaLista(this.value); 
				    reiniciaSeleccion(); document.getElementById('lista').style.display='block'; }" 
					onBlur="if(v==1) document.getElementById('lista').style.display='none';" 
					onKeyUp="if(navegaTeclado(event)==1) {
				    clearTimeout(ultimoIdentificador); 
				    ultimoIdentificador=setTimeout('rellenaLista()', 1000); }">
</div></td>
<div id="lista" onMouseOut="v=1;" onMouseOver="v=0;"></div>
      <td width="42"><div align="center">
        <form name="form3" method="post" action="">
        <a href="javascript:Abrir_ventana('consultante.php')"><font size="1" face="Verdana"><img src="img/add.png" width="16" height="16"><a href="consultante.php"></a>
                </form>
      </div></td>
    </tr>
    <tr>
      <td height="37"><div align="center">Telefono</div></td>
      <td><form id="form4" name="form4" method="post" action="">
          <label>
          <input name="txtfono" type="text" id="txtfono" />
          </label>
      </form></td>
      <td><div align="center">Ciudad</div></td>
      <td><form id="form5" name="form5" method="post" action="">
          <label>
          <input name="txtciu" type="text" id="txtciu" />
          </label>
      </form></td>
      <td><div align="center">Correo</div></td>
      <td><input type="text" name="textfield6" /></td>
    </tr>
</table>
  <p><a href="javascript:Abrir_ventana('busqueda.php')"><font size="1" face="Verdana"><img src="search.png" width="48" height="40"></font></a><a href="busqueda.php"></a></p>
<table width="200" border="1">
  <tr>
    <td height="45" valign="top"><div align="left">Servidor</div></td>
    <td><label>
      <input type="text" name="textfield" />
    </label></td>
  </tr>
</table>
<p>&nbsp;</p>
<table width="1005" border="1">
  <tr>
    <td width="121">Sistema Operativo </td>
    <td width="144"><form id="form8" name="form8" method="post" action="">
      <label>
        <input type="text" name="textfield2" />
        </label>
    </form></td>
    <td width="111"><form id="form9" name="form9" method="post" action="">
      <label>Disco duro </label>
    </form></td>
    <td width="144"><form id="form10" name="form10" method="post" action="">
      <label>
        <input type="text" name="textfield3" />
        </label>
    </form></td>
    <td width="54">Ram</td>
    <td width="146"><form id="form12" name="form12" method="post" action="">
      <label>
        <input type="text" name="textfield5" />
        </label>
    </form></td>
    <td width="85" valign="top">Procesador</td>
    <td width="148"><form id="form13" name="form13" method="post" action="">
      <label>
        <input type="text" name="textfield7" />
        </label>
    </form></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
</html>
Espero que me puedan ayudar con mi duda...desde ya muchas gracias
  #2 (permalink)  
Antiguo 08/03/2011, 08:27
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: ¿cómo guardar datos con un evento onload?

Hola.

La verdad es que no se para que lo haces con javascript, si lo que quieres es grabar algo en la base de datos tan solo al abrir el formulario, escribe el código php correspondiente y ya está.

Lo puedes poner poner al principio o al final de la página, es preferible al principio por si luego quieres recoger los datos de la consulta.

por ejemplo

Código PHP:
<?php
$sql
="INSERT INTO horas (inicio) VALUES  (NOW())";
mysql_query($sql);
?>

Resto del código.

Previamente tienes que hacer la conexión a la bd.

Saludos
  #3 (permalink)  
Antiguo 08/03/2011, 08:51
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: ¿cómo guardar datos con un evento onload?

=O genial! jajajaja,como te dije,soy nuevo en esto,y me estoy recien formando,em,ahora me tira un problema con la conexion a la BD,a tu codigo le agregue:

Código:
<?php 
require('clases/conexion.class.php');
$sql="INSERT INTO horas (inicio) VALUES  (NOW())"; 
mysql_query($sql); 
?>
pero no me esta tomando la conexion,me tira el error:


Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\Xnotas\datos.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\AppServ\www\Xnotas\datos.php on line 4

que puede ser eso?
  #4 (permalink)  
Antiguo 08/03/2011, 08:53
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: ¿cómo guardar datos con un evento onload?

Quiere decir que los parámetros en la conexión a la base de datos no son correctos... mira a ver si es el usuario o la contraseña o el servidor.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 08/03/2011, 08:59
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: ¿cómo guardar datos con un evento onload?

acavo de revisar el archivo conexion.class.php y esta todo en orden,pero aun asi me sigue tirando el error...quizas debo agregar los datos de la BD en el mismo codigo con el que estoy trabajando o agregar la variable que me lleva a la conexion?
  #6 (permalink)  
Antiguo 08/03/2011, 09:01
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: ¿cómo guardar datos con un evento onload?

Pues si almacenas la conexion a la BD en una variable deberias hacer asi:

mysql_query($sql, $conexion);
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #7 (permalink)  
Antiguo 08/03/2011, 09:11
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: ¿cómo guardar datos con un evento onload?

lo agrego,pero igual no pesca,mira,aca te dejo la clase conexion:

Código:
<?php
class bd{
var $conect;
var $basededatos;
var $servidor;
var $usuario;
var $clave;
//Metodo de asignacion de valores
function bd(){
//instanciar las variables
$this->basededatos="antarum";
$this->servidor="127.0.0.1";
$this->usuario="root";
$this->clave="12345";
}
//Metodo para conectar
function conectar(){
if(!($con=@mysql_connect($this->servidor,$this->usuario,$this->clave))){
echo '<h1>Error al conectar al Servidor</h1>';
exit();
}
if(!@mysql_select_db($this->basededatos,$con)){
echo'<h1>Error al conectar con la base de datos</h1>';
exit();
}
$this->conect=$con;
return true;
}
//Metodo para cerrar la conexion
function desconectar(){
mysql_close();
}
}
?>
  #8 (permalink)  
Antiguo 08/03/2011, 09:25
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: ¿cómo guardar datos con un evento onload?

Que bonito, tienes una clase para la conexión a la base de datos... debes instanciar la clase y llamar el método conectar() para que se realice la conexión a la base de datos. Solo con hacer un require no te hará la conexión.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #9 (permalink)  
Antiguo 08/03/2011, 09:51
Avatar de avergaf  
Fecha de Ingreso: marzo-2011
Mensajes: 99
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: ¿cómo guardar datos con un evento onload?

weeenaaa!! funciono!!! jaja,muchisimas gracias!!!! :D

Etiquetas: onload, eventos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.