Foros del Web » Programando para Internet » PHP »

No toma [SESSION]

Estas en el tema de No toma [SESSION] en el foro de PHP en Foros del Web. Este es mi código que no entra. Código: <?php // llamada a archivo con clase de conexion a base de datos include("../../clases/class_bd.php"); //Conectar $link = ...
  #1 (permalink)  
Antiguo 11/03/2010, 07:23
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
No toma [SESSION]

Este es mi código que no entra.

Código:
<?php
// llamada a archivo con clase de conexion a base de datos
include("../../clases/class_bd.php");

//Conectar
$link = Conectarse();
//capturar datos del formulario
if(isset($_SESSION['admin'])){
	$rut= strtolower($_POST['rut']);
	$fecha=$_POST["fecha"];
	$passwd=$_POST["passwd"];
	$rpasswd=$_POST["rpasswd"];
	$fname= $_POST["fname"];
	$lname= $_POST["lname"];
	$dire=$_POST["dire"];
	$fono=$_POST["fono"];
	$celu=$_POST["celu"];
	$email=$_POST["email"];
	
	
	if($rut=="" || $passwd=="" || $rpasswd=="" || $fname=="" || $lname=="" || $dire=="" || $fono=="" || $celu=="" || $email==""){
		$err="0";
		header("Location: f_ingresar.php?error=$err");
		echo $rut;
		}else if($passwd != $rpasswd){
			$err="1";
			header("Location: f_ingresar.php?error=$err");
			echo $rut;
			}else{
				//ingresar registro a la BD
				//INSERT INTO nombre_tabla (campos de la tabla) VALUES (valores de los campos)
					//mysql_query("INSERT INTO empleado (rut, fecha, passwd, rpasswd, fname, lname, dire, fono, celu, email) VALUES ('$rut','$fecha', '$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')",$link);
				$err="2";		
				$sql = "INSERT INTO empleado (id_e,rut, fecha, passwd, rpasswd, fname, lname, dire, fono, celu, email) VALUES ('$rut','$fecha','$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')";
				mysql_query($sql,$link);
							 header("Location: f_ingresar.php?error=$err");
			}
			//print_r($_POST);
			//exit;
Y pense que al principio era problema de la BD.
Pero con la restricción de session que tienen todas los scripts
Código:
<?php
session_start();
if(!isset($_SESSION["admin"])){
	header("Location: ../index.php");
}else{

.....aqui va el codigo anterior

<?php } ?>
Me doy cuenta que es el script que no pasa.
Es decir se devuelve al index donde tengo el formulario. Pero no pasa session. Pego el index tb. (Este lo pasa sin problemas)

Código:
<?php
session_start();
if(!isset($_SESSION["admin"])){
	header("Location: ../index.php");
}else{
?>
<!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=utf-8" />
<title>Elementor|| Ingresar Personal</title>
<link href="../css/estructura.css" rel="stylesheet" type="text/css" />

<script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
</head>

<body>
<!-- CABECERA DEL SISTEMA -->
<div class="header"></div>

<!-- MENU DEL SISTEMA -->
<div class="menu">
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <li><a href="http://www.forosdelweb.com/f18/index.php">/Inicio</a></li>
    <li><a href="#">/Estadísticas</a></li>
     <li><a class="MenuBarItemSubmenu" href="#">/Personal</a>
       <ul>
         <li><a href="f_ingresar.php">&raquo; Agregar Personal</a></li>
         <li><a href="#">&raquo; Modificar Personal</a></li>
         <li><a href="#">&raquo; Eliminar Personal</a></li>
         <li><a href="#">&raquo; Buscar Personal</a></li>
       </ul>
    </li>
    <li><a class="MenuBarItemSubmenu" href="#">/Clientes</a>
       <ul>
         <li><a href="#">&raquo; Agregar Cliente</a></li>
         <li><a href="#">&raquo; Modificar Cliente</a></li>
         <li><a href="#">&raquo; Eliminar Cliente</a></li>
         <li><a href="#">&raquo; Buscar Cliente</a></li>
       </ul>
    </li>
     <li><a class="MenuBarItemSubmenu" href="#">/Ordenes</a>
       <ul>
         <li><a href="#">&raquo; Nueva Orden</a></li>
         <li><a href="#">&raquo; Eliminar Orden</a></li>
         <li><a href="#">&raquo; Orden Pendiente</a></li>
         <li><a href="#">&raquo; Buscar Orden</a></li>
       </ul>
    </li>
    <li><a href="#"><b>/Ayuda</b></a></li>
  </ul>
</div>

<!-- CUERPO DEL SISTEMA -->
<div class="cuerpo">
Para ingresar una nueva entidad "personal", porfavor rellene el formulario que a continuación se despliega.<br />
Después de ingresar un trabajador, podrá ingresar otros más en la misma ventana. Si han sido ingresados correctamente un mensaje será desplegado bajo la información. En caso que el sistema no responda correctamente, porfvor haga click en la pestaña de ayuda y pongase en contácto con el webmaster.<br /><br />
<form action="f_ingresar_con.php" method="post" name="empleado" id="empleado">
<table class="tab_form" widht="auto" border="0" cellspacing="1" cellpadding="0">
  <tr>
    <td>rut:</td>
    <td><input name="rut" type="text" id="rut" value="" /></td>
    <td>&nbsp;</td>
    <td><input readonly="readonly" name="fecha" type="hidden" id="fecha" size="25" value=<?php echo date("d/m/Y");?> /></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td>
      <input name="passwd" type="password" id="passwd" maxlength="12" />
    </td>
    <td>R.Passwd:</td>
    <td>
      <input name="rpasswd"  type="password" id="rpasswd" maxlength="12" onchange="comprobarClave();" />
    </td>
  </tr>
  <tr>
    <td>Nombre: </td>
    <td>
      <input name="fname" type="text" id="fname" maxlength="50" />
    </td>
    <td>Apellido:</td>
    <td><input name="lname" type="text" id="lname" maxlength="50" /></td>
  </tr>
  <tr>
    <td>Dirección:</td>
    <td colspan="3">
      <input name="dire" type="text" id="dire" size="57" maxlength="60" />
    </td>
    </tr>
  <tr>
    <td>Fono:</td>
    <td><input name="fono" type="text" id="fono" maxlength="7" /></td>
    <td>Celular:</td>
    <td><input name="celu" type="text" id="celu" maxlength="8" /></td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td colspan="3"><input name="email" type="text" id="email" size="57" maxlength="60" /></td>
    </tr>
  <tr>
    <td colspan="4">
      <div align="right">
        <input type="submit" name="submit" id="submit" value="Ingresar" />

        <input type="reset" name="reset" id="reset" value="Restablecer" />
        </div></td>
    </tr>
</table>
</form>
 <?php 
 $v=$_GET["error"];
 if($v=="0"){
   echo " 'No puede dejar campos vacíos' ";
   }else if($v=="1"){
   	echo " 'La Contraseña debe ser la misma en ambos campos' ";
	}else if ($v=="2"){
		echo " 'Los datos para el nuevo personal han sido ingresados correctamente' ";
		} 	
 ?>
</div>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:".SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
</html>
<?php
}
?>
  #2 (permalink)  
Antiguo 11/03/2010, 07:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: No toma [SESSION]

Vas a tener que verificar que $_SESSION["admin"] se está creando al hacer el login. Usa var_dump para detectar si se está creando correctamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/03/2010, 07:36
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por abimaelrc Ver Mensaje
Vas a tener que verificar que $_SESSION["admin"] se está creando al hacer el login. Usa var_dump para detectar si se está creando correctamente.

Me podrías explicar lo del var_dump? nunca lo he usado.

Actualizado: He solicionado el problema de Session. Pero el problema es que no logra ingresar a la BD. Un amigo que programa y hace muchas cosas, me dijo que los códigos están bien que el problema debe estar en la BD. pero ya la he armado de 0 varias veces y sigue sin ingresar ;S que podría ser ???

CONECTA BD:
Código:
<?php // Fichero con los datos de conexion a la BBDD
function Conectarse(){
						$db_host="127.0.0.1"; // Host al que conectar, habitualmente es el ‘localhost’
						$db_nombre="elementor"; // Nombre de la Base de Datos que se desea utilizar
						$db_user="userconpermiso"; // Nombre del usuario con permisos para acceder
						$db_pass="mipass"; // Contraseña de dicho usuario
					// Ahora estamos realizando una conexión y la llamamos ‘$link’
					$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos");
					
					
						// Seleccionamos la base de datos que nos interesa
						mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
						mysql_query ("SET NAMES 'utf8'");
						// Devolvemos $link para las consultas
						return $link;
					}

?>

Última edición por Elfeno; 11/03/2010 a las 07:47
  #4 (permalink)  
Antiguo 11/03/2010, 07:43
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

<?php
echo var_dump($mi_var);
?>
Puedes buscar en el manual más info (php.net)
  #5 (permalink)  
Antiguo 11/03/2010, 07:43
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: No toma [SESSION]

Lo primero que tienes que hacer es asegurarte que en todas las paginas que usan las sesiones este la linea
Código PHP:
Ver original 
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 11/03/2010, 07:50
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por abimaelrc Ver Mensaje
Lo primero que tienes que hacer es asegurarte que en todas las paginas que usan las sesiones este la linea
Código PHP:
Ver original 
Lo tienen TOdas! gracias por eso.

Pero estaba comparando códigos de otra bd que si ingresa y que fue creada de la misma forma :/. ENtonces no entienco porqué no logra ingresar. Lo he probado desde 4 navegadores diferentes.
  #7 (permalink)  
Antiguo 11/03/2010, 08:02
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

¿Y no te da ningún error de conex?
  #8 (permalink)  
Antiguo 11/03/2010, 08:12
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por eulloa Ver Mensaje
¿Y no te da ningún error de conex?
Nada de hecho Vuelve como que lo pasara pero no guarda en la BD, por eso les puse el scrip de conex más arriba y el codigo que guarda. porque en vdd ya he probado todo, he leido todo lo que he aprendido (que en vdd no es mucho) y me he esforzado por tratar de hacer la mayoría de la cosas solito ._. pero me supera esto xD así que por eso ando aquí :P

Eto me arroja el Mysql CUando lo exporto en esa tabla.

Código:
-- phpMyAdmin SQL Dump
-- version 3.2.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 11-03-2010 a las 10:16:51
-- Versión del servidor: 5.1.41
-- Versión de PHP: 5.3.1

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de datos: `elementor`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `empleado`
--

CREATE TABLE IF NOT EXISTS `empleado` (
  `id_e` int(4) NOT NULL AUTO_INCREMENT,
  `rut` varchar(9) COLLATE latin1_general_ci NOT NULL,
  `fecha` varchar(10) COLLATE latin1_general_ci NOT NULL,
  `passwd` varchar(12) COLLATE latin1_general_ci NOT NULL,
  `rpasswd` varchar(12) COLLATE latin1_general_ci NOT NULL,
  `fname` varchar(50) COLLATE latin1_general_ci NOT NULL,
  `lname` varchar(50) COLLATE latin1_general_ci NOT NULL,
  `dire` varchar(60) COLLATE latin1_general_ci NOT NULL,
  `fono` int(7) NOT NULL,
  `celu` int(8) NOT NULL,
  `email` varchar(60) COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`id_e`),
  UNIQUE KEY `rut` (`rut`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

--
-- Volcar la base de datos para la tabla `empleado`
--


/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  #9 (permalink)  
Antiguo 11/03/2010, 08:17
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

¿Y tu consulta donde está? Ahora q la busco no la veo.
  #10 (permalink)  
Antiguo 11/03/2010, 08:22
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por eulloa Ver Mensaje
¿Y tu consulta donde está? Ahora q la busco no la veo.
Para ? Al principio del POst ta el Archivo con l form, y dps el archivo que guarda.

De hecho ahora lo modifique. A ver dime que consulta >_< que no entendí :P

FORMULARIO QUE INGRESA
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['admin'])){
    
header("Location: ../index.php");
}else{
?>
<!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=utf-8" />
<title>Elementor|| Ingresar Personal</title>
<link href="../css/estructura.css" rel="stylesheet" type="text/css" />

<script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
</head>

<body>
<!-- CABECERA DEL SISTEMA -->
<div class="header"></div>

<!-- MENU DEL SISTEMA -->
<div class="menu">
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <li><a href="http://www.forosdelweb.com/f18/index.php">/Inicio</a></li>
    <li><a href="#">/Estadísticas</a></li>
     <li><a class="MenuBarItemSubmenu" href="#">/Personal</a>
       <ul>
         <li><a href="f_ingresar.php">&raquo; Agregar Personal</a></li>
         <li><a href="#">&raquo; Modificar Personal</a></li>
         <li><a href="#">&raquo; Eliminar Personal</a></li>
         <li><a href="#">&raquo; Buscar Personal</a></li>
       </ul>
    </li>
    <li><a class="MenuBarItemSubmenu" href="#">/Clientes</a>
       <ul>
         <li><a href="#">&raquo; Agregar Cliente</a></li>
         <li><a href="#">&raquo; Modificar Cliente</a></li>
         <li><a href="#">&raquo; Eliminar Cliente</a></li>
         <li><a href="#">&raquo; Buscar Cliente</a></li>
       </ul>
    </li>
     <li><a class="MenuBarItemSubmenu" href="#">/Ordenes</a>
       <ul>
         <li><a href="#">&raquo; Nueva Orden</a></li>
         <li><a href="#">&raquo; Eliminar Orden</a></li>
         <li><a href="#">&raquo; Orden Pendiente</a></li>
         <li><a href="#">&raquo; Buscar Orden</a></li>
       </ul>
    </li>
    <li><a href="#"><b>/Ayuda</b></a></li>
  </ul>
</div>

<!-- CUERPO DEL SISTEMA -->
<div class="cuerpo">
Para ingresar una nueva entidad "personal", porfavor rellene el formulario que a continuación se despliega.<br />
Después de ingresar un trabajador, podrá ingresar otros más en la misma ventana. Si han sido ingresados correctamente un mensaje será desplegado bajo la información. En caso que el sistema no responda correctamente, porfvor haga click en la pestaña de ayuda y pongase en contácto con el webmaster.<br /><br />
<form action="f_ingresar_con.php" method="post" name="empleado" id="empleado">
<table class="tab_form" widht="auto" border="0" cellspacing="1" cellpadding="0">
  <tr>
    <td>rut:</td>
    <td><input name="rut" type="text" id="rut" value="" /></td>
    <td>&nbsp;</td>
    <td><input readonly="readonly" name="fecha" type="hidden" id="fecha" size="25" value=<?php echo date("d/m/Y");?> /></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td>
      <input name="passwd" type="password" id="passwd" maxlength="12" />
    </td>
    <td>R.Passwd:</td>
    <td>
      <input name="rpasswd"  type="password" id="rpasswd" maxlength="12" onchange="comprobarClave();" />
    </td>
  </tr>
  <tr>
    <td>Nombre: </td>
    <td>
      <input name="fname" type="text" id="fname" maxlength="50" />
    </td>
    <td>Apellido:</td>
    <td><input name="lname" type="text" id="lname" maxlength="50" /></td>
  </tr>
  <tr>
    <td>Dirección:</td>
    <td colspan="3">
      <input name="dire" type="text" id="dire" size="57" maxlength="60" />
    </td>
    </tr>
  <tr>
    <td>Fono:</td>
    <td><input name="fono" type="text" id="fono" maxlength="7" /></td>
    <td>Celular:</td>
    <td><input name="celu" type="text" id="celu" maxlength="8" /></td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td colspan="3"><input name="email" type="text" id="email" size="57" maxlength="60" /></td>
    </tr>
  <tr>
    <td colspan="4">
      <div align="right">
        <input type="submit" name="submit" id="submit" value="Ingresar" />

        <input type="reset" name="reset" id="reset" value="Restablecer" />
        </div></td>
    </tr>
</table>
</form>
 <?php 
 $v
=$_GET["error"];
 if(
$v=="0"){
   echo 
" 'No puede dejar campos vacíos' ";
   }else if(
$v=="3"){
       echo 
" 'La Contraseña debe ser la misma en ambos campos' ";
    }else if (
$v=="2"){
        echo 
" 'Los datos para el nuevo personal han sido ingresados correctamente' ";
        }     
 
?>
</div>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:".SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
</html>
<?php
}
?>
CODIGO QUE INGRESA A LA BD
Código PHP:

<?php
session_start
();
if(!isset(
$_SESSION['admin'])){
    
header("Location: ../../error.php");
}else{
?>
<?php
// llamada a archivo con clase de conexion a base de datos
include("../../clases/class_bd.php");

//Conectar
$link Conectarse();
//capturar datos del formulario
if(isset($_SESSION["admin"])){
    
$rutstrtolower($_POST['rut']);
    
$fecha=$_POST["fecha"];
    
$passwd=$_POST["passwd"];
    
$rpasswd=$_POST["rpasswd"];
    
$fname$_POST["fname"];
    
$lname$_POST["lname"];
    
$dire=$_POST["dire"];
    
$fono=$_POST["fono"];
    
$celu=$_POST["celu"];
    
$email=$_POST["email"];
    
    
    if(empty(
$rut) || empty($passwd) || empty($rpasswd) || empty($fname) || empty($lname) || empty($dire) || empty($fono) || empty($celu) || empty($email)){
        
$err="0";
        
header("Location: f_ingresar.php?error=$err");
        echo 
$rut;
        }else if(
$passwd != $rpasswd){
            
$err="3";
            
header("Location: f_ingresar.php?error=$err");
            echo 
$rut;
            }else{
                
//ingresar registro a la BD
                //INSERT INTO nombre_tabla (campos de la tabla) VALUES (valores de los campos)
                    
mysql_query("INSERT INTO empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES ('$rut','$fecha', '$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')",$link);
                
$err="2";        
                
//$sql = "INSERT INTO empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES ('$rut','$fecha','$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')";
                //mysql_query($sql,$link);
                             
header("Location: f_ingresar.php?error=$err");
            }
            
//print_r($_POST);
            //exit;
}else { echo "Falla la SESSION!";}    
?>
<?php 
?>
CONECTA
Código PHP:
<?php // Fichero con los datos de conexion a la BBDD
function Conectarse(){
                        
$db_host="127.0.0.1"// Host al que conectar, habitualmente es el ‘localhost’
                        
$db_nombre="elementor"// Nombre de la Base de Datos que se desea utilizar
                        
$db_user="usuario"// Nombre del usuario con permisos para acceder
                        
$db_pass="pass"// Contraseña de dicho usuario
                    // Ahora estamos realizando una conexión y la llamamos ‘$link’
                    
$link=mysql_connect($db_host$db_user$db_pass) or die ("Error conectando a la base de datos");
                    
                    
                        
// Seleccionamos la base de datos que nos interesa
                        
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
                        
mysql_query ("SET NAMES 'utf8'");
                        
// Devolvemos $link para las consultas
                        
return $link;
                    }

?>
  #11 (permalink)  
Antiguo 11/03/2010, 08:26
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

Si tienes el display errors de PHP deshabilitado y la consulta falla no te vas a enterar. Prueba a ponerle un or die a la consulta también
  #12 (permalink)  
Antiguo 11/03/2010, 08:33
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por eulloa Ver Mensaje
Si tienes el display errors de PHP deshabilitado y la consulta falla no te vas a enterar. Prueba a ponerle un or die a la consulta también
eso em arroja el error siempre es lo único:

Cita:
[Thu Mar 11 11:22:26 2010] [error] [client 127.0.0.1] File does not exist: C:/xampp/htdocs/elementor/admin/insert/.SpryAssets, referer: http://localhost/elementor/admin/insert/f_ingresar.php?error=2
[Thu Mar 11 11:22:26 2010] [error] [client 127.0.0.1] File does not exist: C:/xampp/htdocs/favicon.ico
m dirías como o en que parte poner lo del or ? que no entendí mucho eso.
Muchas gracias por sus respuestas de antemano.
  #13 (permalink)  
Antiguo 11/03/2010, 08:41
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

Pero esto no son errores de la consulta, sino de files q estás intentando levantar y no están o están mal referenciados desde tu script.
Lo de la consulta sería
Código PHP:
Ver original
  1. mysql_query("INSERT INTO empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES ('$rut','$fecha', '$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')",$link) or die ("Error en la consulta");

¿Estás seguro q llega hasta la consulta?
  #14 (permalink)  
Antiguo 11/03/2010, 08:47
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por eulloa Ver Mensaje
Pero esto no son errores de la consulta, sino de files q estás intentando levantar y no están o están mal referenciados desde tu script.
Lo de la consulta sería
Código PHP:
Ver original
  1. mysql_query("INSERT INTO empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES ('$rut','$fecha', '$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')",$link) or die ("Error en la consulta");

¿Estás seguro q llega hasta la consulta?
Sip me saltó error en la consulta efectivamente.! Gracias. tendré que ver que es lo que está mal :/

Actualizado: SIgo probando y no hay caso T___T

Última edición por Elfeno; 11/03/2010 a las 09:07
  #15 (permalink)  
Antiguo 11/03/2010, 10:24
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Error Consulta. Me ayudan?

Hace poco tenía un problema con el session que no lo tomaba y me dieron la solución. Resulto que el error está en la consulta.

Conex BD
Código PHP:
<?php // Fichero con los datos de conexion a la BBDD
function Conectarse(){
3 $db_host="localhost"// Host al que conectar, habitualmente es el ‘localhost’
4 $db_nombre="elementor"// Nombre de la Base de Datos que se desea utilizar
5 $db_user="root"// Nombre del usuario con permisos para acceder
6 $db_pass="lancelot"// Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos ‘$link’
8 $link=mysql_connect($db_host$db_user$db_pass) or die ("Error conectando a la base de
datos 1"
);
9
10
11 
// Seleccionamos la base de datos que nos interesa
12 mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos 2.");
13 mysql_query ("SET NAMES 'utf8'");
14 // Devolvemos $link para las consultas
15 return $link;
16 }
17
18 ?>
FOrmulario que ingresa
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['admin'])){
    
header("Location: ../index.php");
}else{
?>
<!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=utf-8" />
<title>Elementor|| Ingresar Personal</title>
<link href="../css/estructura.css" rel="stylesheet" type="text/css" />

<script src="../SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryMenuBarHorizontal.css" rel="stylesheet" type="text/css" />
</head>

<body>
<!-- CABECERA DEL SISTEMA -->
<div class="header"></div>

<!-- MENU DEL SISTEMA -->
<div class="menu">
  <ul id="MenuBar1" class="MenuBarHorizontal">
    <li><a href="../index.php">/Inicio</a></li>
    <li><a href="#">/Estadísticas</a></li>
     <li><a class="MenuBarItemSubmenu" href="#">/Personal</a>
       <ul>
         <li><a href="f_ingresar.php">&raquo; Agregar Personal</a></li>
         <li><a href="#">&raquo; Modificar Personal</a></li>
         <li><a href="#">&raquo; Eliminar Personal</a></li>
         <li><a href="#">&raquo; Buscar Personal</a></li>
       </ul>
    </li>
    <li><a class="MenuBarItemSubmenu" href="#">/Clientes</a>
       <ul>
         <li><a href="#">&raquo; Agregar Cliente</a></li>
         <li><a href="#">&raquo; Modificar Cliente</a></li>
         <li><a href="#">&raquo; Eliminar Cliente</a></li>
         <li><a href="#">&raquo; Buscar Cliente</a></li>
       </ul>
    </li>
     <li><a class="MenuBarItemSubmenu" href="#">/Ordenes</a>
       <ul>
         <li><a href="#">&raquo; Nueva Orden</a></li>
         <li><a href="#">&raquo; Eliminar Orden</a></li>
         <li><a href="#">&raquo; Orden Pendiente</a></li>
         <li><a href="#">&raquo; Buscar Orden</a></li>
       </ul>
    </li>
    <li><a href="#"><b>/Ayuda</b></a></li>
  </ul>
</div>

<!-- CUERPO DEL SISTEMA -->
<div class="cuerpo">
Para ingresar una nueva entidad "personal", porfavor rellene el formulario que a continuación se despliega.<br />
Después de ingresar un trabajador, podrá ingresar otros más en la misma ventana. Si han sido ingresados correctamente un mensaje será desplegado bajo la información. En caso que el sistema no responda correctamente, porfvor haga click en la pestaña de ayuda y pongase en contácto con el webmaster.<br /><br />
<form action="f_ingresar_con.php" method="post" name="emp" id="emp">
<table class="tab_form" widht="auto" border="0" cellspacing="1" cellpadding="0">
  <tr>
    <td>rut:</td>
    <td><input name="rut" type="text" id="rut" value="" maxlength="9" /></td>
    <td>&nbsp;</td>
    <td><input readonly="readonly" name="fecha" type="hidden" id="fecha" size="25" value=<?php echo date("d/m/Y");?> /></td>
  </tr>
  <tr>
    <td>Password:</td>
    <td>
      <input name="passwd" type="password" id="passwd" maxlength="12" />
    </td>
    <td>R.Passwd:</td>
    <td>
      <input name="rpasswd"  type="password" id="rpasswd" maxlength="12" onchange="comprobarClave();" />
    </td>
  </tr>
  <tr>
    <td>Nombre: </td>
    <td>
      <input name="fname" type="text" id="fname" maxlength="50" />
    </td>
    <td>Apellido:</td>
    <td><input name="lname" type="text" id="lname" maxlength="50" /></td>
  </tr>
  <tr>
    <td>Dirección:</td>
    <td colspan="3">
      <input name="dire" type="text" id="dire" size="57" maxlength="60" />
    </td>
    </tr>
  <tr>
    <td>Fono:</td>
    <td><input name="fono" type="text" id="fono" maxlength="7" /></td>
    <td>Celular:</td>
    <td><input name="celu" type="text" id="celu" maxlength="8" /></td>
  </tr>
  <tr>
    <td>E-mail:</td>
    <td colspan="3"><input name="email" type="text" id="email" size="57" maxlength="60" /></td>
    </tr>
  <tr>
    <td colspan="4">
      <div align="right">
        <input type="submit" name="submit" id="submit" value="Ingresar" />

        <input type="reset" name="reset" id="reset" value="Restablecer" />
        </div></td>
    </tr>
</table>
</form>
 <?php 
 $v
=$_GET["error"];
 if(
$v=="0"){
   echo 
" 'No puede dejar campos vacíos' ";
   }else if(
$v=="3"){
       echo 
" 'La Contraseña debe ser la misma en ambos campos' ";
    }else if (
$v=="2"){
        echo 
" 'Los datos para el nuevo personal han sido ingresados correctamente' ";
        }     
 
?>
</div>
<script type="text/javascript">
<!--
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgDown:"SpryAssets/SpryMenuBarDownHover.gif", imgRight:".SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
</html>
<?php
}
?>
Script que COnfirma y termina de ingresar al usuario. el error está debajo de $alf (en el querey).
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['admin'])){
    
header("Location: ../../error.php");
}else{
?>
<?php
// llamada a archivo con clase de conexion a base de datos
include("../../clases/class_bd.php");
// TEST: include("../../clases/class_bd2.php");

//Conectar
$link Conectarse();
// TEST : $link=connect();
//capturar datos del formulario
if(isset($_SESSION['admin'])){
    
$rutstrtolower($_POST['rut']);
    
$fecha=$_POST["fecha"];
    
$passwd=$_POST["passwd"];
    
$rpasswd=$_POST["rpasswd"];
    
$fname$_POST["fname"];
    
$lname$_POST["lname"];
    
$dire=$_POST["dire"];
    
$fono=$_POST["fono"];
    
$celu=$_POST["celu"];
    
$email=$_POST["email"];
    
    
    if(empty(
$rut) || empty($passwd) || empty($rpasswd) || empty($fname) || empty($lname) || empty($dire) || empty($fono) || empty($celu) || empty($email)){
        
$err="0";
        
header("Location: f_ingresar.php?error=$err");
        echo 
$rut;
        }else if(
$passwd != $rpasswd){
            
$err="3";
            
header("Location: f_ingresar.php?error=$err");
            echo 
$rut;
            }else{
                
//ingresar registro a la BD
                //INSERT INTO nombre_tabla (campos de la tabla) VALUES (valores de los campos)
                //mysql_query("INSERT INTO empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES ('$rut','$fecha', '$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')",$link);
                
                
$alf="insert into empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES('$rut','$fecha','$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')";
                
mysql_query($alf,$link)  or die ("Error en la consulta");
                
$err="2";
                
header("Location: f_ingresar.php?error=$err");
            }
            
//print_r($_POST);
            //exit;
}else { echo "Falla la SESSION!";}    
?>
<?php 
?>
Bueno a ver si alguien puede detectar el error porque estoy hace un buen par de horas :7 y no lo logro.
  #16 (permalink)  
Antiguo 11/03/2010, 10:34
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error Consulta. Me ayudan?

Primero, no dices donde está el error, no somos adivinos para poder indicarte. Lo segundo te sugiero que uses las funcion mysql_error y que actives los errores en el php.ini para que puedas ver los errores.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #17 (permalink)  
Antiguo 11/03/2010, 10:41
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Error Consulta. Me ayudan?

¿Q ya no habías iniciado un post de esto?
Pon el error
  #18 (permalink)  
Antiguo 11/03/2010, 10:43
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Error Consulta. Me ayudan?

Cita:
Iniciado por abimaelrc Ver Mensaje
Primero, no dices donde está el error, no somos adivinos para poder indicarte. Lo segundo te sugiero que uses las funcion mysql_error y que actives los errores en el php.ini para que puedas ver los errores.
De hecho si dice, que esta debajo de alf: sería esta consulta. me va a "ERROR EN LA CONSULTA" (tonces no se si el error es de esa consulta o de la conexion).

Código PHP:
$alf="insert into empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES('$rut','$fecha','$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')";
                
mysql_query($alf,$link)  or die ("Error en la consulta");
                
$err="2";
                
header("Location: f_ingresar.php?error=$err"); 

y esto me sale el log de errors! (siempre me sale y no hay otros errores)
Código PHP:
[Thu Mar 11 13:14:48 2010] [error] [client 127.0.0.1File does not existC:/xampp/htdocs/elementor/admin/insert/.SpryAssetsrefererhttp://localhost/elementor/admin/insert/f_ingresar.php 
  #19 (permalink)  
Antiguo 11/03/2010, 10:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Error Consulta. Me ayudan?

Como te indique, usa la funcion mysql_error en vez de indicar un mensaje. Y el error te dice que el archivo que te indica no existe. Mira a ver si existe ese archivo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #20 (permalink)  
Antiguo 11/03/2010, 10:47
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Error Consulta. Me ayudan?

usa los errores de mysql
Código PHP:
Ver original
  1. mysql_query($alf,$link)  or die ('Error en la consulta'.mysql_error());
por otro lado error indica que el archivo f_ingresar.php no existe en la ruta localhost/elementor/admin/insert/
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #21 (permalink)  
Antiguo 11/03/2010, 11:03
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: Error Consulta. Me ayudan?

Cita:
Iniciado por Elfeno Ver Mensaje
Código PHP:
$alf="insert into empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES('$rut','$fecha','$passwd','$rpasswd','$fname','$lname''$dire','$fono','$celu','$email')";
                
mysql_query($alf,$link)  or die ("Error en la consulta"); 
Ya este error de la consulta solo tu lo puedes arreglar ¿están bien los campos?, haz lo que te dicen arriba, pon un mysql_error para tener mejor idea

Cita:
Iniciado por Elfeno Ver Mensaje
y esto me sale el log de errors! (siempre me sale y no hay otros errores)
Código PHP:
[Thu Mar 11 13:14:48 2010] [error] [client 127.0.0.1File does not existC:/xampp/htdocs/elementor/admin/insert/.SpryAssetsrefererhttp://localhost/elementor/admin/insert/f_ingresar.php 
Mismo, el file .SpryAssets, que intentas levantar desde f_ingresar.php
  #22 (permalink)  
Antiguo 11/03/2010, 11:10
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Error Consulta. Me ayudan?

Cita:
Iniciado por eits Ver Mensaje
usa los errores de mysql
Código PHP:
Ver original
  1. mysql_query($alf,$link)  or die ('Error en la consulta'.mysql_error());
por otro lado error indica que el archivo f_ingresar.php no existe en la ruta localhost/elementor/admin/insert/
saludos.
Ok perodn por lo de los errores, que como lo indiqué soy nuevo y me ha costado bastante realizar todo lo que tengo.

La ruta que indica :


Luego asumo que el error del .spry... es por un Spry de Dreamweaver, pero siempre que los uso me ha salido ese error, incluso antes de tener f_ingresar_con.php. (creo que es del Jscript del Spry pero no debería ahcer problema) [ --<<< EL ERROR SPRY SOLUCIONADO ]

Ahora con el error de mysql me indica esto
Cita:
Error en la consulta ||Column count doesn't match value count at row 1
Leí este post: http://www.forosdelweb.com/f86/ayuda-column-count-doesnt-match-value-count-row-1-a-505599/
Pero aún así no logro resolver el drama :/ esto son los campos



Perdon por moletar tanto u,u pero que leo y leo y me cuesta un poco >_<

Última edición por Elfeno; 11/03/2010 a las 11:18
  #23 (permalink)  
Antiguo 11/03/2010, 11:32
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: No toma [SESSION]

Código PHP:
...,'$fname','$lname''$dire','$fono',... 
  #24 (permalink)  
Antiguo 11/03/2010, 11:33
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: No toma [SESSION]

imprime tu consulta y asegurate que todos los campos sean los correctos y sus valores igual
Código PHP:
Ver original
  1. echo $alf="insert into empleado (rut,fecha,passwd,rpasswd,fname,lname,dire,fono,celu,email) VALUES('$rut','$fecha','$passwd','$rpasswd','$fname','$lname','$dire','$fono','$celu','$email')";
el problema es que una columna no coincide.

saludos.

edito: cierto, no me habia dado cuenta de la coma que hace falta.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #25 (permalink)  
Antiguo 11/03/2010, 11:38
 
Fecha de Ingreso: enero-2009
Mensajes: 25
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: No toma [SESSION]

Cita:
Iniciado por darkasecas Ver Mensaje
Código PHP:
...,'$fname','$lname''$dire','$fono',... 
SOLUCIONADO!!!
Mil gracias, uso Lentes y no vehía eso:/

De vdd Gracias a todos los que me ayudaron, aprendi además a usar un apr de funciones adicionales
  #26 (permalink)  
Antiguo 11/03/2010, 13:39
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 17 años, 1 mes
Puntos: 5
Respuesta: No toma [SESSION]

Cita:
Iniciado por Elfeno Ver Mensaje
SOLUCIONADO!!!
Mil gracias, uso Lentes y no vehía eso:/
Esto es broma ¿verdad?

Etiquetas: session
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 21:26.