Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como puedo poner una consulta de un usuario concreto

Estas en el tema de Como puedo poner una consulta de un usuario concreto en el foro de PHP en Foros del Web. Bueno os dejo el código del Me.php que es donde redirecciona tras insertar correctamente los datos en el Inicio de Sesion Código: <!doctype html> <html ...
  #1 (permalink)  
Antiguo 27/11/2013, 10:24
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Como puedo poner una consulta de un usuario concreto

Bueno os dejo el código del Me.php que es donde redirecciona tras insertar correctamente los datos en el Inicio de Sesion

Código:
<!doctype html>
<html lang="es">
	<head>
		<?php
		include("conexion.php");
		?>
		<meta charset='utf-8'>
		<link rel="stylesheet" href="style.css">
		<link href='http://fonts.googleapis.com/css?family=Russo+One' rel='stylesheet'>
	</head>
	<body>
		<div id='contenido'>
			<header>
				<hgroup>
					<h1>Gamonic</h1>
				</hgroup>
			<nav>
				<ul>
					<li><a class="button azul" href='Me.php'>Inicio</a></li>
					<li><a class="button azul" href='Tienda.php'>Tienda</a></li>
					<li><a class="button azul" href='Guia.php'>Guia</a></li>
					<li><a class="button azul" href='Salir.php'>Salir</a></li>
				</ul>
			</nav>
		  </header>
		  <section>
		  	<div id='textoPr'>
		  		<article>
		  			<hgroup>
		  				<h1>¡Bienvenido <?php

						$con = mysql_connect($host,$user,$pass,$db); 
						mysql_select_db("db", $con); 
						$result = mysql_query("SELECT Usuario FROM registro", $con); 
						if ($row = mysql_fetch_array($result)){ 
							echo $row['Usuario'];
						}

					?> a Gamonic!</h1><br>
		  			</hgroup>
		  			<center>
		  			
		  			
		  			</center>
		  	</div>
		  </section>
		</div>
	</body>
</html>
Por más que investigue en google, probe y pense no hay manera.. lo mas cercano que he conseguido es que muestre el primer nombre con este código:

Código:
<h1>¡Bienvenido <?php

						$con = mysql_connect($host,$user,$pass,$db); 
						mysql_select_db("db", $con); 
						$result = mysql_query("SELECT Usuario FROM registro", $con); 
						if ($row = mysql_fetch_array($result)){ 
							echo $row['Usuario'];
						}

					?> a Gamonic!</h1><br>
EDITO: Por si no me he explicado bien, lo que quiero es que el usuario que inicie sesion le salga su nombre

Gracias de antemano
  #2 (permalink)  
Antiguo 27/11/2013, 10:35
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 15 años
Puntos: 96
Respuesta: Como puedo poner una consulta de un usuario concreto

Tienes que guardar su nombre en una variable de session
Código PHP:
Ver original
  1. $_SESSION['username']=$row['usuario'];
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #3 (permalink)  
Antiguo 27/11/2013, 11:02
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Cita:
Iniciado por xSkArx Ver Mensaje
Tienes que guardar su nombre en una variable de session
Código PHP:
Ver original
  1. $_SESSION['username']=$row['usuario'];
Mira como tengo ahora el código:

Código:
<h1>¡Bienvenido <?php
		  				session_start();

						$con = mysql_connect($host,$user,$pass,$db); 
						mysql_select_db("db", $con); 
						$result = mysql_query("SELECT Usuario FROM registro", $con); 
						if ($row = mysql_fetch_array($result)){ 
							echo $_SESSION['username'] = $row['Usuario'];
						}

					?> a Gamonic!</h1><br>
Sigue sin funcionar.. aunque el session_start(); ya lo tenia al iniciar sesión
  #4 (permalink)  
Antiguo 27/11/2013, 11:07
 
Fecha de Ingreso: diciembre-2011
Mensajes: 21
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Como puedo poner una consulta de un usuario concreto

Hola si ejecutas esto en la base de datos que te muestra

Código SQL:
Ver original
  1. SELECT Usuario FROM registro

segun entiendo eso te va a traer todos los registros de Usuario de la tabla porque no tienes ningun WHERE!!!...

comentanos si lograste resolverlo
  #5 (permalink)  
Antiguo 27/11/2013, 11:09
 
Fecha de Ingreso: mayo-2011
Ubicación: Bs.As Argentina
Mensajes: 193
Antigüedad: 11 años, 9 meses
Puntos: 3
Respuesta: Como puedo poner una consulta de un usuario concreto

Cambialo así:

Código PHP:
Ver original
  1. <h1>¡Bienvenido <?php
  2.                        
  3.  
  4.                         $con = mysql_connect($host,$user,$pass,$db);
  5.                         mysql_select_db("db", $con);
  6.                         $result = mysql_query("SELECT Usuario FROM registro", $con);
  7.                         if ($row = mysql_fetch_array($result)){
  8.                                            session_start();                
  9.                                                    echo $_SESSION['username'] = $row['Usuario'];
  10.                         }
  11.  
  12.                     ?> a Gamonic!</h1><br>
  #6 (permalink)  
Antiguo 27/11/2013, 11:31
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Ya probe todo eso y nada, mejor os dejo todos los archivos para que veais como funciona..

Index.php:
Código:
<!doctype html>
<html lang="es">
	<head>
		<meta charset='utf-8'>
		<link rel="stylesheet" href="style.css">
		<link href='http://fonts.googleapis.com/css?family=Russo+One' rel='stylesheet'>
	</head>
	<body>
		<div id='contenido'>
			<header>
				<hgroup>
					<h1>Gamonic</h1>
				</hgroup>
			<nav>
				<ul>
					<li><a class="button azul" href='Index.html'>Inicio</a></li>
					<li><a class="button azul" href='Register.html'>Registro</a></li>
					<li><a class="button azul" href='Login.html'>Conecta</a></li>
				</ul>
			</nav>
		  </header>
		  <section>
		  	<div id='textoPr'>
		  		<article>
		  			<hgroup>
		  				<h1>Diviertete en el mayor mmo via web en español</h1><br>
		  			</hgroup>
		  			<center>
		  			<form action="login.php" method="post">
		  				<table width"200" border="0">
		  					<tr>
		  						<td>Usuario:</td>
		  						<td><input type="text" name="user"></td>
		  					</tr>
		  					<tr>
		  						<td>Contraseña:</td>
		  						<td><input type="password" name="pass"></td>
		  					</tr>
		  					<tr>
		  						<td><input type="submit" value="Entrar"</td>
		  					</tr>
		  				</table>
		  			</form>
		  			</center>
		  	</div>
		  </section>
		</div>
	</body>
</html>
Login.php:
Código:
<?php
session_start();
include("conexion.php");

if(isset($_POST['user']) && !empty($_POST['user']) &&
isset($_POST['pass']) && !empty($_POST['pass']))
{
	$con=mysql_connect($host,$user,$pass,$db)or die ("Problemas con servidor");
	mysql_select_db($db,$con)or die("Problemas con BD");

		$sel=mysql_query("SELECT Usuario,Contra FROM registro WHERE Usuario = '$_POST[user]'",$con);

$sesion=mysql_fetch_array($sel);


if($_POST['pass'] == $sesion['Contra']){
	$_SESSION['username'] = $_POST['user'];
	
	header("Location: PreMe.php");
}
else{
	echo "Combinacion mal";
}

}else{
	echo "Debes llenar todos los campos";
}

?>
PreMe.php:
Código:
<?php
session_start();

if(isset($_SESSION['username'])){
	include("Me.php");
}else{
	echo"No puedes ver esta pagina";
}
?>
Me.php:
Código:
<!doctype html>
<html lang="es">
	<head>
		<?php
		include("conexion.php");
		?>
		<meta charset='utf-8'>
		<link rel="stylesheet" href="style.css">
		<link href='http://fonts.googleapis.com/css?family=Russo+One' rel='stylesheet'>
	</head>
	<body>
		<div id='contenido'>
			<header>
				<hgroup>
					<h1>Gamonic</h1>
				</hgroup>
			<nav>
				<ul>
					<li><a class="button azul" href='Me.php'>Inicio</a></li>
					<li><a class="button azul" href='Tienda.php'>Tienda</a></li>
					<li><a class="button azul" href='Guia.php'>Guia</a></li>
					<li><a class="button azul" href='Salir.php'>Salir</a></li>
				</ul>
			</nav>
		  </header>
		  <section>
		  	<div id='textoPr'>
		  		<article>
		  			<hgroup>
		  				<h1>¡Bienvenido <?php

						$con = mysql_connect($host,$user,$pass,$db); 
						mysql_select_db("db", $con); 
						$result = mysql_query("SELECT Usuario FROM registro", $con); 
						if ($row = mysql_fetch_array($result)){ 
							echo $row['Usuario'];
						}

					?> a Gamonic!</h1><br>
		  			</hgroup>
		  			<center>
		  			
		  			
		  			</center>
		  	</div>
		  </section>
		</div>
		<a href='Destroy.php'>Cerrar Sesion</a>
	</body>
</html>
Lo puse en orden de donde inicia sesion hasta el Me.php
  #7 (permalink)  
Antiguo 27/11/2013, 13:24
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Por favor alguna ayuda?..
  #8 (permalink)  
Antiguo 27/11/2013, 14:09
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Ayuda :s !
  #9 (permalink)  
Antiguo 27/11/2013, 14:17
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 9 años, 6 meses
Puntos: 9
Respuesta: Como puedo poner una consulta de un usuario concreto

Sin sacar datos ni nada, tal cómo tienes todo...
En la me, que ya esté logueado...

Pon una etiqueta php y pon lo siguiente:

Código PHP:
Ver original
  1. <?php
  2. echo $_SESSION['username'];
  3. ?>
  #10 (permalink)  
Antiguo 27/11/2013, 14:23
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Cita:
Iniciado por TSG Ver Mensaje
Sin sacar datos ni nada, tal cómo tienes todo...
En la me, que ya esté logueado...

Pon una etiqueta php y pon lo siguiente:

Código PHP:
Ver original
  1. <?php
  2. echo $_SESSION['username'];
  3. ?>
¿Donde pongo ese código? y en el Me.php tenia para que no deje entrar si no estas logueado pero entonces no me dejaba poner el html de la pagina, y busque en google sobre eso y no encontre nada :s
  #11 (permalink)  
Antiguo 27/11/2013, 14:34
Avatar de TSG
TSG
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 373
Antigüedad: 9 años, 6 meses
Puntos: 9
Respuesta: Como puedo poner una consulta de un usuario concreto

Aquí te dejo un login mejor que he compuesto y es más seguro pruebalo y de hay saca tus versiones...
PD: Dónde pone "hola" has de sustituirlo por tus datos.
Antes que nada recuerda incluir el:

Código PHP:
Ver original 

y la conexión a la base de datos:

Código PHP:
Ver original
  1. include "lokesea.php";

Código PHP:
Ver original
  1. <?php
  2.  
  3.     if(isset($_SESSION['logged'])){
  4.         header("Location: preme.php");
  5.         else{
  6.         echo "error";
  7.         }
  8.     }
  9.     else{
  10.  
  11.     echo '<center><form action="" method="POST">
  12.    <input type="text" name="usuario" placeholder="usuario"><br><br>
  13.    <input type="password" name="password" placeholder="Contraseña"><br><br>
  14.    <input type="submit" name="login" value="Entrar">
  15.    </form></center>';}
  16.  
  17.     if(isset($_POST['login'])){
  18.     if(empty($_POST['usuario']) || empty($_POST['password'])){
  19.         echo "Por favor rellene todos los campos.";}
  20.  
  21.         else {
  22.             $usuario = mysqli_real_escape_string($conexion, $_POST['usuario']);
  23.             $password = mysqli_real_escape_string($conexion, $_POST['password']);
  24.             $sql = mysqli_query($conexion, "SELECT * FROM hola WHERE hola ='".$usuario."' AND password='".$password."' LIMIT 1")or die(mysqli_error());
  25.  
  26.             if(mysqli_num_rows($sql) == 1) {
  27.                 $row = mysqli_fetch_assoc($sql);
  28.                 $_SESSION['id'] = $row['id'];
  29.                 $_SESSION['usuario'] = $row["usuario"];
  30.                 $_SESSION['logged'] = TRUE;
  31.                 echo '<meta http-equiv="Refresh" content="0;url=http://dondekieras">';
  32.             }
  33.             else
  34.             {
  35.                 echo 'Usuario o contraseña incorrecta.';
  36.             }
  37.         }
  38.    
  39.     }
  40.  
  41.     ?>

Y ahora si quieres hacer un archivo solo que puedan entrar si esta loggueados has de hacer esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_SESSION['logged'])){
  4.  
  5. ?>
  6.  
  7. Aquí todo el html
  8.  
  9. <?php
  10. }
  11. else{
  12. echo "Lo sentimos no estas loggueado";
  13. }
  14. ?>

El archivo de conexion (Lo editas a tu gusto):

Código PHP:
Ver original
  1. <?php
  2.  
  3. $servidor = "localhost";
  4. $usuario = "root";
  5. $clave = "";
  6. $base_de_datos = "";
  7.  
  8. $conexion = mysqli_connect($servidor,$usuario,$clave)or die(mysqli_error());
  9. mysqli_select_db($conexion,$base_de_datos)or die(mysqli_error());
  10.  
  11. ?>

Pruebalo y coméntanos.
Un cordial saludo.

Última edición por TSG; 27/11/2013 a las 14:49
  #12 (permalink)  
Antiguo 27/11/2013, 15:49
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Cita:
Iniciado por TSG Ver Mensaje
Aquí te dejo un login mejor que he compuesto y es más seguro pruebalo y de hay saca tus versiones...
PD: Dónde pone "hola" has de sustituirlo por tus datos.
Antes que nada recuerda incluir el:

Código PHP:
Ver original 

y la conexión a la base de datos:

Código PHP:
Ver original
  1. include "lokesea.php";

Código PHP:
Ver original
  1. <?php
  2.  
  3.     if(isset($_SESSION['logged'])){
  4.         header("Location: preme.php");
  5.         else{
  6.         echo "error";
  7.         }
  8.     }
  9.     else{
  10.  
  11.     echo '<center><form action="" method="POST">
  12.    <input type="text" name="usuario" placeholder="usuario"><br><br>
  13.    <input type="password" name="password" placeholder="Contraseña"><br><br>
  14.    <input type="submit" name="login" value="Entrar">
  15.    </form></center>';}
  16.  
  17.     if(isset($_POST['login'])){
  18.     if(empty($_POST['usuario']) || empty($_POST['password'])){
  19.         echo "Por favor rellene todos los campos.";}
  20.  
  21.         else {
  22.             $usuario = mysqli_real_escape_string($conexion, $_POST['usuario']);
  23.             $password = mysqli_real_escape_string($conexion, $_POST['password']);
  24.             $sql = mysqli_query($conexion, "SELECT * FROM hola WHERE hola ='".$usuario."' AND password='".$password."' LIMIT 1")or die(mysqli_error());
  25.  
  26.             if(mysqli_num_rows($sql) == 1) {
  27.                 $row = mysqli_fetch_assoc($sql);
  28.                 $_SESSION['id'] = $row['id'];
  29.                 $_SESSION['usuario'] = $row["usuario"];
  30.                 $_SESSION['logged'] = TRUE;
  31.                 echo '<meta http-equiv="Refresh" content="0;url=http://dondekieras">';
  32.             }
  33.             else
  34.             {
  35.                 echo 'Usuario o contraseña incorrecta.';
  36.             }
  37.         }
  38.    
  39.     }
  40.  
  41.     ?>

Y ahora si quieres hacer un archivo solo que puedan entrar si esta loggueados has de hacer esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_SESSION['logged'])){
  4.  
  5. ?>
  6.  
  7. Aquí todo el html
  8.  
  9. <?php
  10. }
  11. else{
  12. echo "Lo sentimos no estas loggueado";
  13. }
  14. ?>

El archivo de conexion (Lo editas a tu gusto):

Código PHP:
Ver original
  1. <?php
  2.  
  3. $servidor = "localhost";
  4. $usuario = "root";
  5. $clave = "";
  6. $base_de_datos = "";
  7.  
  8. $conexion = mysqli_connect($servidor,$usuario,$clave)or die(mysqli_error());
  9. mysqli_select_db($conexion,$base_de_datos)or die(mysqli_error());
  10.  
  11. ?>

Pruebalo y coméntanos.
Un cordial saludo.
Estuve haciendo varias pruebas y a todo me da errores, y modifico el código que me pasaste correctamente, por si acaso me podrías decir en que archivo colocar cada cosa? lo siento por molestar, gracias.
  #13 (permalink)  
Antiguo 27/11/2013, 16:49
 
Fecha de Ingreso: febrero-2013
Mensajes: 20
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Como puedo poner una consulta de un usuario concreto

Ya lo solucione, gracias a todos.

Etiquetas: html, mysql, registro, select, usuario
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 10:34.