Foros del Web » Programando para Internet » PHP »

inicio de sesion con php

Estas en el tema de inicio de sesion con php en el foro de PHP en Foros del Web. Hola que tal buenas noches a todos, Necesito su ayuda con un codigo ya que deseo implementar un inicio de sesion en mi pagina web, ...
  #1 (permalink)  
Antiguo 04/07/2012, 00:23
Avatar de alrf1809  
Fecha de Ingreso: junio-2011
Ubicación: caracas
Mensajes: 40
Antigüedad: 13 años, 6 meses
Puntos: 0
Pregunta inicio de sesion con php

Hola que tal buenas noches a todos,

Necesito su ayuda con un codigo ya que deseo implementar un inicio de sesion en mi pagina web, podrian facilitarme un codigo php que me permita realizar esa operacion?

1-tengo mi base de dato en phpMyAdmin
2-La tabla usuario y los usuarios ya registrados respectivamente
3-el html listo para el inicio de sesion
Cita:
<html>

<head>
<script language="javascript" type="Text/javascript">
function valida(sesion){

if(sesion.ficha.value == ''){
alert('Por Favor ingrese un numero de ficha valido');
sesion.ficha.focus();
return false;
}

if(sesion.contraseña.value == ''){
alert('Ingrese una contraseña valida');
sesion.contraseña.focus();
return false;
}

return true;
}
</script>
</head>

<body bgcolor='yellow'>
<img src='img/fotohome-3.jpg' align='center'>
<form name='sesion' action="index.php" method="post" enctype="text/plain" onsubmit="return valida(this)">
<table bgcolor='yellow' border='0' align='center' colspan='2' >
<tr colspan='2'>
<td width='400' colspan='2'>
<h3 align='center'>Inicio de Sesion</h3>
</td>
</tr>

<tr>
<td width='50%'>
<p align='center'> <font color='00A3C2'>Ficha</p>
</td>
<td width='50%'>
<input type="int" name='numficha'>
</td>
</tr>

<tr>
<td width='50%'>
<p align='center'> <font color='00A3C2'>Contraseña</p>
</td>
<td width='50%'>
<input type="password" name='contraseña'>
</td>
</tr>

<tr>
<td colspan='2'>
<p align='center'>
<input type="submit" value="Entrar">
<input type="reset" value="Borrar">
</p>
</td>
</tr>
</table>
</form>
</body>

</html>
Ahora solo me falta el codigo php para validar el usuario que ingrese en mi html con la respectiva tabla y atributos que poseo en phpMyAdmin. He conseguido algunos codigos pero los veo con defectos y de verdad que no soy muy experto con php.

estare muy agradecido de antemano
Saludo!!
  #2 (permalink)  
Antiguo 04/07/2012, 01:15
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 15 años, 1 mes
Puntos: 168
Respuesta: inicio de sesion con php

Hola, aqui no hacemos codigo por nadie, eso es lo 1ero.
Deberias arrancar vos primero y nosotros te damos el empujon.
Sobre sessiones en php hay millones de articulos.
http://www.desarrolloweb.com/articulos/320.php

Lee eso.
  #3 (permalink)  
Antiguo 04/07/2012, 01:30
 
Fecha de Ingreso: septiembre-2010
Ubicación: /home/
Mensajes: 103
Antigüedad: 14 años, 3 meses
Puntos: 17
Respuesta: inicio de sesion con php

Hola

primero crea un archivo para guardar los datos de conexión a tu Base de datos.
en este caso conn.php
Código PHP:
 
luego crea un archivo, llamado index.php por ejemplo, con un formulario de validacion:
Código PHP:
<?php
include("conn.php");
session_start();
$_SESSION['acces_ok'] = 0;
$ok=0;
if (isset(
$_GET['doo']) && $_GET['doo']=='login') {

    
$usuario   $_POST['username'];
    
$password md5($_POST['password']); // yo me guardo los password encriptados en md5, pero eso cada uno...
    // ----------------

// -- SQL a tu tabla de usuario para ver si existe o no ese usuario
    
$sql "SELECT * FROM usuarios WHERE usuario='".$usuario."' and pass='".$password."'";

    
$resultado mysql_query($sql);

// -- si existe redirijo a la home.php y aparte me guardo en una variable de sesión los campos del usuario, por si me apetece usarlas para algo, como mostrar su nombre, saber su nivel de acceso para un menú u otro...  o cosas por el estilo.
    
if (mysql_num_rows($resultado)>0) {
        
$_SESSION['acces_ok'] = 1;
        
$_SESSION['dato_usuario'] = mysql_fetch_assoc($resultado);
        
$_SESSION['usuario']   = $usuario;
        
$_SESSION['pass']     = $password;

        
Header("Location: home.php");

    } else {
        
$ok 2;
    }
}
?>
 <form name="login_form" method="post" action="index.php?doo=login" style="overflow: hidden;">
            <ul>
                <li><label>Usuario</label><input type="text" name="username" /></li>
                <li><label>Password</label><input type="password" name="password" /></li>
                <li><button type="submit">Enviar</button></li>
            </ul>
        </form>
y en la home.php

Código PHP:
<?php
session_cache_expire
(50);
session_start();
if (
$_SESSION['acces_ok'] == 0) {
    
Header("Location: index.php");
}
echo 
"Hola, estoy dentro";
?<
esto es lo básico, a partir de aquí complica te lo que quieras.

saludos
  #4 (permalink)  
Antiguo 04/07/2012, 01:32
Avatar de alrf1809  
Fecha de Ingreso: junio-2011
Ubicación: caracas
Mensajes: 40
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: inicio de sesion con php

Cita:
Iniciado por rodrigo791 Ver Mensaje
Hola, aqui no hacemos codigo por nadie, eso es lo 1ero.
Deberias arrancar vos primero y nosotros te damos el empujon.
Sobre sessiones en php hay millones de articulos.
[url]http://www.desarrolloweb.com/articulos/320.php[/url]

Lee eso.
Gracias Rodrigo, eso estaba haciendo mientras.. ya he conseguido algo de ayuda y unos codigos precisos para realizar lo que quiero pero no entiendo cual sea el error. mi codigo html ya lo mostre anteriormente y ahora muestro el .php

Cita:
<?
$con=mysql_connect("localhost","root") or die (mysql_error());
$bd=mysql_select_db("epa") or die (mysql_error());
$res=mysql_query("select * from USUARIO where ficha_usuario='".$_POST[ficha_usuario]."'",%con);
$row=mysql_fetch_row($res);

if(!$row)
{
mysql_close($con);
echo 'Lo Sentimos, pero el usuario "'.$_POST[ficha_usuario].'no existe.';
echo 'Volver al inicio de sesion <a href="index.html">ahora.</a>';
die();
}
$clave1=$row[6];
if(!($_POST[$contraseña_usuario]==$clave1))
{
mysql_close($con);
echo 'Lo sentimos pero la contraseña NO ES VALIDA';
echo 'Volver a la pagina principal <a href="index.html">ahora</a>';
die();
}
echo 'Bienvenido, acaba de iniciar sesion'.$row[1]'. Presione <a href="principal.html>Aqui</a> para redireccionar';
mysql_close($con);
?>
Si me darias una mano te lo agradeceria !!
  #5 (permalink)  
Antiguo 04/07/2012, 01:35
 
Fecha de Ingreso: septiembre-2010
Ubicación: /home/
Mensajes: 103
Antigüedad: 14 años, 3 meses
Puntos: 17
Respuesta: inicio de sesion con php

me dejé el archivo de conexión pero al escribir no me dejó editarlo XD

Código PHP:
<?php
    $conn 
mysql_connect("localhost","usuario","password") or die("Error en la conexión con el Servidor.");
    
mysql_select_db("base_de_datos",$conn) or die("No se encuentra la Base de Datos");
?>
aparte en el index podrías añadir:

Código HTML:
Ver original
  1. <div id="login">
  2.         <span class="titol_login">LOGIN</span>
  3.         <form name="login_form" method="post" action="index.php?doo=login" style="overflow: hidden;">
  4.             <ul>
  5.                 <li><label>Usuario</label><input type="text" name="username" /></li>
  6.                 <li><label>Password</label><input type="password" name="password" /></li>
  7.                 <li><button type="submit">Enviar</button></li>
  8.             </ul>
  9.         </form>
  10.         <?php if ($ok == 2) { ?>
  11.             <span id="login_error"><strong>Error.</strong> Los datos introducidos no son correctos.</span>
  12.         <?php }?>
  13.     </div>

así cuando el acceso no es válido y asigno la variable $ok=2 muestra el mensaje de error de validación.

saludos
  #6 (permalink)  
Antiguo 04/07/2012, 01:48
Avatar de alrf1809  
Fecha de Ingreso: junio-2011
Ubicación: caracas
Mensajes: 40
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: inicio de sesion con php

Gracias Bugger.. dejame tambien probar con tu metodo, fijate en el que utilice en la respuesta que puse anteriormente porque si segui todo al pie de la letra no entiendo porque sigue fallandome.
  #7 (permalink)  
Antiguo 04/07/2012, 01:52
 
Fecha de Ingreso: septiembre-2010
Ubicación: /home/
Mensajes: 103
Antigüedad: 14 años, 3 meses
Puntos: 17
Respuesta: inicio de sesion con php

y que error te lanza?

esta línea?

$res=mysql_query("select * from USUARIO where ficha_usuario='".$_POST[ficha_usuario]."'",%con); tendría que ser -> $
  #8 (permalink)  
Antiguo 04/07/2012, 02:03
Avatar de alrf1809  
Fecha de Ingreso: junio-2011
Ubicación: caracas
Mensajes: 40
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: inicio de sesion con php

Cita:
Iniciado por Bugger Ver Mensaje
y que error te lanza?

esta línea?

$res=mysql_query("select * from USUARIO where ficha_usuario='".$_POST[ficha_usuario]."'",%con); tendría que ser -> $
modifiqué ese y sigue sin darme resultado, me sale esto luego de presionar el boton login en mi inicio de sesion:
Cita:
ahora'; die(); } $clave1=$row[6]; if(!($_POST[$contraseña_usuario]==$clave1)) { mysql_close($con); echo 'Lo sentimos pero la contraseña NO ES VALIDA'; echo 'Volver a la pagina principal ahora'; die(); } echo 'Bienvenido, acaba de iniciar sesion'.$row[1]'. Presione Aqui para redireccionar'; mysql_close($con); ?>
  #9 (permalink)  
Antiguo 04/07/2012, 02:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 8 meses
Puntos: 2534
Respuesta: inicio de sesion con php

Pues en primer lugar deberían usar <?php completo y no sólo <?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 04/07/2012, 02:16
Avatar de alrf1809  
Fecha de Ingreso: junio-2011
Ubicación: caracas
Mensajes: 40
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: inicio de sesion con php

Cita:
Iniciado por pateketrueke Ver Mensaje
Pues en primer lugar deberían usar <?php completo y no sólo <?
JAjaja cierto, descuido de novato!! ya logre corregir ese y otro errorcito que tenia, mil gracias amigo!! ahora ando jugando con la condicion que le puse porque al ingresar un usuario registrado no ingresa exitosamente y sigue arrojandome que el usuario no existe.

Etiquetas: html, inicio, tabla, usuarios
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:29.