Foros del Web » Programando para Internet » PHP »

Trabajando con sesiones, estoy perdido!

Estas en el tema de Trabajando con sesiones, estoy perdido! en el foro de PHP en Foros del Web. Bueno, estoy llevando a cabo un panel, la idea es que cada usuario individual que se registre en la base de datos, tenga acceso al ...
  #1 (permalink)  
Antiguo 13/05/2006, 11:01
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Trabajando con sesiones, estoy perdido!

Bueno, estoy llevando a cabo un panel, la idea es que cada usuario individual que se registre en la base de datos, tenga acceso al mismo, donde pueda subir datos (texto,etc) ....

Lo que tengo:

Aqui busco el usuario en la bd:

Código:
<? 
	
include_once("conex.php");
$link=Conectarse(); 


if ($Accion=="Logon")
			{
			$q="select * from usuarios where nick='$nick' and password='$password'";
			$res=mysql_query($q,$link);
			$cant=mysql_affected_rows($link);
			if ($cant>0) {
						 session_name( 'admin' );
						 session_start();
						 $_SESSION["Admin"] = $nick;
						 session_write_close();
						 header('Location: ' ."panel.php");
						 } else{
						 	echo "<script>alert('Nombre de usuario o contraseña incorrecta, por favor intente nuevamente'); document.location.href='index.php';</script>\n";
							header('Location: ' ."index.php");
						 		}
			}
?>
<link href="css/mkn.css" rel="stylesheet" type="text/css">
<title><? echo "$NombredelSitio";?></title><table width="100%"  border="0" cellpadding="5" cellspacing="0">
  <tr>
    <td align="center" class="TaT">Panel de Gesti&oacute;n de &quot;<? echo "$NombredelSitio";?>&quot; </td>
  </tr>
  <tr>
    <td><p>&nbsp;</p>
      <form name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
        <table width="24%"  border="0" align="center" cellspacing="0">
          <tr align="center" valign="middle">
            <td colspan="2" class="TaT">Inicie Sesi&oacute;n </td>
          </tr>
          <tr bgcolor="#EBEBEB">
            <td width="34%" class="TaL"><span class="Texto2">&nbsp;&nbsp;</span><span class="Textoa12">Usuario:</span></td>
            <td width="66%" class="TaR"><input name="nick" type="text" class="Cuadrodetexto" id="nick"></td>
          </tr>
          <tr bgcolor="#EBEBEB">
            <td class="TaL"><span class="Texto2">&nbsp;&nbsp;</span><span class="Textoa12">Contrase&ntilde;a:</span></td>
            <td class="TaR"><input name="password" type="password" class="Cuadrodetexto" id="password"></td>
          </tr>
          <tr align="center" bgcolor="#EBEBEB">
            <td height="35" colspan="2" class="TaD"><input name="Submit" type="submit" class="Boton" value="Continuar">
            <input name="Accion" type="hidden" id="Accion" value="Logon"></td>
          </tr>
        </table>
      </form>      
      <p>&nbsp;</p></td>
  </tr>
</table>
El ses, para validar:

Código:
<?
ini_set(display_errors,0);
session_name( 'admin' );
session_start();
if (!isset($_SESSION["Admin"])){
			echo "<script>alert('Nombre de usuario o contraseña incorrecta, por favor intente nuevamente'); document.location.href='index.php';</script>\n";
			header('Location: ' ."index.php");
			}
?>
y por ejemplo ahora quiero crear el panel:

Código:
<?
include_once("ses.php");
include_once("conex.php");
?>


Supuestamente <? echo $_SESSION["Admin"];?> ha iniciado sesión
pero no tengo idea por donde arrancar....

Supongamos que quiera insertar un texto por usuario, como hago, que es lo conveniente?, insertar en las tablas de los usuarios, crear nuevas tablas??¿??¿?
  #2 (permalink)  
Antiguo 13/05/2006, 12:14
Avatar de ProgramadorMax  
Fecha de Ingreso: diciembre-2003
Ubicación: Ciudad de Mexico.
Mensajes: 47
Antigüedad: 14 años
Puntos: 0
Mensaje

Lo que necesitas:

1.- Suponiendo que manejes ids para identificar a el usuario que ha ingresado.

ejemplo :

Código PHP:
$_SESSION[ID] = $Consulta[idusuario]; //05 Paco 
2.- Realiza un formulario de ingreso de texto, para publicar. Puede contener Titulo y Texto, que son los mas comunes para empezar.
3.- En ese formulario configuralo para que envie todo a una tabla, que tenga la estructura de idusuario,titulo,texto,idusuario.
4.- Por cada ingreso de texto nuevo, guarda el $_SESSION[ID] del usuario en la tabla, para identificar quien escribio. Despues de eso puedes agregar mas cosas.
5.- Teniendo una variable de sesion que identifique al usuario, puedes configurar a que secciones puede ingresar, que cosas puede hacer, etc.
6.- Realiza un logout...para destruir la sesion.

Saludos.
__________________
Tonto es aquel que tiene el conocimiento y no sabe como usarlo...
Solo destripando creo mostruos de soluciones.
  #3 (permalink)  
Antiguo 13/05/2006, 14:09
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
Me puedes explicar el funcionamiento del codigo?

Código:
$_SESSION[ID] = $Consulta[idusuario]; //05 Paco
  #4 (permalink)  
Antiguo 13/05/2006, 15:13
 
Fecha de Ingreso: abril-2005
Ubicación: Ciudad de México
Mensajes: 50
Antigüedad: 12 años, 7 meses
Puntos: 2
$_SESSION[ID] = $Consulta[idusuario]; //05 Paco

Quiere decir que el valor de tu array $Consulta[idusuario] va a ser el valor de tu session $_SESSION[ID]

ahora primer debes de hacer session_start()
<?
session_start();
echo "$_SESSION[ID]";
?>
Ahora tambien veo que quieres hacer un login podrias hacer esto
<?
$q="select * from usuarios where nick = '$nick' ";
$query=mysql_query($q, $link);
$num=mysql_num_rows($query,$link)
if($num == 1) {//Verificamos que el usuario exista
$array=mysql_fetch_array($query, $link);
if($array['password'] != $password) {
echo "La contraseña es incorrecta";
}else {
$_SESSION[ID] = $array[id];
$_SESSION[usuario] = $array[usuario];
//Así creas tus sessiones
header("LOCATION: usuarios.php");
}
}
?>
usuarios.php
<?
session_start();
if($_SESSION[usuario]) {
echo "
Bienvenido $_SESSION[usuario]";

}else {
header("LOCATION: login.php");
}
?>

Espero que te sirva.
  #5 (permalink)  
Antiguo 14/05/2006, 00:24
 
Fecha de Ingreso: diciembre-2004
Ubicación: Cordoba - Argentina
Mensajes: 503
Antigüedad: 13 años
Puntos: 1
el loguin esta echo en el primer [code] si te fíjas, alguien podria poner un ejemplo con un formulario para insertar una palabra para la determinada id del usuario?

Saludos, gracias.
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 13:33.