Foros del Web » Programando para Internet » PHP »

Panel de control para sitio web...

Estas en el tema de Panel de control para sitio web... en el foro de PHP en Foros del Web. hola resulta q tengo un sitio en php y sql y ya cree los formularios de actualizacion y todo..pero me falta crear un buen panel ...
  #1 (permalink)  
Antiguo 05/01/2007, 12:53
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Panel de control para sitio web...

hola

resulta q tengo un sitio en php y sql y ya cree los formularios de actualizacion y todo..pero me falta crear un buen panel de control es decir bueno en seguridad...entonces q me recomiendan....cabe recalcar q soy novato en el tema......

yo lo habia echo con un formulario de admin y pass q comprueva los datos de la bd y si son correctos me lleva a otra pagina q me permite administrar el sitio....

pero pensando bien las url quedarian en el nevagador y al buscarlas aya arriba saldrian y entraria cualquier persona....

espero me ayan entendido......de antemano gracias
salu2
  #2 (permalink)  
Antiguo 05/01/2007, 13:44
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

lo otro q podia ser...seria impedir q las url se guarden en la barra de direcciones pero eso tampoco lo se hacer.....

ayuda, ayuda
urgente
  #3 (permalink)  
Antiguo 05/01/2007, 14:29
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Panel de control para sitio web...

Hola Marcos, algo simple pero efectivo, cuando compruebas que el usuario y password es correcto, creas una variable de sesion y le asignas un valor, pro poner un ejemplo:
Código PHP:
<?
if(login es correcto)
{
   
session_start();
   
$_SESSION["login"]="correcto";
   
header("Location: administrador.php");
}
?>
Y luego te generas otro archivo para controlar en cada pagina

control.php
Código PHP:
<?
session_start
();
//Si el usuario no paso por el login (o sea que no definiste la variable de session 'login'...
if ($_SESSION["login"] != "correcto"
{
        
//redireccionas al login
        
header("Location: index.php");
        exit();
}
?>

Y control.php lo incluyes en todas las paginas que quieres que esten cubiertas por el login. Es un ejemplo muy sencillo y solo para darte una idea, te recomiendo que busques mas info sobre sessiones en google.

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 05/01/2007, 14:41
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

gracias por responder Fridureiks....el codigo q me envias es muy bueno pero el problema es q mi web es modular y al poner eso me arroja este resultado...

Código PHP:
Warningsession_start() [function.session-start]: 
Cannot send session cookie headers already sent by 
(output started at c:wampwwwpaginaindex.php:13i
n c
:wampwwwpaginacontrol.php on line 2

Warning
session_start() [function.session-start]: 
Cannot send session cache limiter headers already sent 
(output started at c:wampwwwpaginaindex.php:13
in c:wampwwwpaginacontrol.php on line 2 
  #5 (permalink)  
Antiguo 05/01/2007, 14:56
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

pues ya la tengo jejeje......como genero los modulos dede index.php entonces cree admin.php y a el le inclui el control.php y ya esta de maravilla.....gracias
  #6 (permalink)  
Antiguo 05/01/2007, 15:19
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
Re: Panel de control para sitio web...

solo recuerda que el session_star siempre va en la 1ra linea de codigo no del modulo, sino de la pagina que contiene el modulo, por que luego da mucha lata weno asi me pasaba ahasta que lo entendi jeje saludos =D
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #7 (permalink)  
Antiguo 06/01/2007, 02:12
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

ahora tengo otro problema, no me quiere cargar admin.php hace como si cargara y volviera a cargar pero nunca se ve la pagina..... q puedo hacer?
  #8 (permalink)  
Antiguo 06/01/2007, 10:36
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Panel de control para sitio web...

Marcos, la mejor manera de ayudarte es que muestres codigo.

Muestra index.php y admin.php, asi como tambien algun que otro codigo que creas que es necesario mostrar.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #9 (permalink)  
Antiguo 06/01/2007, 10:45
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

hola aqui va el codigo...

admin.php
Código PHP:
<?php
include ('control.php');
if(empty(
$_GET['modulo']))
$pagina"inicio.php";
else
$pagina$_GET['modulo'].".php";
?> 
<html>
.
.
.resto de pagina
control.php
Código PHP:
<?php
session_start
();
if (
$_SESSION["login"] != "correcto"
{
header("Location: admin.php?modulo=panel_de_control");
exit();
}
?>
Todo se comporta bien hasta q incluyo el control.php....la pagina queda cargando cargando y nunca carga.....q podria ser.... mi msn [email protected] por si acaso....

salu2
  #10 (permalink)  
Antiguo 06/01/2007, 14:54
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Panel de control para sitio web...

Deberias reveer dos cosas, primero control.php. Basicamente dice, Si el login no fue realizado, vea a admin.php?modulo=panel_de_control. Y en realidad deberia decir algo como... Si el login no se realizo, ve a login.php?error=1.

control.php
Código PHP:
<?php
session_start
();
if (
$_SESSION["login"] != "correcto"
{
header("Location: login.php?error=1");
exit();
}
?>
De esta forma si la variable $_SESSION["login"] no vale "correcto", se te redireccionara al logiin para que entres al sistema en lugar de quedarse en admin.php haciendo nada.

Y lo otro que debes reveer es que $_SESSION["login"] no te esta valiendo "correcto", por eso es que entras a admin.php y no te muestra nada, al menos es lo que yo veo.

Muestra el codigo donde creas la variable $_SESSION["login"], seguramente ahi debe haber algo mal.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #11 (permalink)  
Antiguo 06/01/2007, 15:46
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

login.php
Código PHP:
<form method="post" action="admin_acceso.php">
<
p align="justify" class="Estilo1">Por favor ingresa tu nombre de usuario y contrase&ntilde;a...</p>
<
table width="357" border="0" align="center" class="Estilo1">
  <
tr>
    <
td width="72">Nombre De Usuario:</td>
    <
td width="150"><input type="text" name="usuario" size="25"></td>
    <
td width="121">
        <
div align="left">
          &
nbsp;&nbsp;<input name="privado" type="submit" id="privado" value="Ingresar">
      </
div></td></tr>
  <
tr>
    <
td>Contrase&ntilde;a:</td>
    <
td><input name="passw" type="password" id="passw" size="25"></td>
    <
td><div align="left">
            <
input type="checkbox" name="checkbox" value="checkbox">
        
Recordar?</div></td>
  </
tr>
</
table>
  </
form
admin_acceso.php
Código PHP:
<?php
include ('conexion.php');
$query = ("SELECT * FROM administracion ORDER BY id"); 
$result mysql_query$query ); 
if( !
is_resource$result ) ) { 
die(
"Problema con el Query:".mysql_error()); 

while( 
$datos mysql_fetch_array$result ) ) {
$user1="$datos[username]";
$pass1="$datos[password]";
$user2="$_POST[usuario]";
$pass2="$_POST[passw]";
if (
$user1=="$user2" && $pass1=="$pass2")
{
$valido="si";
}
else
{
$valido="no";

}
?>
<?php 
if ($valido=="si")
{    
session_start();
$_SESSION["login"]="correcto";
header('Location: admin.php?modulo=panel_de_control'); 
}    
else
{
header('Location: admin.php?modulo=acceso_denegado');
?>
control.php
Código PHP:
<?php
session_start
();
if (
$_SESSION["login"] != "correcto"
{
header("Location: admin.php?modulo=acceso_denegado");
exit();
}
?>
salu2
  #12 (permalink)  
Antiguo 06/01/2007, 15:59
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Panel de control para sitio web...

Tenes que comprobar que el login se efectue, como podrias hacerlo? asi:

Reemplaza esto en admin_acceso.php y prueba:

Código PHP:
<?php 
if ($valido=="si")
{    
echo 
"El login se realizo correctamente";
/*session_start();
$_SESSION["login"]="correcto";
header('Location: admin.php?modulo=panel_de_control'); */
}    
else
{
echo 
"Ha fallado el login";
//header('Location: admin.php?modulo=acceso_denegado');
?>

Si falla, deberias ver mas arriba por que falla...

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #13 (permalink)  
Antiguo 06/01/2007, 16:54
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

efectivamente el login se registra correctamente.....entonces el proble esta en otro lado....

pienso q algo esta mal al incluir el control.php....la pagina queda como si se le pusiera algun script para q se actualize a los 0 seg......

salu2
  #14 (permalink)  
Antiguo 06/01/2007, 17:27
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Panel de control para sitio web...

Pues deberas revisar bien. Yo he minimizado tu codigo y lo he probado en mi maquina, y funciona. Descarto que el error este en el procesamiento del form login porque me acabas decir que eso lo hace bien... y lo siguiente, a mi me funciona. Esta es la prueba que yo hice. login.php lo deje igual.

admin_acceso.php
Código PHP:
<?
if($_POST["usuario"] == "admin" && $_POST["passw"] == "admin")
{
    
session_start();
    
$_SESSION["login"]="correcto";
    
header('Location: admin.php?modulo=panel_de_control'); 
}else{
       echo 
"Algo funciona mal en el login";
}
?>
control.php
Código PHP:
<?php
session_start
();
if (
$_SESSION["login"] != "correcto"
{
 echo 
"La variable de session vale " $_SESSION["login"] . " y algo anda mal";
exit();
}else{
echo 
"La variable de session vale " $_SESSION["login"] . "<br>";
}
?>
admin.php
Código PHP:
<?php
include('control.php');
//session_destroy(); Solamente para borrar la sesion y volver a probar.
echo "El modulo que se debe cargar es " $_GET["modulo"];
?>

Esta es mas o menos la idea que te di para el login, pero en funcionamiento. Entras por login.php, (admin:admin) y terminas en admin.php con un cartelito que indica que modulo debe cargarse.

Si esto no te funciona no estaria de mas que hagas un

<? echo phpinfo(); ?>

y revises el apartado sessiones, Session Support debe estar en enabled.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar

Última edición por Fridureiks; 06/01/2007 a las 17:36
  #15 (permalink)  
Antiguo 11/01/2007, 10:24
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 4 meses
Puntos: 3
Re: Panel de control para sitio web...

tengo otro problema, en el panel una parte para agregar noticias bueno como cada noticia tiene su autor, entonces cree una tabla con los autores y necesito q el formulario de noticias me cargue todos los autores y yo vaya agregando, pero solo me esta cargando el ultimo....

aqui va el codigo...

Código PHP:
<?php
include ('conexion.php');
$query = ("SELECT * FROM autores_noticias ORDER BY id"); 
$result mysql_query$query ); 
if( !
is_resource$result ) ) { 
die(
"Problema con el Query:".mysql_error()); 

while( 
$datos mysql_fetch_array$result ) ) { 
echo 
'<div id="Layer1" style="position:absolute; width:539px; height:115px; z-index:1; left: 5px; top: 25px;">
  <form name="form1" method="post" action="adminis/procesa_noticia.php">
    <table width="314" border="0" align="center" class="Estilo1">
      <tr>
        <td width="94">Titulo</td>
        <td width="144"><input name="titulo" type="text" id="titulo" size="50"></td>
        <td width="62"><input type="submit" name="Submit2" value="Agregar"></td>
      </tr>
      <tr>
        <td>Fecha</td>
        <td><input name="fecha" type="text" id="fecha" size="50"></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td valign="top">Contenido</td>
        <td><textarea name="contenido" cols="46" rows="10" id="contenido"></textarea></td>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>Autor</td>
        <td>[B]<select name="autor" size="1" id="autor">
          <option>'
.$datos[nombre].'</option>
        </select>[/B]</td>
        <td>&nbsp;</td>
      </tr>
    </table>
  </form>
</div>'
; }?>
salu2
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 12:35.