Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: musicaward en 30 Mayo 2011, 01:23 AM

Título: Error en Get
Publicado por: musicaward en 30 Mayo 2011, 01:23 AM
pense que eso estaba fallando algo en la query pero no :-( ,  algo estoy haciendo mal al hacer el $_GET['s']
index.php?m=genero&s=Ciencia

no me muestra los resultados del campo genero en donde escribi por ejemplo "Ciencia" o "Documentales"

Código (php) [Seleccionar]
$mo=$_GET['m'];

switch ($mo){
   case "buscar":
$busqueda=ucwords(str_replace('+',' ',limpiar_busqueda($_GET['q'])));
$titulo=ucwords($busqueda)." | ".$titulo;
       break;
   case "letra":
if(strlen($_GET['a'])<2){$letra=$_GET['a'];}else{ redireccionar(); die();}
$titulo="Pelicula por letra: ".ucwords($letra)." | ".$titulo;
       break;
case "genero":
if($_GET['s']){$genero=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por Genero: ".ucwords($genero)." | ".$titulo;
       break;
}



Código (php) [Seleccionar]
<?php
if($mo=="letra"){
?>

<---contenido--->
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?
}elseif($mo=="buscar"){
?>

<---contenido--->
<?
}else{
?>

Título: Re: Error en Get
Publicado por: Shell Root en 30 Mayo 2011, 01:59 AM
No se que estáis haciendo en este IF.
Código (php) [Seleccionar]
if($_GET['s']){
Título: Re: Error en Get
Publicado por: musicaward en 30 Mayo 2011, 02:15 AM
Código (php) [Seleccionar]
$_GET['s'] , tendria que tomar el valor de lo que escribo

index.php?m=genero&s=algo

index.php?m=genero&s=documentales

Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?


en generos_peliculas tengo una pequeña funcion

Título: Re: Error en Get
Publicado por: Shell Root en 30 Mayo 2011, 02:34 AM
WTF! A ver, vamos por partes... Explicad paso por pasooooooooooooo detalladamente de lo que quieres hacer.
Título: Re: Error en Get
Publicado por: musicaward en 30 Mayo 2011, 02:47 AM
creo q me eh enredado harto  :-X aver

tengo una query

Código (php) [Seleccionar]
function generos_peliculas($en){

$c=@mysql_query("select id,nombre,imagen from peliculas ORDER by genero");
while($i=@mysql_fetch_array($c)){
echo "contenido";
}
@mysql_free_result($c);
}


en mi database eh creado un campo llamado "genero" dentro de la tabla peliculas,
en dicho campo puedo escribir digamos : Documentales , Accion , etc

ahora en mi index quiero realizar si escribo

Código (php) [Seleccionar]
index.php?m=genero&s=[b]documentales[/b]
me muestre los registros que hay para documentales y asi...

ahora me eh enredado en esta parte no se si esta bien lo que voy realizando por que no muestra el resultado que quiero:

Código (php) [Seleccionar]
case "genero":
if($_GET['s']){$genero=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por Genero: ".ucwords($genero)." | ".$titulo;
       break;

Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($genero); ?>

<?





Título: Re: Error en Get
Publicado por: Shell Root en 30 Mayo 2011, 04:01 AM
Es que a ver, es simple...

Código (php) [Seleccionar]
# Tienes la variable GET
$tema = $_GET['tema'];

# Verificas si tiene algún valor
if(strlen($tema) > 0){
  # Acciones
}


--

En la función generos_peliculas(), no se que haces, estáis mostrando todos los registros, creo que debería de existir algún filtro o condición,
Código (php) [Seleccionar]
function generos_peliculas( $tema ){
  $sql = "SELECT id, nombre, imagen FROM peliculas WHERE(nombre = '".$tema."') ORDER BY genero";
  # Ejecutas la query.
}
Título: Re: Error en Get
Publicado por: Nakp en 30 Mayo 2011, 05:32 AM
ese if esta mal definido... deberias probar if(isset($_GET['key']))
Título: Re: Error en Get
Publicado por: musicaward en 30 Mayo 2011, 05:51 AM
gracias , al final hice

Código (php) [Seleccionar]
case "s":
if(strlen($_GET['s'])<2){$letra=$_GET['s'];}else{ redireccionar(); die();}
$titulo="Pelicula por letra: ".ucwords($letra)." | ".$titulo;
        break; 


Código (php) [Seleccionar]
<?
}elseif($mo=="genero"){
?>

<?php generos_peliculas($s); ?>


y ya me funciona

index.php?m=genero&s=ciencia




Título: Re: Error en Get
Publicado por: Shell Root en 30 Mayo 2011, 06:12 AM
Sigo sin entender, que valores tomaría la variable s? Porque estáis diciendo que si la longitud de la variable  s es menor a 2, $letra va a ser igual a s.