Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Contenidos

Estas en el tema de Contenidos en el foro de PHP en Foros del Web. solicito Ayuda, orientación, lo que me puedan ofrecer está bien, Tengo un formato de log in, este ya está funcionando correctamente, identifica usuarios, errores al ...
  #1 (permalink)  
Antiguo 04/01/2012, 09:57
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Pregunta Contenidos

solicito Ayuda, orientación, lo que me puedan ofrecer está bien, Tengo un formato de log in, este ya está funcionando correctamente, identifica usuarios, errores al ingreso etc... Está en un index.php está oculto junto a otras opciones, es decir, al abrir la "Web" lo primero que verá el usuario son las opciones que se ofrecen, iniciar sesión, registrarse o continuar como visitante. si da click en el vínculo registrarse, se oculta todo y se muestra el formato de registro y así con las otras, pero Necesito Hacer unas validaciones, pero no sé adónde ponerlas, "Recién estoy conociendo a fondo PHP, jQuery, Javascript, Html, CSS" Entonces las "validaciones" son:
Mediante el php validar si el usuario se registra... "ok registro exitoso" y sea redirigido a una página con el contenido para usuarios, lo mismo cuando el usuario se logea, y un contenido diferente para los usuarios no registrados.

tengo la idea pero no sé cómo ejecutar esto...

Agradezco cualquier información que me puedan aportar respecto a cómo realizar esto ^^,
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #2 (permalink)  
Antiguo 04/01/2012, 10:27
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Contenidos

Hola, ya hace un tiempo hice algo similar a lo que dices y no recuerdo exactamente como lo hice, lo importante es que sepas manejar sesiones.

Cuando un usuario se registra para verificar si esta registrado se compara que exista dicho usuario en la base de datos en la que se inscribio. Inicias la sesión con session_start y en caso de que si exista el valor
se inicializa el valor del session_register con el nombre del usuario.

De alli solamente se debe hacer un location.href para redirigir al usuario si el valor de sesión tiene un valor valido se ira al contenido de usuarios y en caso contrario lo puedes redirigir al formulario para que se registre advirtiendo que dicho contenido solo es para usuarios registrados.

Espero que te sirva la información para empezar a investigar.
  #3 (permalink)  
Antiguo 04/01/2012, 10:43
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Síiii, eso lo entiendo, de hecho tengo los includes dentro del index, hace una llamada dependiendo la acción... registrar = registrar_usuario.php y así con el de ingresar, según el código que tengo se crea una cookie que dura 90 días, pero aún no entiendo adónde está xD si me registro con un usuario ya existente y retrocedo, efectivamente deja en los text los datos ingresados.

el session_start() y el session_destroy() los tengo antes de los include.

Ahora el session_register() me lo toma como deprecated osease obsoleta :S y no entiendo muy bien ese asunto, si pongo el $_SESSION['']<- acá a qué llamo? al F.K?
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #4 (permalink)  
Antiguo 04/01/2012, 12:44
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Contenidos

haber si entiendo:

Por ejemplo inicias una session de la siguiente forma y creas un vector con varios atributos

Código PHP:
Ver original
  1.  
  2. $_SESSION['LOGIN']    = 'NOMBRE LOGIN';
  3. $_SESSION['NIVEL']     = '1';
  4. $_SESSION['OTRA']      = 'OTRA INFORMACION';
  5.  
  6.  
  7. //y aqui mas abajo imprimimos el contenido
  8. echo $_SESSION['LOGIN'];

cada vez que necesites abrir las sessiones debes poner primero session_start(); y despues si trabajar con las variables que estan en el vector, despues de asignadas la primera vez ya no es necesario volverle a asignar datos, ya tu validas dependiendo de lo que necesites.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #5 (permalink)  
Antiguo 05/01/2012, 11:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

verificas si el usuario se registro correctamente y le das una session por ejemplo $_SESSION['IDENTIFICADO ']y luego en las paginas verificas

1 se verifica si se registro ,como nse tu codigo nse como decirtelo

2 al ser exitoso creamos la sesion

3 redireccionamos si es exitoso el registro o verificas o haces lo que tu creas si no es exitoso

4 en la pagina redireccionada verificamos si exite la session para mostrar los datos a usuarios identificados y si no existe el contenido normal para todos

eso es lo que preguntas no? y para logear pues igual
  #6 (permalink)  
Antiguo 06/01/2012, 10:15
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Mmmm a ver les enseño el código a ver si me entienden con claridad lo que pretendo hacer:

Este es el ingresar.php

Código PHP:
Ver original
  1. include('conexion.php');
  2.  
  3. function quitar($mensaje){
  4. $mensaje = str_replace('<','<',$mensaje);
  5. $mensaje = str_replace('>','>',$mensaje);
  6. $mensaje = str_replace('\"','"',$mensaje);
  7. $mensaje = str_replace("\"",'""',$mensaje);
  8. $mensaje = str_replace('\\\\','\"',$mensaje);
  9. return $mensaje;
  10. }
  11.  
  12. if(trim($_POST["ing_nk"]) != "" && trim($_POST["ing_contra"]) != ""){
  13.  
  14. $nickN = quitar($_POST["ing_nk"]);
  15. $passN = quitar($_POST["ing_contra"]);
  16.  
  17. $result = mysql_query("SELECT password FROM ingresos_usu WHERE nick='$nickN'");
  18. if($row = mysql_fetch_array($result)){
  19. if($row["password"] == $passN){
  20. setcookie("usNick",$nickN,time()+7776000);
  21. setcookie("usPass",$passN,time()+7776000);
  22.  
  23. $bi = "Bienvenido: $nickN";
  24. echo "<script>
  25. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  26. </script>";
  27. }else{
  28.  
  29. $bi = "Password incorrecto. ";
  30. echo "<script>
  31. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  32. </script>";
  33. }
  34. }else{
  35.  
  36. $bi = "Usuario no existente en la base de datos.";
  37. echo "<script>
  38. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  39. </script>";
  40. }
  41. }else{
  42. $bi = "Por Favor complete todos los campos.";
  43. echo "<script>
  44. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  45. </script>";
  46. }
  47. ?>

Ahora el código del login.php

Código PHP:
Ver original
  1. <?php
  2. $login_correcto = false;
  3. $id_usu;
  4. $nick_usu;
  5. $nombre_usu;
  6. $apellido_usu;
  7. $email_usu;
  8.  
  9. if(isset($_COOKIE['usNick']) && isset($_COOKIE['usPass'])){
  10. $result = mysql_query("SELECT * FORM ingresos_usu WHERE nick ='".$_COOKIE['usNick']."' AND password = '".$_COOKIE['usPass']."'");
  11. if ($row = mysql_fetch_array($result)){
  12. setcookie("usNick", $_COOKIE['usNick'], time()+7776000);
  13. setcookie("usPass", $_COOKIE['usPass'], time()+7776000);
  14.  
  15. $login_correcto = true;
  16. $id_usu = $row['id'];
  17. $nick_usu = $row['nick'];
  18. $nombre_usu = $row['nombre'];
  19. $apellido_usu = $row['apellido'];
  20. $email_usu = $row['email'];
  21. }else{
  22. setcookie("usNick","x",time()-3600);
  23. setcookie("usPass","x",time()-3600);
  24. }
  25. }
  26. ?>

Ahora el del index.php

Código PHP:
Ver original
  1. <?
  2. session_start(); // esto aún no entiendo si me funciona o no, pero supongo que sí, no tengo muy clara la cuestión de las sesiones, pero me muestra el estado respectivo a los datos ingresados en ingresar.php
  3. include('conexion.php');
  4. include('login.php');
  5. ?>

Código HTML:
Ver original
  1. <!DOCTYPE html >
  2.  
  3. <title>::Formato de log in::</title>
  4. <iframe src="ingresar.php" style="display: none;" width="1242" height="80" id="ingres" name="ingres">ingreso</iframe>
  5. <iframe src="insert_user.php" style="display: none;" width="1242" height="80" id="reg" name="reg">registro</iframe>
  6. <script language='javascript' src='jquery-1.7.1.js'></script>
  7. <script language='javascript' src='scripts.js'></script>
  8. <link rel='stylesheet' media='all' type='text/CSS' href='styls.css'/>
  9. </head>
  10.  
  11.  
  12. <div class="imgrr" onLoad="movimiento">
  13. <img src="http://www.forosdelweb.com/f18/Proyects/librerias/Imágenes/nav_logo_on.gif" alt="Roadrunner Records Logo"/>
  14. </div>
  15.  
  16. <!--contenido inicio-->
  17.  
  18. <div id='ops' class='middio'>
  19. <table  align='center'>
  20. <tr><td><a href='#' id="linkregs" class='linksa'>Registrese</a></td><td>***</td><td><a href='#' id="linkingr" class='linksa'>Ingresar</a></td></tr>
  21. <table  align='center'><tr><td><a href='#' id="omiti" class='linksa'>Saltar Este Paso</a></td></tr></table>
  22. </div>
  23.  
  24. <div id='usu' name="usu" class="prueba" ></div>
  25.  
  26. <!--contenido para ingreso-->
  27.  
  28. <div id="ingre" class="ingre_1">
  29. <form id="ingre_usu" method="post" action="ingresar.php" target="ingres">
  30. <table align="center">
  31. <tr><td>Nick: </td><td><input type="text" class="objcts" id="ing_nk" name="ing_nk" /></td></tr>
  32. <tr><td>Contraseña: </td><td><input type="password" id="ing_contra" name="ing_contra" class="objcts" /></td></tr>
  33. <table align="center">
  34. <tr><td><input type="submit" id="ini_sesion" name="ini_sesion" value="Ingresar" class="objcts" /></td><td><input type="reset" name="rest" id="rest" class="objcts" value="Cancelar" /></td></tr>
  35.  
  36. </form>
  37. </div>
  38.  
  39. <!--contenido para registro-->
  40.  
  41. <div id="form1" class="mov">
  42. <form id="form_registro" class="form_1" action="insert_user.php" method="post" target="reg">
  43.  
  44. <table align="center" >
  45. <tr><td colspan="3" valign="middle" align="center">Registrese</td></tr>
  46. <tr><td>Nick: </td><td><input type="text" id="nick" name="nick" class="objcts" maxlength="20" />*</td></tr>
  47. <tr><td>Nombre: </td><td><input type="text" id="nombre" name="nombre" class="objcts" maxlength="30" /></td></tr>
  48. <tr><td>Apellido: </td><td><input type="text" id="apellido" name="apellido" class="objcts" maxlength="30" /></td></tr>
  49. <tr><td>Email: </td><td><input type="text" id="email"  name="email" class="objcts" maxlength="40" />*</td></tr>
  50. <tr><td>Contraseña: </td><td><input type="password" id="contrasena" name="contrasena" class="objcts" maxlength="15"/>*</td></tr>
  51.  
  52. <table align="center">
  53. <tr><td><input type="submit" name="registr" value="Registrar" class="objcts" /></td><td><input type="reset" name="rest2" id="rest2"class="objcts" value="Cancelar" /></td></tr>
  54.  
  55. </form>
  56. </div>
  57.  
  58. <!--contenido página no registrados-->
  59. <span id="atras" class="atras"><a href="#" id="Volver" class="linksa">*Cerrar Sesión</a></span>
  60.  
  61. </body>
  62. </html>

Y ya, entonces les cuento nuevamente lo que me gustaría hacer, quiero hacer unas "validaciones" cuando inicia en el index, con el div "ops"
dependiendo de cuál vínculo escoja el usuario se muestra un contenido; si el usuario selecciona saltar este paso, quiero que lo redireccione a un contenido para visitantes hasta que se registre.

Si se registra correctamente, lo mismo, que pueda ingresar de una vez al contenido para usuarios que debe ser el mismo para cuando inicie sesión.

Todo esto estará aparte del index.php, es decir se registró o va a iniciar sesión y su contenido es correcto "ingresó los datos adecuadamente." entonces se redirecciona al usuario para index_usuarios.php ... si no se registra es decir utiliza el vínculo "saltar este paso" entonces index_visitantes.php.

y así, pero no sé cómo hacerlo ni en dónde ponerlas ni nada :l

"Código de ingresar.php, login.php es autoría de Cluster O_O en maestros del web, yo sólo modifiqué algunas partes para mi uso."
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia

Última edición por pato_cuack; 06/01/2012 a las 10:36
  #7 (permalink)  
Antiguo 06/01/2012, 15:10
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

primero para por si saltan el paso solo añade el link

codigo html del index.php linea 24
<a href='index_visitantes.php' id="omiti" class='linksa'>Saltar Este Paso</a>

para despues de ingresar

donde te aparece esto ingresar.php linea 23

$bi = "Bienvenido: $nickN";
echo "<script>
window.parent.window.document.getElementById('usu' ).innerHTML = \"$bi\";
</script>";

cambialo por esto

$bi = 'Ha ingresado correctamente '.$nickN.' <a href="index_usuarios.php">contenido usuarios</a>';
echo "<script>
window.parent.window.document.getElementById('usu' ).innerHTML = \"$bi\";
</script>";

Última edición por webankenovi; 06/01/2012 a las 15:44
  #8 (permalink)  
Antiguo 06/01/2012, 16:24
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Bastante obvio el asunto en la línea 24 --' Gracias webankenovi.

Ahora, el código en ingresar.php no me anda, doy click en el botón ingresar después de completar los campos nick y password y no redirecciona. =/
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #9 (permalink)  
Antiguo 06/01/2012, 16:28
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

tu lo kieres que redireccione automaticamente o que pulsen en un link??

si es automaticamente

ingresar.php linea 23

$bi = "Bienvenido: $nickN";
echo "<script>
window.parent.window.document.getElementById('usu' ).innerHTML = \"$bi\";
</script>";

por

header('location:/index_usuarios.php') ;

y ya esta
  #10 (permalink)  
Antiguo 06/01/2012, 16:41
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

No, fíjate que en index.php hay 2 valores "ingresar" 1 en el div "ops" y en el form de ingresar está el botón ingresar, en las opciones de ingresar está el menú de "Validación de usuarios" dónde se verifica la existencia en la base de datos y se supone que inicia la sesión.

entonces que pasa cuándo hago este cambio que tú me dices: nada porque el ingresar, el botón ingresar está con unas funciones jQuery como la mayoría de los vínculos. "No sé si afecte; pero lo quité del vínculo Saltar este Paso y afectó su funcionalidad".

Entonces mira, a lo que el usuario ingresa su nick, su pass y da click en ingresar, aparecerá el contenido, pero necesito que en index_usuarios.php me tome que este inició sesión y me salude al usuario, así como actualmente lo hace en el index.php "Bienvenido: Pato_cuack."

mira agrego las funciones de jQuery a ver qué hago (la última función es la del botón ingresar).

<script language='javascript' src='scripts.js'></script>

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2. $("#linkingr").click(function(event){
  3. event.preventDefault();
  4. $("#ops").hide("slow");
  5. $("#ingre").show(1500);
  6. });
  7.  
  8. $("#rest").click(function(event){
  9. event.preventDefault();
  10. $("#ingre").hide("slow");
  11. $('#atras').hide("fast");
  12. $("#ops").show(1500);
  13. });
  14. });
  15.  
  16. $(document).ready(function(){
  17. $("#linkregs").click(function(event){
  18. event.preventDefault();
  19. $("#ops").hide("slow");
  20. $("#form1").show(1500);
  21. $("#usu").show(1200);
  22. });
  23.  
  24. $("#rest2").click(function(event){
  25. event.preventDefault();
  26. $("#form1").hide("slow");
  27. $("#usu").hide("fast");
  28. $("#ops").show(1500);
  29. });
  30. });
  31.  
  32. /*$(document).ready(function(){
  33. $("#omiti").click(function(event){
  34. event.preventDefault();
  35. $("#ops").hide("slow");
  36. $("#mennu_2").show(1500);
  37. $("#atras").show(3000);
  38. });
  39. });*/
  40.  
  41. $(document).ready(function(){
  42. $("#atras").click(function(event){
  43. event.preventDefault();
  44. $("#mennu_2").hide("slow");
  45. $("#mennu").hide("fast");
  46. $("#usu").hide("fast");
  47. $("#atras").hide("fast");
  48. $("#ops").show(1500);
  49. });
  50. });
  51.  
  52. $(document).ready(function (){
  53. $('#ini_sesion').click(function(event){
  54. event.preventDefault;
  55. $('#ingre').hide('fast');
  56. $('#usu').show(15);
  57. $('#atras').show(2000);
  58. });
  59. });
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #11 (permalink)  
Antiguo 06/01/2012, 16:47
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

prueba asi en index_usuarios.php , comprobamos si existen las cookies y si no le invitamos a abndonar la pagina sin mostrale nada

Código PHP:
Ver original
  1. if(isset($_COOKIE['usNick']) && isset($_COOKIE['usPass'])){
  2.    
  3. //aqui muestras el contenido para usuarios registrados
  4.  
  5. }else{
  6.    
  7.    
  8.     echo'aun no as ingresado no puedes ver este contenido te invitamos a volver a la pagina de inicio <a href="/index.php">volver</a>';
  9.    
  10.    
  11.     }
  #12 (permalink)  
Antiguo 06/01/2012, 17:00
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

mmm... No :(

No sé si estoy haciendo algo mal, pero no me anda, puse la condicional que me dijiste en el index_usuarios, pero no va, ni siquiera redirecciona, solo se vuelve a cargar y me muestra el saludo en el mismo index.php :l
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #13 (permalink)  
Antiguo 06/01/2012, 17:01
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

sube el codigo tal y como lo dejaste
  #14 (permalink)  
Antiguo 06/01/2012, 17:06
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Código PHP:
Ver original
  1. include ('conexion.php');
  2. include('login.php');
  3.  
  4. if (isset($_cookie['usNick']) && isset($_cookie['usPass'])){
  5. echo "Bienvenido".$_cookie['usNick'];
  6. }else{
  7. echo "no hay sesión";
  8. }

Así lo dejé al principio y después le borré los include y el session _start() pero de ninguna me fue. :l
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #15 (permalink)  
Antiguo 06/01/2012, 17:07
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

y asi cuando entras que aparece o que hace , entrando como logeado y sin logear
  #16 (permalink)  
Antiguo 06/01/2012, 17:09
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

Cita:
Iniciado por pato_cuack Ver Mensaje
Código PHP:
Ver original
  1. include ('conexion.php');
  2. include('login.php');
  3.  
  4. if (isset($_cookie['usNick']) && isset($_cookie['usPass'])){
  5. echo "Bienvenido".$_cookie['usNick'];
  6. }else{
  7. echo "no hay sesión";
  8. }

Así lo dejé al principio y después le borré los include y el session _start() pero de ninguna me fue. :l
pon COOKIE en mayusculas

if(isset($_COOKIE['usNick']) && isset($_COOKIE['usPass'])){

echo "Bienvenido".$_COOKIE['usNick'];
  #17 (permalink)  
Antiguo 10/01/2012, 07:59
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Es que no redirecciona, es decir, entro a index.php y me logueo y ya, me muestra el saludo en index.php, más no me lleva a index_usuarios.php :l si pongo un header, de una vez me transporta a index_usuarios.php, pero cuándo voy a cerrar sesión no hace nada tampoco se queda ahí en index_usuarios.php :l ni siquiera cambiando la url. mira el código del log out.

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $_SESSION = Array();
  5.  
  6.  
  7. header("location: index.php");
  8.  
  9. ?>

Se supone que este lo pongo así como el de ingresar.php y con un submit dentro de un form debe funcionar para el log out... o me equivoco? :S
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #18 (permalink)  
Antiguo 10/01/2012, 10:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

Código PHP:
Ver original
  1. <?php
  2.      
  3. $_SESSION = Array();
  4.      
  5.      
  6. exit(header('location:/index.php'));
  7.      
  8. ?>

prueba asi haber
  #19 (permalink)  
Antiguo 11/01/2012, 12:04
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Probé así pero no sirvió lo cambié por esto mira:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_SESSION['ing_nk'])){
  3. header ('location: index2.php');
  4. }else{
  5. header('location: index.php');
  6. }
  7. ?>

y ya casi me funciona todo como busco, ya mejoré el código del registro y me redirecciona al usuario registrar todos sus datos ^^,.

Pero aún sigo con los problemas, ya me redirecciona y me muestra el contenido para los usuarios, ahora lo que no sé hacer es que me muestre el "Bienvenido: Nick" en el index_usuarios :l así como lo hacía en el index.php que ahora quedó como una página de paso no más, podrías explicarme tal vez cómo podría hacer esto =).

mira te pongo el código del index_usuarios.php y el de registrarse.

Registrarse.php (El inconveniente lo da desde la línea 49).
Código PHP:
Ver original
  1. <?
  2. include('conexion.php');
  3. mysql_select_db("wea") or die ("Fallo en la conexión Con la Base de Datos*".mysql_error());
  4. function quitar($mensaje){
  5. $mensaje = str_replace('<','<',$mensaje);
  6. $mensaje = str_replace('>','>',$mensaje);
  7. $mensaje = str_replace('\"','"',$mensaje);
  8. $mensaje = str_replace("\"",'""',$mensaje);
  9. $mensaje = str_replace('\\\\','\"',$mensaje);
  10. return $mensaje;
  11. }
  12.  
  13. if(trim($_POST["nick"]) != "" && trim($_POST["email"]) != "" && trim($_POST["contrasena"])){
  14. $sql = "SELECT id FROM ingresos_usu WHERE nick='".quitar($_POST["nick"])."'";
  15. $result = mysql_query($sql);
  16.  
  17. $sql_a = "SELECT id FROM ingresos_usu WHERE email='".quitar($_POST["email"])."'";
  18. $result_e = mysql_query($sql_a);
  19.  
  20. if($row = mysql_fetch_array($result)){
  21. echo "<script> alert ('Nick ya existente, ingrese otro por favor.');
  22. </script>";
  23. }
  24.  
  25. elseif($row = mysql_fetch_array($result_e)){
  26. echo "<script> alert ('Email ya existente, Verifique sus datos por favor.');
  27. </script>";
  28. }
  29.  
  30. else{
  31. $fecha = date('Y-m-d H:i:s');
  32. $sql = "INSERT INTO ingresos_usu (nick, password, nombre, apellido, email, fecha) VALUES (";
  33. $sql .= "'".quitar($_POST["nick"])."'";
  34. $sql .= ",'".quitar($_POST["contrasena"])."'";
  35. $sql .= ",'".quitar($_POST["nombre"])."'";
  36. $sql .= ",'".quitar($_POST["apellido"])."'";
  37. $sql .= ",'".quitar($_POST["email"])."'";
  38. $sql .= ",'".quitar($fecha)."'";
  39. $sql .= ")";
  40.  
  41.  
  42. echo "<script>
  43. alert ('Registro exitoso!');
  44. parent.form_registro.reset();
  45. parent.location.href='index2.php';
  46. </script>";
  47.  
  48. $nek=$_POST['nick'];
  49. echo "<script>
  50. var us = 'Bienvenido'\"$nek\";
  51. window.parent.parent.window.document.document.getElementById('usuar').innerHTML = us;
  52. </script>";
  53. }
  54. mysql_free_result($result, $result_e);
  55. }
  56.  
  57. else{
  58. if($_POST["nick"] == NULL | $_POST["nombre"] == NULL | $_POST["apellido"] == NULL |
  59. $_POST["email"] == NULL){
  60. echo "<script>
  61. var us = 'Por Favor Complete Todos los campos.';
  62. window.parent.window.document.getElementById('usu').innerHTML = us;
  63. </script>";
  64. }
  65.  
  66. elseif($_POST["nick"] != NULL && $_POST["nombre"] != NULL && $_POST["apellido"] != NULL &&
  67. $_POST["email"] != NULL && $_POST["contrasena"] == NULL){
  68. echo "<script>
  69. alert ('Debe Ingresar una contraseña.');
  70. </script>";
  71. }
  72. }
  73. ?>

Index_usuarios.php

Código PHP:
Ver original
  1. <html>
  2. <head>
  3. <script src="jquery-1.7.1.js"></script>
  4. <script src="scripts.js"></script>
  5. <link rel="stylesheet" media="all" type="text/css" href="styls.css" />
  6. <title> </title>
  7. </head>
  8. <body>
  9. <div id='usuar' name="usuar" class="prueba" ></div>
  10. <span id="atras" class="atras"><a href="logout.php" id="Volver" class="linksa">*Cerrar Sesi&oacute;n</a></span>
  11. </form>
  12. </body>
  13. </html>

Según entiendo no me lo va a mostrar, por que todavía no he definido una sesión, pero es que no sé cómo hacerlo :l no me ha entrado ni a palos --'
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #20 (permalink)  
Antiguo 12/01/2012, 10:57
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

vale haber al hacer el login correctamente en su if antes de redireccionar creas una session con el nombre del usuario y en index_usuarios añades el session_start() y ya puedes mostrar la session del usuario

- supongo que hables del login a index_usuarios o de registrarse a index-usuarios

si hablas de registrarse a index_usuarios no veo la redireccion solo a index2.php si es ay donde lo kieres mostrar añades


$_SESSION['nick'] = $_POST['nick'];
echo "<script>
alert ('Registro exitoso!');
parent.form_registro.reset();
parent.location.href='index2.php';
</script>";

$nek=$_POST['nick'];
echo "<script>
var us = 'Bienvenido'\"$nek\";
window.parent.parent.window.document.document.getE lementById('usuar').innerHTML = us;
</script>";

y en index2.php

session_start(); al comienzo y dodne deseas mostrar el usuario ( echo $_SESSION['nick']; )

esos son los pasos sea la pagina que sea donde seas mostrarlo , la session siempre se crea antes de la redireccion

Última edición por webankenovi; 12/01/2012 a las 11:05
  #21 (permalink)  
Antiguo 12/01/2012, 13:05
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Ok, pero el window.parent.parent.window.document.document si es válido? es decir lo puse pensando que window.parent pués es el index.php i el window.parent.parent es el hijo es decir index2.php o index_usuarios.php igual con el document. :X y ps de hecho no usaba el echo $_SESSION en el index 2 debido a esto, a que el contenido es decir el nick del usuario va a almacenarce en document.getElementById('usuar').innerHTML, ya que este es un div que tengo ahí en ambos index y que es dónde actualmente me imprime el nombre del usuario, "esto sólo funciona en el index.php"
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #22 (permalink)  
Antiguo 12/01/2012, 13:15
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

vayamos por partes xq me estoy liando esta claro que kieres mostrar el nick en index_usuarios.php pero desde que pàgina llegan desde registrarse o desde el login??

en el sigueinte div es donde se te muestran los datos?

<div id='usu' name="usu" class="prueba" ></div>

en el index lo pones asi y en el index_usuarios.php pones

<div id='usuar' name="usuar" class="prueba" ></div>

puede ser ese el error ?? ademas deberas incluir los mismos archivos que en el index donde si se muestra

session_start();
include ('conexion.php');
include('login.php');
  #23 (permalink)  
Antiguo 12/01/2012, 15:04
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

Mira, el sistema hace lo siguiente:

- index.php...
3 opciones: *registrarse / ingresar / saltar este paso *

- registrarse:

Un formulario de registro normal que envía los datos a la base de datos y genera un usuario con su respectivo id.

Al completar el registro el usuario será redireccionado a index2.php "index_usuarios" y en la parte superior deberá aparecer dentro de un div con id=usuar el nick que ingresó en el formulario de registro, este formulario toma los datos con este código:

Código PHP:
Ver original
  1. <?
  2. include('conexion.php');
  3. mysql_select_db("wea") or die ("Fallo en la conexión Con la Base de Datos*".mysql_error());
  4. function quitar($mensaje){
  5. $mensaje = str_replace('<','<',$mensaje);
  6. $mensaje = str_replace('>','>',$mensaje);
  7. $mensaje = str_replace('\"','"',$mensaje);
  8. $mensaje = str_replace("\"",'""',$mensaje);
  9. $mensaje = str_replace('\\\\','\"',$mensaje);
  10. $mensaje = str_replace('|','|',$mensaje);
  11. $mensaje = str_replace('||','||',$mensaje);
  12. return $mensaje;
  13. }
  14.  
  15. if(trim($_POST["nick"]) != "" && trim($_POST["email"]) != "" && trim($_POST["contrasena"])){
  16. $sql = "SELECT id FROM ingresos_usu WHERE nick='".quitar($_POST["nick"])."'";
  17. $result = mysql_query($sql);
  18.  
  19. $sql_a = "SELECT id FROM ingresos_usu WHERE email='".quitar($_POST["email"])."'";
  20. $result_e = mysql_query($sql_a);
  21.  
  22. if($row = mysql_fetch_array($result)){
  23. echo "<script> alert ('Nick ya existente, ingrese otro por favor.');
  24. parent.form_registro.nick.focus();
  25. </script>";
  26. }
  27.  
  28. elseif($row = mysql_fetch_array($result_e)){
  29. echo "<script> alert ('Email ya existente, Verifique sus datos por favor.');
  30. parent.form_registro.email.focus();
  31. </script>";
  32. }
  33.  
  34. else{
  35. $fecha = date('Y-m-d H:i:s');
  36. $sql = "INSERT INTO ingresos_usu (nick, password, nombre, apellido, email, fecha) VALUES (";
  37. $sql .= "'".quitar($_POST["nick"])."'";
  38. $sql .= ",'".quitar($_POST["contrasena"])."'";
  39. $sql .= ",'".quitar($_POST["nombre"])."'";
  40. $sql .= ",'".quitar($_POST["apellido"])."'";
  41. $sql .= ",'".quitar($_POST["email"])."'";
  42. $sql .= ",'".quitar($fecha)."'";
  43. $sql .= ")";
  44.  
  45.  
  46. $_SESSION['usuario']=$_POST['nick'];
  47. echo "<script>
  48. alert ('Registro exitoso!');
  49. parent.form_registro.reset();
  50. parent.location.href='index2.php';
  51. </script>";
  52.  
  53. }
  54. mysql_free_result($result, $result_e);
  55. }
  56.  
  57. else{
  58. if($_POST["nick"] == NULL | $_POST["nombre"] == NULL | $_POST["apellido"] == NULL |
  59. $_POST["email"] == NULL){
  60. echo "<script>
  61. var us = 'Por Favor Complete Todos los campos.';
  62. window.parent.window.document.getElementById('usu').innerHTML = us;
  63. parent.form_registro.nick.focus();
  64. </script>";
  65. }
  66.  
  67. elseif($_POST["nick"] != NULL && $_POST["nombre"] != NULL && $_POST["apellido"] != NULL &&
  68. $_POST["email"] != NULL && $_POST["contrasena"] == NULL){
  69. echo "<script>
  70. alert ('Debe Ingresar una contraseña.');
  71. parent.form_registro.contrasena.focus();
  72. </script>";
  73. }
  74. /*$email=$_POST["email"];
  75.  
  76. var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
  77. if ($email != true){
  78. echo "<script>
  79.  
  80. alert ('Debe ingresar una dirección email válida.');
  81.  
  82. </script>
  83. "*/
  84. }
  85.  
  86.  
  87. ?>

Pero no me introduce nada en ese div del index2.php :l

el código del index2.php:

Código PHP:
Ver original
  1. <?
  2. include('conexion.php');
  3. $usi=$_SESSION['usuario'];
  4. echo "Bienvenido \"$usi\"";
  5. ?>
  6. <html>
  7. <head>
  8. <script src="jquery-1.7.1.js"></script>
  9. <script src="scripts.js"></script>
  10. <link rel="stylesheet" media="all" type="text/css" href="styls.css" />
  11. <title> </title>
  12. </head>
  13. <body>
  14. <div id='usuar' name="usuar" class="prueba" ></div>
  15. <span id="atras" class="atras"><a href="logout.php" id="Volver" class="linksa">*Cerrar Sesi&oacute;n</a></span>
  16. </form>
  17. </body>
  18. </html>

-* ingresar.php:

En el index.php hay un formulario para que los usuarios ya registrados, ingresen el nick y el password correspondientes a los ingresados en el formulario de registro; cuándo la base de datos reconozca al usuario le da un mensaje de bienvenida y hace un display.block a un div oculto en index.php y en index2.php...

En index.php funciona, el usuario hace su log in y el sistema le reconoce y en el Div oculto muestra lo siguiente:

"Bienvenido: Usuario(nick que ingresó en el text de la form de ingreso)"

En cambio el index2.php no lo hace no sé porqué.

código de ingresar.php

Código PHP:
Ver original
  1. <?php
  2. include('conexion.php');
  3. mysql_select_db("wea") or die ("Fallo en la conexión Con la Base de Datos*".mysql_error());
  4.  
  5. function quitar($mensaje){
  6. $mensaje = str_replace('<','<',$mensaje);
  7. $mensaje = str_replace('>','>',$mensaje);
  8. $mensaje = str_replace('\"','"',$mensaje);
  9. $mensaje = str_replace("\"",'""',$mensaje);
  10. $mensaje = str_replace('\\\\','\"',$mensaje);
  11. return $mensaje;
  12. }
  13.  
  14. if(trim($_POST["ing_nk"]) != "" && trim($_POST["ing_contra"]) != ""){
  15.  
  16. $nickU = quitar($_POST["ing_nk"]);
  17. $passU = quitar($_POST["ing_contra"]);
  18.  
  19. $result = mysql_query("SELECT password FROM ingresos_usu WHERE nick='".$nickU."' AND password='".$passU."'");
  20. if (mysql_num_rows($result) == 1){
  21. $_SESSION['ing_nk'] = $nickU;
  22. $bi = "Bienvenido: ".$nickU;
  23. echo "<script>
  24. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  25. parent.location.href='index2.php';
  26. </script>";
  27. }else{
  28.  
  29. $bi = "Usuario no existente en la base de datos.";
  30. echo "<script>
  31. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  32.  
  33. </script>";
  34. }
  35. }else{
  36.  
  37. $bi = "Password incorrecto. ";
  38. echo "<script>
  39. window.parent.window.document.getElementById('usu').innerHTML = \"$bi\";
  40. </script>";
  41. }
  42.  
  43. ?>

-* saltar este paso:
El usuario decide simplemente echar una ojeada al contenido de la página sin suscribirse ni hacerse miembro. Este es un vínculo que redirecciona a un index3.php o "index_visitantes".

Ahora el código del index.php que es la página principal dónde los usuarios escojen cualquiera de estas opciones.

Código PHP:
Ver original
  1. <?
  2. require('conexion.php');
  3.  
  4. ?>
  5.  
  6.  
  7. <!DOCTYPE html >
  8.  
  9. <html>
  10. <head>
  11. <title>::Formato de log in::</title>
  12. <iframe src="ingresar.php" style="display: none;" width="1242" height="80" id="ingres" name="ingres">ingreso</iframe>
  13. <iframe src="insert_user.php" style="display: none;" width="1242" height="80" id="reg" name="reg">registro</iframe>
  14. <script language='javascript' src='jquery-1.7.1.js'></script>
  15. <script language='javascript' src='scripts.js'></script>
  16. <link rel='stylesheet' media='all' type='text/CSS' href='styls.css'/>
  17. </head>
  18.  
  19. <body>
  20.  
  21. <div class="imgrr" onLoad="movimiento">
  22. <img src="http://www.forosdelweb.com/f18/Proyects/librerias/Imágenes/nav_logo_on.gif" alt="Roadrunner Records Logo"/>
  23. </div>
  24.  
  25. <!--contenido inicio-->
  26.  
  27. <div id='ops' class='middio'>
  28. <table  align='center'>
  29. <tr><td><a href='#' id="linkregs" class='linksa'>Registrese</a></td><td>***</td><td><a href='#' id="linkingr" class='linksa'>Ingresar</a></td></tr>
  30. <table  align='center'><tr><td><a href='index_3.php' id="omiti" class='linksa'>Saltar Este Paso</a></td></tr></table>
  31. </table>
  32. </div>
  33.  
  34. <div id='usu' name="usu" class="prueba" ></div>
  35.  
  36. <!--contenido para ingreso-->
  37.  
  38. <div id="ingre" class="ingre_1">
  39. <form id="ingre_usu" method="post" action="ingresar.php" target="ingres">
  40. <table align="center">
  41. <tr><td><label>Nick: </td><td><input type="text" class="objcts" id="ing_nk" name="ing_nk" /></label></td></tr>
  42. <tr><td><label>Contraseña: </td><td><input type="password" id="ing_contra" name="ing_contra" class="objcts" /></label></td></tr>
  43. <table align="center">
  44. <tr><td><input type="submit" id="ini_sesion" name="ini_sesion" value="Ingresar" class="objcts" /></td><td><input type="reset" name="rest" id="rest" class="objcts" value="Cancelar" /></td></tr>
  45.  
  46. </table>
  47. </table>
  48. </form>
  49. </div>
  50.  
  51. <!--contenido para registro-->
  52.  
  53. <div id="form1" class="mov">
  54. <form id="form_registro" class="form_1" action="insert_user.php" method="post" target="reg" onsubmit="validaformu()">
  55.  
  56. <table align="center" >
  57. <tr><td colspan="3" valign="middle" align="center">Registrese</td></tr>
  58. <tr><td><label>Nick: </td><td><input type="text" id="nick" name="nick" class="objcts" maxlength="20" />*</label></td></tr>
  59. <tr><td><label>Nombre: </td><td><input type="text" id="nombre" name="nombre" class="objcts" maxlength="30" /></label></td></tr>
  60. <tr><td><label>Apellido: </td><td><input type="text" id="apellido" name="apellido" class="objcts" maxlength="30" /></label></td></tr>
  61. <tr><td><label>Email: </td><td><input type="text" id="email"  name="email" class="objcts" maxlength="40" />*</label></td></tr>
  62. <tr><td><label>Contraseña: </td><td><input type="password" id="contrasena" name="contrasena" class="objcts" maxlength="15"/>*</label></td></tr>
  63.  
  64. <table align="center">
  65. <tr><td><input type="submit" name="registr" value="Registrar" class="objcts"  /></td><td><input type="reset" name="rest2" id="rest2"class="objcts" value="Cancelar" /></td></tr>
  66. </table>
  67.  
  68. </table>
  69. </form>
  70. </div>
  71.  
  72. <!--contenido página no registrados-->
  73. <span id="atras_index" class="atras_index"><label><a href="#" id="Volver" class="linksa">Cerrar Sesión</a></label></span>
  74.  
  75. </body>
  76. </html>

El login.php lo omití, porque ya no lo uso, ya que en el ingresar.php no quiero que genere la cookie y el login lo que hacía era eso, validar la cookie.
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #24 (permalink)  
Antiguo 12/01/2012, 15:21
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

echo "Bienvenido \"$usi\"";

prueba asi en index2

echo 'Bienvenido'.$_SESSION['usuario'];

y me cuentas

en registrase añade al principio del todo antes de nada session_start() si no no crea la session asi:

<?
session_start();
include('conexion.php');
mysql_select_db("wea") or die ("Fallo en la conexión Con la Base de Datos*".mysql_error());
function quitar($mensaje)

en ingresar lo mismo

<?php
session_start();
include('conexion.php');
mysql_select_db("wea") or die ("Fallo en la conexión Con la Base de Datos*".mysql_error());

y en index asi

<?
session_start();
require('conexion.php');


?>



si haces todo eso te deberia de funcionar

Última edición por webankenovi; 12/01/2012 a las 15:28
  #25 (permalink)  
Antiguo 12/01/2012, 15:36
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

=O Síiiiiii ya me funciona :D :D :D Muchas Gracias :D :D :D ya empiezo a entender esa cuestión de las Sesiones gracias a ti webankenobi :D ^^.

Ahora tengo un problemita que supongo puedo resolver con el session_unset o el session_destroy...

Ingreso como pato y me muestra otro nick que usé antes. Lo que puede indicar que esa sesión sigue activa, y según he leido con estas sentencias puedo eliminar sesiones o borrarlas, me equivoco? :l mira el código del logout.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_SESSION['usuario'])){
  4. header ('location: index2.php');
  5. }else{
  6. header('location: index.php');
  7. }
  8. ?>
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia
  #26 (permalink)  
Antiguo 12/01/2012, 15:40
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Contenidos

claro te muestra otro nick por que no borraste la session antigua te paso un script q eliman todo muy bueno COOKIES Y SESSIONES

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. $_SESSION = array();
  5.  
  6.  
  7.  
  8.  
  9. if (ini_get("session.use_cookies")) {
  10.     $params = session_get_cookie_params();
  11.     setcookie(session_name(), '', time() - 42000,
  12.         $params["path"], $params["domain"],
  13.         $params["secure"], $params["httponly"]
  14.     );
  15. }
  16.  
  17. ?>
  #27 (permalink)  
Antiguo 13/01/2012, 14:39
 
Fecha de Ingreso: enero-2012
Ubicación: En una casa
Mensajes: 72
Antigüedad: 12 años, 3 meses
Puntos: 2
Respuesta: Contenidos

:D ^^,

Muchas gracias por tu colaboración webankenovi y por tu orientación. ya me funciona perfectamente, tal como yo lo quería hacer funcionar y agregándole a este post, que aprendí el uso de sesiones de php :D
__________________
Aprendo, Aprendo Aprendo :D A la filosofía de Golden Boy ^^,
Desarrollo Web en Colombia

Etiquetas: contenidos, formato, logeo, login, ocultos, registro
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 03:34.