Foros del Web » Programando para Internet » PHP »

no me funciona el if

Estas en el tema de no me funciona el if en el foro de PHP en Foros del Web. tengo estos ifs pero el primero no me funciona Código PHP:   ob_start (); function  left ( $str ,  $length ) { return  substr ( $str ...
  #1 (permalink)  
Antiguo 22/02/2009, 14:51
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
no me funciona el if

tengo estos ifs pero el primero no me funciona

Código PHP:
 
ob_start
();
function 
left($str$length) {
return 
substr($str0$length);}
$valor $_SERVER['QUERY_STRING'];
require(
"config.php");
 
if (
$config['rewrite'] == false && strlen($valor) <>&& left($valor,1)=="_" ){
    require(
"forward2.php");
 
 exit;
 }
if (
$config['rewrite'] == false && strlen($valor) == && left($valor,1) <> "_"){
    require(
"forward.php");
 
    exit;

  #2 (permalink)  
Antiguo 22/02/2009, 14:57
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Haz un var_dump() de las variables que intervienen en tu condición para verificar los valores que traen.

  #3 (permalink)  
Antiguo 22/02/2009, 14:58
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

y como hago esto?
  #4 (permalink)  
Antiguo 22/02/2009, 15:01
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Usalo como si fuera print() o echo. var_dump() no tiene ninguna utilidad en un proceso o aplicación (puede tenerla en muy contadas ocasiones), pero es muy útil a la hora de debuggear el código. Te muestra información sobre el parámetro que le pases. Te dice si es una cadena, un recurso, un array, un objeto, un booleano, etc. y te muestra su valor. Aplícalo sobre las variables que tienes en tu condición paraver cuál es su valor real. Así podrás determinar por qué no funciona el if.

Lee el link que te dejé para saber cómo aplicarlo.

  #5 (permalink)  
Antiguo 22/02/2009, 15:07
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
pue sparece que me trae las variables bien

mira aqui explico el problema que tengo

http://www.forosdelweb.com/f18/acortar-url-673441/

si voy a mi dominioi y pongo an-a.es/2qxg6m
me funciona


pero si pongo an-a.es/_hola
no me funciona

y me tendria que cargar el forward2 no?

Última edición por GatorV; 23/02/2009 a las 16:12
  #6 (permalink)  
Antiguo 22/02/2009, 15:31
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Usa $_SERVER['REQUEST_URI'] (necesitarás procesarlo). Query_string devuelve lo que hay después de ? en la URL que tu usuario ingresó.

  #7 (permalink)  
Antiguo 22/02/2009, 15:37
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

y como se procesa?

puedo hacer que me lea lo que viene despues de /
  #8 (permalink)  
Antiguo 22/02/2009, 16:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Puedes usar explode() y trim().

  #9 (permalink)  
Antiguo 22/02/2009, 16:18
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

ahora lo tengo asi

Código PHP:
function left($str$length) {
return 
substr($str0$length);}
$valor $_SERVER['QUERY_STRING'];
$valor1 explode("/"$_SERVER['REQUEST_URI']);  
$ext $valor1[1]; 
echo 
$ext;
/*var_dump($valor);
echo left($valor,1);*/
require("config.php");
if (
$config['rewrite'] == false && left($ext,1)=="_" ){
    require(
"forward2.php");
 
 exit;
 }
if (
$config['rewrite'] == false && strlen($ext) == && left($ext,1) <> "_"){
    require(
"forward.php");
 
    exit;

y sigue sin funcionar
  #10 (permalink)  
Antiguo 22/02/2009, 18:39
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Si imprimes left($ext,1) te da _? Y si colocas var_dump($config['rewrite']) obtienes bool(false)? Si no funciona es porque la condición global devuelve false, por lo que debes verificar cada comparación individual.

  #11 (permalink)  
Antiguo 23/02/2009, 01:35
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

lo he probado todo

pero me sigue sin funcionar...

ya no se por donde pillarlo

he puesto un echo left($ext,1) pero claro cuando visito mi dominio asi... an-a.es/_motora me dice que la pagina no existe

y no puedo ver si el lft($ext,1) es = a "_"
  #12 (permalink)  
Antiguo 23/02/2009, 06:49
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

No existe? Un error 404? Por ahí debiste empezar. Cuál es el contenido de tu archivo .htaccess? Porque se supone que estás usando el mod_rewrite para reescribir las urls.

  #13 (permalink)  
Antiguo 23/02/2009, 09:19
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
XBitHack Off
RewriteEngine On
RewriteCond %{REQUEST_URI} \/([0-9a-z]{6})$ [NC]
RewriteRule ^(.*) http://www.an-a.es/forward.php?%1 [L]

pero creo que no uso modrewiter

si es el .httacces el que me gobierna

para hacer que tambien funcionen las urls an-a.es/_loquesea

no se como tendria que ser el httacces

Última edición por GatorV; 23/02/2009 a las 16:13
  #14 (permalink)  
Antiguo 23/02/2009, 13:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: no me funciona el if

Cita:
RewriteCond %{REQUEST_URI} \/([0-9a-z]{6})$ [NC]
No veo que incluyas el _ en el patrón de la condición de tu regla de reescritura: [0-9a-z]. Por eso no te reconoce las urls con _

  #15 (permalink)  
Antiguo 23/02/2009, 13:25
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

YA LO SOLUCIONE

Código PHP:
RewriteEngine On
RewriteCond   
%{REQUEST_URI} /([0-9a-z]{6})$ [NC]
RewriteRule   ^(.*) http://an-a.es//forward.php?%1 [S]
RewriteCond   %{REQUEST_URI} /(_.*)$ [NC]
RewriteRule   ^(.*) http://an-a.es//forward2.php?%1 [L] 
  #16 (permalink)  
Antiguo 23/02/2009, 13:34
 
Fecha de Ingreso: junio-2008
Mensajes: 76
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: no me funciona el if

yo lo que veo de extraño en los IF's, es que estas utilizando una comparacion diferente a una constante con los simbolos "<>" (sin comillas), segun yo, deberia ser con los simbolos "!=" para la comparacion.
  #17 (permalink)  
Antiguo 23/02/2009, 13:54
Avatar de engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 22 años
Puntos: 8
Respuesta: no me funciona el if

no es problema de los ifs ya que todo lo controla el htaccess

pero gracias de todas maneras
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 15:45.