[FONT=""]Hola que tal!!! necesito su ayuda, pues tengo un problema para insertar algunos datos desde un formulario.
tengo los siguientes archivos
formulario.htm
<form action="insertar1.php" method="POST">
<table align="center%" width="100%" cellpadding=".5" border=".5">
<tr>
<td>Registro de Asistencia:</td>
<td></td>
<td></td>
<td>Usuario: <input type="text" name="pass"><br></td>
</tr>
<tr>
<table align="center%" width="100%" cellpadding=".5" border=".5">
<td>
<select multiple size="5" name="evento">
<option value="entrada">Entrada</option>
<option value="salidaComer">Salida a Comer</option>
<option value="regresoComer">Entrada de Comer</option>
<option value="salida">Salida</option>
</select>
</td>
<td><input type="submit" value="Registrar Asistencia" ></td>
</tr>
</table>
</form>
//************************************************** **
insertar.php
<link href="../../mmus/css/2col_rightNav.css" rel="stylesheet" type="text/css" />
<?php
foreach ($_POST as $n=>$v)
echo "<br>$n=$v";
include("index.php");
$pass=$_POST["pass"];
//*********************************** Guardo el tipo de registro de la asistencia **********************************
$evento=$_POST['evento'];// =array()));
if(isset($_POST['entrada']))
ARRAY_PUSH($evento,$_POST['entrada']);
if(isset($_POST['salidaComer']))
ARRAY_PUSH($evento,$_POST['salidaComer']);
if(isset($_POST['entradaComer']))
ARRAY_PUSH($evento,$_POST['entradaComer']);
if(isset($_POST['salida']))
ARRAY_PUSH($evento,$_POST['salida']);
mysql_query($sql)
;
//**************************************** Guardamos la fecha *********************************************
$fecha= date("Y-d-m H:i:s");
//*****************************Guardamos la IP de la PC donde se registró la entrada**********************
if (getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
//*****************************Coloco la función para ingresar los datos registrados del evento**********
ponerAsistencia($pass,$evento,$fecha,$ip);
function ponerAsistencia($pass,$evento,$fecha,$ip)
//************************Realizo la consulta de los usuarios de acuerdo a su contraseña******************
{
$index=conexion();
echo $sq1= "select * from usuarios where pass='$pass'";
//*************Verifico que la consulta sea verdadera, pues si es falsa envia error de consulta*********
$result=mysql_query($sq1);
if($result!=false){
if(mysql_numrows($result)>0){
$row=mysql_fetch_array($result);
$usuarios_id=$row['id'];
echo $sql = "INSERT INTO asistencia1 (usuarios_id,evento,fecha,ip) values ($usuarios_id,'$evento','$fecha','$ip')";
$result=mysql_query($sql);
if($result==false)
echo "<br>hubo un error al hacer la inserción de asistencia";
else
echo "<br>hora registrada: <b>'$'";
cerrarconexion($index);
}
else
echo "<br>no coinside o no está registrada la contraseña";
}
else{
echo "<br>hubo un error al hacer la consulta de la contraseña ó <br>posiblemente no existe la base de datos o las tablas estan mal dirigidas" .mysql_error();
}
}
//*******************************Conexión con la DB************************************************ **********
function conexion ()
{
$dbConex = mysql_connect("localhost","root","sistemare");
if (! $dbConex)
{
echo "Imposible Conectar";
exit;
}
if(!mysql_select_db("empleados", $dbConex))
echo "Imposible Conectar con la base";
return $dbConex;
}
function cerrarconexion ($dbConex) {
mysql_close($dbConex);
}
?>
El problema es que no me hace el registro en la base de datos. Estas son mis tablas:
De ante mano gracias por su ayuda.
CREATE TABLE `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nick` varchar(8) NOT NULL,
`nombre` varchar(60) NOT NULL,
`pass` varchar(35) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
CREATE TABLE `asistencia1` (
`usuarios_id` int(11) NOT NULL AUTO_INCREMENT,
`evento` varchar(64) NOT NULL,
`fecha` datetime NOT NULL,
`ip` varchar(15) NOT NULL,
KEY `usuarios_id` (`usuarios_id`),
CONSTRAINT `asistencia_ibfk_1` FOREIGN KEY (`usuarios_id`) REFERENCES `usuarios` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
[/FONT]