Comunidad de diseño web y desarrollo en internet online

mostar profile.php a registrados y no registrados

Citar            
MensajeEscrito el 28 Dic 2010 05:27 am
hola a todos , bueno estoy tratando de mostrar los post de cada usuario en su respectiva pagina profile.php y que todos puedan verla, registrados y no registrados. pero nose como lo puedo hacer.
cada usuario tiene su pagina member.php, en la cual puede editar y postear(esta pagina member.php esta con session de usuario y por supuesto solo ese usuario puede verla ) y despues esta profile.php, en la cual se muestran todos los post de ese usuario. hasta ahi no hay problema, lo que pretendo es como puedo hacer para mostrar los post de ese usuario y que ademas cualquiera pueda ver la pagina profile.php , si le saco la session de usuario que le tengo a profile.php, no puedo conseguir los post, porque como llamo a los datos de cada usuario? , nose como hacerlo, si me pueden ayudar, muchas gracias. la estructura que tengo es asi.

//member.php
<?php
session_start();
?>
<hr>
<?php
if (isset($_SESSION['user'])) { ?>
<p>registrado como: <?php echo $_SESSION['user']; ?>

| <a href="profile.php">profile</a>

| <a href="logout.php">Logout</a>

<?php } ?>
<?php


include ('coneccion.php');

$query = 'SELECT `user_name` FROM `usuarios` WHERE `user_email` ="'.$_SESSION[user].'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
$username = $row['user_name'];?>


<?php
$titulo = $_POST[titulo];
$mensaje = $_POST[mensaje];
?>
<form method="post" action="postear.php" enctype="multipart/form-data"> <p> </p>

<b style='color:blue;'> titulo </b>

<input type="text" name="titulo" value="<? echo $titulo ?>"/> <br>
<br>
<b style='color:blue;'> mensaje : </b>

<textarea rows="10" cols="55" name="mensaje" ><? echo $mensaje ?></textarea> <br/> <br/>
<input TYPE="submit" name="upload" " value="Submit"/> </form>


<?php

$query = 'SELECT * FROM mensajes WHERE `user_email` ="'.$_SESSION[user].'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$username = $row['user_name'];
$titulo = $row['titulo'];
$mensaje = $row['mensaje'];

Echo "<b>titulo:</b><h3 style='color:darkblue;'>". $titulo. "</h3><br> ";
Echo "<b>mensaje:</b><p style='line-height:28px;'>". $mensaje.";

}
?>

//profile.php

aqui tengo lo mismo que en member.php , lo unico que no esta es el form, todo lo demas esta igual ,
entocnes la idea es traer todos los post publicados en member.php de ese usuario aquí, y cuando ingrese ejemplo www.url.com/username/profile.php , todos lo puedan ver, registrados y no registrados.
pensaba quitarle la session_start () y $_SESSION['user']; pero si lo hago como traigo los datos aca de ese usuario?, espero haberme explicado bien.

quedo atento respuestas de ayuda, muchas gracias.

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Dic 2010 06:31 am
los datos del usuario que necesitas estan en la url, ahi se encuentra el username, no necesitas los datos del usuario de la sesion pues puede no haber sesion segun tu actual necesidad, obtienes el username que solicita la url y lo emparejas con el username en la base de datos y ya que tengas hecho el query puedes obtener toda la informacion del usuario que solicitan, asi por ejemplo www.url.com/tribak/profile.php con tribak como username y tras emparejar el usuario con sus respectivos datos en la tabla te devolveria mis posts

NECESITAS eliminar la verificacion de que si el usuario está o no logeado pues los usuarios no logeados aun pueden entrar a ver profile

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 28 Dic 2010 04:58 pm
perfecto, gracias tribak, voy realizar lo que me dijiste y luego lo informo aqui, saludos

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Dic 2010 08:47 pm
//profile.php


<?php
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
?>

<?php

$username = $_REQUEST["user_name"];

include ('coneccion.php');

$query = 'SELECT `user_name` FROM `usuarios` WHERE `user_name` ="'.$username.'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
$username = $row['user_name'];?>


<?php
$titulo = $_POST[titulo];
$mensaje = $_POST[mensaje];
?>
<form method="post" action="postear.php" enctype="multipart/form-data"> <p> </p>

<b style='color:blue;'> titulo </b>

<input type="text" name="titulo" value="<? echo $titulo ?>"/> <br>
<br>
<b style='color:blue;'> mensaje : </b>

<textarea rows="10" cols="55" name="mensaje" ><? echo $mensaje ?></textarea> <br/> <br/>
<input TYPE="submit" name="upload" " value="Submit"/> </form>


<?php

$query = 'SELECT * FROM mensajes WHERE `user_name` ="'.$username'"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$username = $row['user_name'];
$titulo = $row['titulo'];
$mensaje = $row['mensaje'];

Echo "<b>titulo:</b><h3 style='color:darkblue;'>". $titulo. "</h3><br> ";
Echo "<b>mensaje:</b><p style='line-height:28px;'>". $mensaje.";

}
?>

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 28 Dic 2010 08:50 pm
pense que podia ser facil, pero no logro conseguir el username desde la URL , lo de arriba es lo que tengo, sorry si es que estoy muy perdido.

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 29 Dic 2010 02:23 am
esta parte de codigo deberia darte el username en tu url:

Código PHP :

<?
$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
$newUrl = explode ("/",parse_url($url, PHP_URL_PATH));
echo $newUrl[1];
?>


la ultima parte de tu codigo tiene dos errores corregidos en las siguientes lineas:

Código PHP :

<?php

$query = 'SELECT * FROM mensajes WHERE `user_name` ="$username"';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$username = $row['user_name'];
$titulo = $row['titulo'];
$mensaje = $row['mensaje'];

Echo "<b>titulo:</b><h3 style='color:darkblue;'>". $titulo. "</h3><br> ";
Echo "<b>mensaje:</b><p style='line-height:28px;'>". $mensaje;

}
?> 


uno en el query y el otro en el ultimo echo

suerte

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 29 Dic 2010 03:13 am
justo cuando entro a postear el resultado , veo tu respuesta,
pude resolverlo,

agregue esto

<?php
$url = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER

['REQUEST_URI'];
$path = parse_url($url);
$folders = explode("/", $path['path']);


$carpeta = $folders[2];

echo $carpeta;


?>
eso despues lo puse en el query igualando a los datos de la base de datos
WHERE user_name = '".$carpeta."';

muy agradecido por tu ayuda , cada vez voy aprendiendo , agradecido tribak, saludos

Por nihao

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 29 Dic 2010 03:36 am
pues tu codigo es similar, excelente :)

mucha suerte

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.