Foros del Web » Programando para Internet » PHP »

Duda para poner una cosa dentro de este codigo.

Estas en el tema de Duda para poner una cosa dentro de este codigo. en el foro de PHP en Foros del Web. Hola amigos, este codigo que escribo funciona perfectamente. Pero quiero que salgan unos datos que no consigo poner por ejemplo usuario "ana" contraseña "222" tras ...
  #1 (permalink)  
Antiguo 27/05/2011, 09:08
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Duda para poner una cosa dentro de este codigo.

Hola amigos, este codigo que escribo funciona perfectamente. Pero quiero que salgan unos datos que no consigo poner

por ejemplo usuario "ana" contraseña "222" tras hacer login, con ellos, me acepta la entrada y en "member.php" me aparece lo siguiente " Bienvenido, Ana! Desconectar "

mi pregunta es ¿ que tengo que hacer para que a parte de " Bienvenido, Ana! Desconectar " en "member.php" aparesca los otros datos de la tabla que en este caso seria "madrid" y "25" ?

Seria una cosa asi en "member.php": Bienvenido, Ana ! tienes 25 años y vives en madrid. Desconectar

Muchas gracias espero haberme explicado bien.

-------------- MYSQL -----------------

BASE DE DATOS: usuarios
TABLA: users


id - username - password - city - age

1 tomas 123 londres 30
2 ana 222 madrid 25
3 juan 321 sevilla 33




---------------------------------" cnx.php "----------------------------------

<?php


$hostname_cnx = "localhost";
$database_cnx = "usuarios";
$username_cnx = "root";
$password_cnx = "";

$cnx = mysql_pconnect($hostname_cnx, $username_cnx, $password_cnx) or trigger_error(mysql_error(),E_USER_ERROR);
?>

---------------------------------------------------------------------------------------



----------------------------- " index.php " -------------------------------------

<html>
<head>

<title>index</title>
</head>

<body>

<form action='login.php' method='POST'>
Usuario: <input name='username' type='text' size="35"> <br>
Contraseña: <input name='password' type='password' size="30"> <br>
<input type='submit' value='Entrar'>
</form>

</body>
</html>
-------------------------------------------------------------------------------------------


----------------------------------- " login.php " ---------------------------------------------

<?php

session_start();

if ($_SESSION['username'])
echo "Bienvenido, ".$_SESSION['username']."!<br><a href='logout.php'>";


$username = $_POST['username'];
$password = $_POST['password'];


if ($username&&$password)

{
$connect = mysql_connect("localhost","root","") or die ("Error de conexion !");

mysql_select_db("usuarios") or die ("Error de conexion !");

$query = mysql_query("SELECT * FROM users WHERE username='$username'");

$numrows = mysql_num_rows($query);

if ($numrows!=0)
{
// codigo de login
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'];
$dbpassword = $row['password'];
}

// check to see ir they match
if ($username==$dbusername&&$password==$dbpassword)
{
echo "Estas dentro!. <a href='member.php'>Click</a> aque para continuar";

$_SESSION['username']=$username;
}
else
echo "Contraseña incorrecta.";

}


else
die("Ese Usuario no existe, por favor intentelo de nuevo.");

echo $numrows;

}
else
die ("Por favor, pon tu usuario y contraseña.");


?>
--------------------------------------------------------------------------------------------------------




------------------------------ " member.php " ----------------------------------------


<html>
<head>

<title>member</title>
</head>

<body>

<?php

session_start();

if ($_SESSION['username'])
echo "Bienvenido, ".$_SESSION['username']."!<br><a href='logout.php'>Desconectar</a>";


else
die("Debes Logearte para entrar");


?>
</body>
</html>

----------------------------------------------------------------------------------------------------




------------------------------------- " logout.php " -----------------------------------------------


<?php

session_start();

session_destroy();

echo "Estas desconectado <a href='index.php'>Click aqui</a> para volver";

?>

--------------------------------------------------------------------------------------------------------
  #2 (permalink)  
Antiguo 27/05/2011, 09:15
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda para poner una cosa dentro de este codigo.

solo imprime

Código PHP:
Ver original
  1. <?php
  2. echo $row['city'];
  3. echo $row['age'];
  4. ?>
  #3 (permalink)  
Antiguo 27/05/2011, 09:47
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Duda para poner una cosa dentro de este codigo.

Lamentablemente eso ya lo habia hecho yo, y no funciona.

es algo mas complejo. por eso no hayo la solucion, gracias de todos modos.
  #4 (permalink)  
Antiguo 27/05/2011, 10:00
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda para poner una cosa dentro de este codigo.

no es más complejo, lo que pasa es que no lo haces bien.

cuando haces esto:

Código PHP:
Ver original
  1. while ($row = mysql_fetch_assoc($query))

haces que se recorra todo el array de resultados.

por lo que cuando imprimes lo que te dije, ya no hay ningun valor, si pones

mysql_data_seek()

despues del while, regresara el puntero al inicio

y podras imprimir lo que te dije
  #5 (permalink)  
Antiguo 27/05/2011, 10:00
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Duda para poner una cosa dentro de este codigo.

Desde la consulta que haces para traer el "Bienvenido" debes agregar los campos, no es nada mas que eso, y despues como dijo memoadian debes realizar el echo
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #6 (permalink)  
Antiguo 27/05/2011, 10:01
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 2 meses
Puntos: 53
Respuesta: Duda para poner una cosa dentro de este codigo.

si no hay user name repetidos podrias hhacer una consulta con la variable de sesion

$datos=$_SESSION['username'];

$sql=select * from users where username =$datos;
$res1=mysql_query($sql);
$res2=mysql_fetch_array($res1);
echo $res2['city'];
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #7 (permalink)  
Antiguo 27/05/2011, 10:03
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda para poner una cosa dentro de este codigo.

es solo regresar el puntero despues del while, lee lo que te escribí,
aqui el link en español de como usar mysql_data_seek


http://php.net/manual/es/function.mysql-data-seek.php

aunque también como dice bullan, asiganalos a una variable. y la tendrás disponible para el resto del script.
  #8 (permalink)  
Antiguo 27/05/2011, 10:06
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: Duda para poner una cosa dentro de este codigo.

Hola amigo, eso lo logras con base de datos y arreglos.

ejemplo:

Supongamos que tengo éste único registro en la base de datos:
Código SQL:
Ver original
  1. Tabla: usuarios
  2.  
  3. id 1,
  4. username maria,
  5. password *******,
  6. age 25,
  7. FROM madrid.


La consulta SQL con PHP la haría de esta forma

Código PHP:
Ver original
  1. $sql ="SELECT * FROM usuarios WHERE username='Maria' AND password='*******'";
  2. $query = mysql_query("$sql");
  3.  
  4. if(msql_num_rows($query) !=0){
  5.         //Si hay registros diferentes de 0, hago la consulta SQL
  6.        while($row = mysql_fetch_array($query)){
  7.               $username = $row['username'];
  8.               $age = $row['age'];
  9.               $from = $row['from'];
  10.        }//Fin del while
  11.  
  12. echo "Hola   ".$username.", tienes ".$age." años y vives en    ".$from." . ";
  13.    //Te imprime: Hola Maria, tienes 25 años y vives en madrid
  14. }//Fin del if
  15.  
  16.  else { echo "No hay un usuario con estos datos"; }



Es todo, saludos.


EDITO: No había visto que ya hacias esto en tu codigo, dejo mi post por si te sirve de algo. Saludos.
Es como te dijeron arriba, solo tienes que incluir el

Código PHP:
Ver original
  1. <?php
  2. echo $row['city'];
  3. echo $row['age'];
  4. ?>

En el archivo, si quieres mostrarlos en otro archivo debes hacer uso de sesiones.

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #9 (permalink)  
Antiguo 27/05/2011, 11:19
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Duda para poner una cosa dentro de este codigo.

Gracias pero sigo sin dar con la solucion, intente todo eso, pero soy tan novato que no se hacerlo bien :(

no me entero poniendo el mysql_data_seek() no se hacerlo.
  #10 (permalink)  
Antiguo 27/05/2011, 12:17
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Duda para poner una cosa dentro de este codigo.

Código PHP:
Ver original
  1. while ($row = mysql_fetch_assoc($query))
  2. {
  3. $dbusername = $row['username'];
  4. $dbpassword = $row['password'];
  5. $ciudad = $row['city'];
  6. $edad = $row['age'];
  7. }
  8.  
  9. echo $ciudad;
  10. echo $edad;
  #11 (permalink)  
Antiguo 27/05/2011, 13:56
 
Fecha de Ingreso: enero-2011
Mensajes: 46
Antigüedad: 13 años, 3 meses
Puntos: 2
Respuesta: Duda para poner una cosa dentro de este codigo.

guarda los datos que necesitas en variables SESSION

echo "Bienvenido, ".$_SESSION['username']." tienes ".$_SESSION[edad]." años y vives en ".$_SESSION[pais]." <br> <a href='logout.php'>Desconectar</a>
  #12 (permalink)  
Antiguo 27/05/2011, 14:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 14
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Duda para poner una cosa dentro de este codigo.

Nada :S que no me sale. q por mas que lo intento y le doy vueltas y lo cambio, no consigo nada :(

Edito:

YA LO ARREGLEEEEEEEE :D

Gracias gracias chicos, soys todos unos cracks, los mas mejores. biennnnnnnnnnnnnnnnnnnnnnnnn

Última edición por Naylher; 28/05/2011 a las 02:56

Etiquetas: Ninguno
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 20:25.