Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como mostrar un error en vez de dos

Estas en el tema de Como mostrar un error en vez de dos en el foro de PHP en Foros del Web. Hola gente tengo un problema que se que es fácil arreglar pero la verdad a mi me esta matando ya que no logro hacerlo. Tengo ...
  #1 (permalink)  
Antiguo 04/01/2014, 18:50
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 0
Como mostrar un error en vez de dos

Hola gente tengo un problema que se que es fácil arreglar pero la verdad a mi me esta matando ya que no logro hacerlo.
Tengo un sistema de noticias, cuando la noticia no tiene comentarios te muestra un mensaje de que no hay comentarios y cuando no estas logueado te muestra un mensaje que te dice que solo usuarios logueados pueden comentar. De tal forma que se ve asi:



En cambio cuando estoy logueado uno de los mensajes desaparece dandome la posibilidad de poder comentar la noticia:



Lo que yo necesito hacer es lo siguiente.

Cuando una noticia NO tiene comentarios y el usuario NO esta logueado que solo muestre la noticia azul y que cuando una noticia NO tiene comentarios pero el usuario SI esta logueado entonces que muestre el mensaje azul y debajo la opcion de agregar un comentario.

Aca dejo el codigo para el que me pueda ayudar :D

Código PHP:
<?php
session_start
();

$id $_GET['id'];
echo 
'<h2>Comentarios:</h2>';

require(
'conf/mysql.php');
$query mysql_query("SELECT * FROM comentarios WHERE noticia =".$id." ORDER BY id DESC LIMIT 10");
if(
mysql_num_rows($query)!=0){
while(
$fila mysql_fetch_array($query)){
    echo 
"
    <div id='content' style='margin-bottom: 6px;'>
        <div class='comentarios_img'>
            <img src='images/upload/oscarb95.jpg' alt='' />
        </div>
        <div class='comentarios_con'>
            <div class='comentarios_details'>
                <div class='comentarios_autor'>
                    <span>Publicado por <a href='#'>"
.$fila['usuario']."</a></span>
                </div>
                <div class='comentarios_date'>
                    En el "
.$fila['dia']."/".$fila['mes']."/".$fila['ano']."
                </div>
                <div class='clr'></div>
            </div>
            <div id='text' style='background: #ffffff;margin-left:4px;width:514px;border: 1px solid #8c8c8c;min-height: 66px;'>
                <p>"
.$fila['texto']."</p>
            </div>
        </div>
        <div class='clr'></div>
        </div>
        "
;}
    }else{
        echo 
'<blockquote class="info">Esta noticia no tiene comentarios, se el primero en comentar !</blockquote><br />';
}
if(
$_SESSION['login'] == true){
    include(
'add_comentario.php');
}else{
    echo 
'<blockquote class="error">Solo usuarios registrados pueden comentar las noticias !</blockquote><br />';
}

?>
Desde ya muchas gracias :D
  #2 (permalink)  
Antiguo 04/01/2014, 19:55
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Como mostrar un error en vez de dos

Como trabajas con sesiones, mediante una condición restringe la visualización del primer mensaje de error solamente cuando exista una sesión iniciada.

Código PHP:
Ver original
  1. if (isset($_SESSION["usuario"]))
  2.     echo "Mensaje de alerta sólo visible para usuarios registrados";

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 04/01/2014, 20:13
 
Fecha de Ingreso: junio-2013
Ubicación: Mar del Plata
Mensajes: 122
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Como mostrar un error en vez de dos

aaaah ya entendi, muchas gracias :D

Etiquetas: mysql, select, sql, usuarios, vez
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 23:59.