Como puedo mostrar contenido si el usuario tiene la id 1 o ocultarlo si el usuario tiene la id 0
<!-- PUBLICACIONES !-->
<div class="post-entry">
<?php the_content( __( 'Read more &#8250;', 'responsive' ) ); ?>
<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
</div>
<!-- FINAL DE LAS PUBLICACIONES !-->
Necesito ocultar el siguiente contenido, tengo una conexión con la base de datos en la cual asigno una id si eres administrador eres 1 y si no eres 0, si eres 1 puedes ver el contenido publicado, si eres 0 no puedes verlo, alguien sabe puedo hacerlo :S
Está es la conexión con la base de datos
<!-- CONEXION !-->
<?php
function Conectarse()
{
$db_host="XXXXXXXX"; // Host al que conectar, habitualmente es el 'localhost'
$db_nombre="XXXXXXXX"; // Nombre de la Base de Datos que se desea utilizar
$db_user="XXXXXXXX"; // Nombre del usuario con permisos para acceder
$db_pass="XXXXXXXX"; // Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos '$link'
$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
mysql_query("SET NAMES 'utf8'");
return $link;
}
$link = Conectarse();
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])) {
$SU = $_SESSION['usuario'];
$SP = $_SESSION['password'];
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
define("User", true);
}
} else {
define("User", false);
}
if ($myrow['admin'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
if (User == false) {
header('Location: /');
}
?>
Pues si sabes usar condicionales, haz uno. :P
if($var == 1){ echo "mostrar"; }else{ echo "No Mostrar"; }
<?php
if($puedeVerlo){
?>
<div>Contenido</div>
<?php
}
?>
¿Por ejemplo?
Cita de: ivancea96 en 1 Septiembre 2016, 14:49 PM
<?php
if($puedeVerlo){
?>
<div>Contenido</div>
<?php
}
?>
¿Por ejemplo?
Pero donde le pongo si es id 1 o id 0 Y.Y estoy perdido
<?php
if($id == 1){
?>
<div>Zona de administrador</div>
<?php
}
?>
En fin, es un if sin más. Si está autorizado a ver el contenido, lo muestras. Si no, no se lo muestras.
Así lo tengo pero nada :-(
<?php
if($myrow['permisos'] == 1) {
?>
<!-- PUBLICACIONES !-->
<div class="post-entry">
<?php the_content( __( 'Read more &#8250;', 'responsive' ) );
?>
<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
</div>
<?php
}
?>
<!-- FINAL DE LAS PUBLICACIONES !-->
Muchas gracias por ayudarme
supongo que $myrow['permisos'] esta devolviendo una cadena y no asi un numero
asegurate que son del mismo tipo en tu comparacion :silbar:
Tira el resultado de var_dump($myrow['permisos']);
Cita de: Shell Root en 1 Septiembre 2016, 16:24 PM
Tira el resultado de var_dump($myrow['permisos']);
Nada..
La tabla es users y dentro de users está permisos que es 1 o 0 >:(
Prueba a hacer un print_r( $myrow );
A ver qué tiene (y por qué 'permisos' no es nada)
:-X :-X :-X al menos ya sabes que $myrow['permisos'] es el problema y no asi la condicional
No logro hacerlo como debo poner el print?
En cualquier lugar para que se vea.
Pon por ejemplo:
<div> <?php print_r( ... ); ?> </div>
Cita de: ivancea96 en 1 Septiembre 2016, 16:34 PM
Prueba a hacer un print_r( $myrow );
A ver qué tiene (y por qué 'permisos' no es nada)
No me aparece nada al ponerlo T.T
<div> <?php print_r($myrow); ?> </div>
<?php
if($myrow['permisos'] == 1) {
?>
<!-- PUBLICACIONES !-->
<div class="post-entry">
<?php the_content( __( 'Read more &#8250;', 'responsive' ) );
?>
<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
</div>
<?php
}
?>
<!-- FINAL DE LAS PUBLICACIONES !-->
Abajo de el todo tengo esto:
Y me aparece que Si que tengo permisos pero no me muestra el contenido
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
define("User", true);
}
} else {
define("User", false);
}
if ($myrow['permisos'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
if (User == false) {
header('Location: /');
}
?>
Cita de: WIитX en 1 Septiembre 2016, 17:47 PM
Abajo de el todo tengo esto:
Y me aparece que Si que tengo permisos pero no me muestra el contenido
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
define("User", true);
}
} else {
define("User", false);
}
if ($myrow['permisos'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
if (User == false) {
header('Location: /');
}
?>
¿Tienes la declaración de la variable $myrow abajo del todo?
Si es así, nono. Eso debería ir arriba. No vas a poder utilizar esa variable hasta que llegue a esa parte del código.
sí lo tengo abajo mira copio y pego todo el código
<?php
/*
Template Name: Plantilla de contrato programa 2
*/
?>
<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) {
exit;
}
/**
* Full Content Template
*
*
* @file full-width-page.php
* @package Responsive
* @author Emil Uzelac
* @copyright 2003 - 2014 CyberChimps
* @license license.txt
* @version Release: 1.0
* @filesource wp-content/themes/responsive/full-width-page.php
* @link http://codex.wordpress.org/Theme_Development#Pages_.28page.php.29
* @since available since Release 1.0
*/
get_header(); ?>
<div id="content-full" class="grid col-940">
<?php if ( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
<?php responsive_entry_before(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php responsive_entry_top(); ?>
<?php get_template_part( 'post-meta', get_post_type() ); ?>
<div> <?php print_r($myrow); ?> </div>
<?php
if($myrow['permisos'] == 1) {
?>
<!-- PUBLICACIONES !-->
<div class="post-entry">
<?php the_content( __( 'Read more &#8250;', 'responsive' ) );
?>
<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
</div>
<?php
}
?>
<!-- FINAL DE LAS PUBLICACIONES !-->
<!-- end of .post-entry -->
<?php get_template_part( 'post-data', get_post_type() ); ?>
<?php responsive_entry_bottom(); ?>
</div><!-- end of #post-<?php the_ID(); ?> -->
<?php responsive_entry_after(); ?>
<?php
endwhile;
get_template_part( 'loop-nav', get_post_type() );
else :
get_template_part( 'loop-no-posts', get_post_type() );
endif;
?>
</div><!-- end of #content-full -->
<!-- CONEXION PHP !-->
<?php
function Conectarse()
{
$db_host="XXXXXX"; // Host al que conectar, habitualmente es el 'localhost'
$db_nombre="XXXXXX"; // Nombre de la Base de Datos que se desea utilizar
$db_user="XXXXXX"; // Nombre del usuario con permisos para acceder
$db_pass="XXXXXX"; // Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos '$link'
$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
mysql_query("SET NAMES 'utf8'");
return $link;
}
$link = Conectarse();
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])) {
$SU = $_SESSION['usuario'];
$SP = $_SESSION['password'];
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
define("User", true);
}
} else {
define("User", false);
}
if ($myrow['permisos'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
if (User == false) {
header('Location: /');
}
?>
<?php get_footer(); ?>
creo que deberia ser asi:
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])) {
$SU = $_SESSION['usuario'];
$SP = $_SESSION['password'];
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
if ($myrow['permisos'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
define("User", true);
}
} else {
define("User", false);
}
if (User == false) {
header('Location: /');
}
?>
Citarif(mysql_num_rows($GetUser) > 0) {
es una condicional y por eso tu variable $myrow no tiene ningun valor
saluds
No. No puede estar abajo. Tiene que etsar arriba. Si usas una variable antes de asignarle un valor, no obtendrás nada.
Primero, tieens que asignarle un valor.
PHP evalúa de arriba a abajo (como prácticamente todos los lenguajes)
Cita de: ivancea96 en 1 Septiembre 2016, 19:08 PM
No. No puede estar abajo. Tiene que etsar arriba. Si usas una variable antes de asignarle un valor, no obtendrás nada.
Primero, tieens que asignarle un valor.
PHP evalúa de arriba a abajo (como prácticamente todos los lenguajes)
<?php
/*
Template Name: Plantilla de contrato programa 2
*/
?>
<!-- CONEXION PHP !-->
<?php
function Conectarse()
{
$db_host=""; // Host al que conectar, habitualmente es el 'localhost'
$db_nombre=""; // Nombre de la Base de Datos que se desea utilizar
$db_user=""; // Nombre del usuario con permisos para acceder
$db_pass=""; // Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos '$link'
$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");
// Seleccionamos la base de datos que nos interesa
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
mysql_query("SET NAMES 'utf8'");
return $link;
}
$link = Conectarse();
session_start();
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])) {
$SU = $_SESSION['usuario'];
$SP = $_SESSION['password'];
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
if(mysql_num_rows($GetUser) > 0) {
$myrow = mysql_fetch_assoc($GetUser);
define("User", true);
}
} else {
define("User", false);
}
if ($myrow['permisos'] == 1) {
echo 'Tienes permiso para poder visualizar la siguiente página';
} else {
echo 'No tienes permisos para visualizar esta página.';
}
if (User == false) {
header('Location: /');
}
?>
<!-- FINAL CONEXION !-->
<?php
// Exit if accessed directly
if ( !defined( 'ABSPATH' ) ) {
exit;
}
/**
* Full Content Template
*
*
* @file full-width-page.php
* @package Responsive
* @author Emil Uzelac
* @copyright 2003 - 2014 CyberChimps
* @license license.txt
* @version Release: 1.0
* @filesource wp-content/themes/responsive/full-width-page.php
* @link http://codex.wordpress.org/Theme_Development#Pages_.28page.php.29
* @since available since Release 1.0
*/
get_header(); ?>
<div id="content-full" class="grid col-940">
<?php if ( have_posts() ) : ?>
<?php while( have_posts() ) : the_post(); ?>
<?php responsive_entry_before(); ?>
<div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<?php responsive_entry_top(); ?>
<?php get_template_part( 'post-meta', get_post_type() ); ?>
<div> <?php print_r($myrow); ?> </div>
<?php
if($myrow['permisos'] == 1) {
?>
<!-- PUBLICACIONES !-->
<div class="post-entry">
<?php the_content( __( 'Read more &#8250;', 'responsive' ) );
?>
<?php wp_link_pages( array( 'before' => '<div class="pagination">' . __( 'Pages:', 'responsive' ), 'after' => '</div>' ) ); ?>
</div>
<?php
}
?>
<!-- FINAL DE LAS PUBLICACIONES !-->
<!-- end of .post-entry -->
<?php get_template_part( 'post-data', get_post_type() ); ?>
<?php responsive_entry_bottom(); ?>
</div><!-- end of #post-<?php the_ID(); ?> -->
<?php responsive_entry_after(); ?>
<?php
endwhile;
get_template_part( 'loop-nav', get_post_type() );
else :
get_template_part( 'loop-no-posts', get_post_type() );
endif;
?>
</div><!-- end of #content-full -->
<?php get_footer(); ?>
Así estaria bien?
Me funciono!!!! muchísimas gracias!!
$GetUser = mysql_query("SELECT * FROM users WHERE username = '".mysql_real_escape_string($SU)."' AND password = '".md5($SP)."'");
MD5 ? En serio WinTx ? :silbar:
Saludos
No es la mejor seguridad desde luego, y tampoco deberías publicar por ahí el algoritmo que usas para cifrar en la base de datos. Aunque si tampoco es algo comercial no importa demasiado.
Saludos y me alegro que lo hayas solucionado.