Foros del Web » Programando para Internet » PHP »

Login muy basico

Estas en el tema de Login muy basico en el foro de PHP en Foros del Web. Hola a todos! Tengo un index donde solamente tiene que ingresar con un numero de legajo sin base de datos es una demo. SI no ...
  #1 (permalink)  
Antiguo 24/01/2011, 17:34
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 3
Login muy basico

Hola a todos!
Tengo un index donde solamente tiene que ingresar con un numero de legajo sin base de datos es una demo.
SI no ingresa nada muestra un mensaje ingrese legajo sino guarda la session y lo redirije al index.
Puede ingresar cualquier numero.
EL index es este:
Código PHP:
<?php 
        
        
if($_SESSION['legajo']){
        
echo 
'<div class="form"> ';
                echo 
'<h2>Bienvenido, legajo numero:' .$legajo.'</h2>';
                    echo 
'
        <ul>    
            <li class="listado"> 
             
                    <h4>Menu</h4>
               
            </li> 
    
            
    
            <li class="listado"> 
            <label>Nuevas compras</label>
                <div class="row"> 
              
                    <a href="compras.php" name="siguiente" class="button">Siguiente</a> 
                                    </div> 
                 
            </li> 
        
           
        </ul>    
    
</div> 
 '
;
                    
echo 
'</div>';
            }else{
            
?>
            
            <form action="login.php" method="post" enctype="multipart/form-data">
            
        
        &nbsp;
            <h1>Ingrese su numero de legajo:</h1><br />
            <?php $error ""?>
            <textarea id="write" name="legajo"rows="1" cols="1"></textarea>
    <ul id="keyboard">
        <li class="symbol"><span class="off">1</span></li>
        <li class="symbol"><span class="off">2</span></li>
        <li class="symbol"><span class="off">3</span></li>
        <li class="symbol"><span class="off">4</span></li>
        <li class="symbol"><span class="off">5</span></li>
        <li class="symbol"><span class="off">6</span></li>
        <li class="symbol"><span class="off">7</span></li>
        <li class="symbol"><span class="off">8</span></li>
        <li class="symbol"><span class="off">9</span></li>
        <li class="symbol"><span class="off">0</span></li>
        <li  class="delete lastitem">borrar</li>
    </ul>
    <br />
    <br />
    
    <br /> <br />
        <input type="submit" name="submit" value="Siguiente"/><br />
        
        
        </form>
    <?php
        
}
        
?>
Y login.php
Código PHP:
<?php

    session_start
();
    
$legajo "";
    
$legajo $_POST['legajo'];
    if(
$legajo == ""){
        echo 
'ingrese legajo';
    }else{
        
session_register('legajo');
        
$_SESSION['legajo'];
        
header("Location:index.php");
    }
?>
Nada mas tiene que ingresar numeros,es algo basico.
El problema es que cuando ingreso algun numero no me muestra la session con el numero que ingrese al ingresar con la sesion me muestra de nuevo el formulario de ingreso.
Quien pueda ayudarme se los agradezco mucho!
  #2 (permalink)  
Antiguo 24/01/2011, 17:44
 
Fecha de Ingreso: enero-2011
Ubicación: 127.0.0.1
Mensajes: 53
Antigüedad: 11 años, 10 meses
Puntos: 3
Respuesta: Login muy basico

Hola

Me parece que te falta un session_start(); al principio de tu index ya que sin el se pierden tus variables de sesion y es por eso que aunque hayas ingresado numero el valor se pierde y te vuelve a mostrar el login
  #3 (permalink)  
Antiguo 24/01/2011, 17:46
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Login muy basico

Hola ! gracias por la respuesta
pero si lo tengo al session_start();
me olvide de mostrarlo.
Gracias
  #4 (permalink)  
Antiguo 24/01/2011, 17:52
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 17 años, 6 meses
Puntos: 394
Respuesta: Login muy basico

segun creo debes almacenar la variable asi

$miVar = $_SESSION['legajo']

y despues

echo '<h2>Bienvenido, legajo numero:' .$miVar.'</h2>';

o

echo '<h2>Bienvenido, legajo numero:' .$_SESSION['legajo'].'</h2>';
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #5 (permalink)  
Antiguo 24/01/2011, 17:52
 
Fecha de Ingreso: enero-2011
Ubicación: 127.0.0.1
Mensajes: 53
Antigüedad: 11 años, 10 meses
Puntos: 3
Respuesta: Login muy basico

Que versión de php utilizas

Lo que pasa es que la funcion sesion_register() a partir de la versión 5.3, php ha dicho que no se utilice debido a que algunas veces falla, tal ves se deba a eso tu problema, intenta asignarla directamente

$_SESSION['legajo'] = $legajo;

Espero con eso se resuelva el problema
  #6 (permalink)  
Antiguo 24/01/2011, 18:15
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Login muy basico

utilizo php 5.3.0
me tira este error ahora:
Notice: Undefined index: legajo in C:\wamp\www\demo\index.php on line 411
La linea 411 es if($_SESSION['legajo']){
Saludos!
  #7 (permalink)  
Antiguo 24/01/2011, 18:21
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 17 años, 6 meses
Puntos: 394
Respuesta: Login muy basico

Cita:
Iniciado por ale_dla Ver Mensaje
utilizo php 5.3.0
me tira este error ahora:
Notice: Undefined index: legajo in C:\wamp\www\demo\index.php on line 411
La linea 411 es if($_SESSION['legajo']){
Saludos!
El error debe estar antes de esa linea amigo, postea el codigo... o sera porque el if no tiene ninguna condicion ? talvez si le colocaras

if(isset($_SESSION['legajo']))
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???

Última edición por jotaincubus; 24/01/2011 a las 18:25 Razón: mas información
  #8 (permalink)  
Antiguo 24/01/2011, 19:14
Avatar de ale_dla  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 189
Antigüedad: 13 años, 7 meses
Puntos: 3
Respuesta: Login muy basico

El codigo que tengo es esto:
index.php
Código PHP:
    <?php 
        session_start
();
        if(isset(
$_SESSION['legajo'])){
        
echo 
'<div class="agea_control"> ';
                echo 
'<h2>Bienvenido, legajo numero:'  .$_SESSION['legajo'].'</h2>';
                    echo 
'
        <ul>    
            <li class="listado"> 
             
                    <h4>Menu</h4>
               
            </li> 
    
            
    
            <li class="listado"> 
            <label>Nuevas compras</label>
                <div class="row"> 
              
                    <a href="compras.php" name="siguiente" class="button">Siguiente</a> 
                                    </div> 
                 
            </li> 
        
           
        </ul>    
    
</div> 
 '
;
                    
echo 
'</div>';
            }else{
            
?>
            
            <form action="login.php" method="post" enctype="multipart/form-data">
            
        
        &nbsp;
            <h1>Ingrese su numero de legajo:</h1><br />
            <?php $error ""?>
            <textarea id="write" name="legajo"rows="1" cols="1"></textarea>
    <ul id="keyboard">
        <li class="symbol"><span class="off">1</span></li>
        <li class="symbol"><span class="off">2</span></li>
        <li class="symbol"><span class="off">3</span></li>
        <li class="symbol"><span class="off">4</span></li>
        <li class="symbol"><span class="off">5</span></li>
        <li class="symbol"><span class="off">6</span></li>
        <li class="symbol"><span class="off">7</span></li>
        <li class="symbol"><span class="off">8</span></li>
        <li class="symbol"><span class="off">9</span></li>
        <li class="symbol"><span class="off">0</span></li>
        <li  class="delete lastitem">borrar</li>
    </ul>
    <br />
    <br />
    
    <br /> <br />
        <input type="submit" name="submit" value="Siguiente"/><br />
        
        
        </form>
    <?php
        
}
        
?>
Login.php
Código PHP:
<?php

    session_start
();
    
$legajo "";
    
$legajo $_POST['legajo'];
    if(
$legajo == ""){
        echo 
'ingrese legajo';
    }else{
        
        
$_SESSION['legajo'];
        
$miVar $_SESSION['legajo'];
        
        
header("Location:index.php");
    }
?>
Ahora el problema es que cuando ingreso me sigue saliendo el formulario de login.
Gracias por las respuestas!

Etiquetas: ingreso, login
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 05:00.