Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2010, 10:02
Avatar de estibaliz2006
estibaliz2006
 
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
url amigables en los form

bueno. definitivamente ya le tengo cogido el truco a esto de las url amigables, pero evidentemente no a todas. os cuento:

tengo un enlace con esta ruta: http://www.misitio.com/ficha.php?cod=0896532e, que me lleva a la página ficha.php y recoge la variable $cod.

Bien. mediante url amigables y .htaccess, le doy unas reglas de tal modo que ese enlace se me convierta en uno del tipo http://www.misitio.com/articulos/0896532e/MiTitulo

Para ello como os digo doy esta regla:

Código PHP:
RewriteRule ^articulos/(.+)/(.+) ficha.php?cod=$[L
y donde antes estaba este enlace
Código PHP:
<a href="ficha.php?cod=0896532e" class="mas">Seguir Leyendo...</a
ahora recojo este otro
Código PHP:
<a href="<?php echo "articulos/" $datos["codart"] . "/" $datos["tituloart"] . ""?>" class="mas">Seguir Leyendo...</a>
de tal modo que al pinchar en Seguir Leyendo con la ruta http://www.misitio.com/articulos/0896532e/MiTitulo me lleva a la página ficha.php. Hasta aquí todo correcto.

Bien. en la página ficha.php, recojo la variable $cod. Además, tengo un formulario que envía a la página upload.php los datos del formulario pero con la variable que hemos recogido $cod. Es decir:

Código PHP:
    echo "<form action=\"upload.php?cod=$cod\" ENCTYPE=multipart/form-data method=\"POST\">"
bien, en la página upload.com se recoge la variable $cod otra vez y después de hacer las funciones encomendadas (introducir los datos en una tabla de una base de datos), ha de volver a la página ficha.php?cod=$cod.

para ello, hacía:

Código PHP:
header ("location: ficha.php?cod=$cod"); 
cuál es el problema? pues que ahora debo codificarlo para que siga saliendo url amigable, es decir, debería seguir saliendo http://www.misitio.com/articulos/0896532e/MiTitulo pero no soy capaz. si en el header: location meto la ruta para url amigables (que sería igual que en el enlace inicial citado puesto que son los mismos datos, tendría esto
Código PHP:
header ("location: articulos/" $datos["codart"] . "/" $datos["tituloart"] . "); 
pero qué resultado me da? en lugar de cargar esta página http://www.misitio.com/articulos/0896532e/MiTitulo, me da un mensaje de error buscando esta otra
http://www.misitio.com/articulos/089...6532e/MiTitulo, es decir, dos veces lo mismo.

como solucionar esto?
__________________
desgraciadamente no conozco php ni la mitad de lo que lo conocen ustedes y eso es menos de la mitad de lo que yo querria y lo que yo querria es menos de la mitad de lo que la mitad de ustedes conocen

Última edición por estibaliz2006; 01/06/2010 a las 10:18