ayuda [php + GET]

shako

lo que quiero es enviar dos variables establecidas por dos variables en php por el metodo get pero no me funciona

esto es una idea de lo que preciso

 <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $total_paginas ?>&dpto=<?= $dpto ?>">final</a>
willsmith
<a href="../../proyecto05/templates<?= $_SERVER['PHP_SELF'] ?>?pagina=<?= $total_paginas ?>&dpto=<?= $dpto ?>">final</a>
shako

nop tampoco funciona eso

Addys

echo "<a href=$_SERVER['../../proyecto05/templates/PHP_SELF']?pagina=$total_paginas&dpto=$dpto>final</a>";

y asi?

nota: no se como ponerlo para que salga en modo código

T

No se si lo has hecho... pero... has pasado las variables GET? Si tu servidor tiene Register_Globals off tienes que usar $GET['total_paginas']; y $GET['dpto];

<? $total_paginas = $_GET['total_paginas']; $dpto = $_GET['dpto]; ?>
<a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<? echo $total_paginas ?>&dpto=<? echo $dpto ?>">final</a>
willsmith

Mal

$_SERVER['../../proyecto05/templates/PHP_SELF'] 

Bien

../../proyecto05/templates$_SERVER['PHP_SELF'] 
shako

#4 hay que diferenciar el php del html

#5 lo que hace es pasarme solo la primera variable es decir, que me pasa el " ?pagina=<?= $total_paginas ?>" pero el "&dpto=<?= $dpto ?>" me lo ignora

#6 ese no es el problema por que escribiendo un valor en vez de intentar pasarle una variable me lo permite...

lo que me pasa es que solo toma la primera variable, lo probe todo con un echo "?pagina= $total_paginas&dpto=$dpto" pero tampoco me lo toma

willsmith

#7
Entonces tienes que buscar el problema de $dpto como consigues el valor de esta variable por GET,POST,volcado de una db, establecida como $dpto = "nombre variable";.

Creo que desde un principio no nos has explicado bien el problema que tiene y por esa razon no te podemos ayudar lo mejor posible.

guner

pon un

error_reporting(E_ALL);

al principio.

Luego justo antes de escribir en enlace href pon esto y nos pegas lo que dice.

var_dump($dpto);
shako

lo que hace es que no encuentra la pagina y me envia a esto: (separo el http para q no lo muestre como link)

http:// localhost/www/%3Cbr%20/%3E%3Cb%3ENotice%3C/proyecto05/templates/PHP_SELF%20in%20%3Cb%3EE:%5Cxampp%5Chtdocs%5Cwww%5Ctemplates%5Cnavegacion.inc.php%3C/b%3E%20on%20line%20%3Cb%3E33%3C/b%3E%3Cbr%20/%3E?pagina=2

aqui esta el codigo de la pagina entera:

<div class="borde">
<div style="float:left">
<?php

$pagina = $_GET["pagina"];
if (!$pagina) {
		$inicio = 0;
		$pagina=1;
}
else {
	$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
error_reporting(E_ALL);
$total_paginas = ceil($numreg / $TAMANO_PAGINA);
?>
<?= $numreg ?> <?= $paginaact ?>. página <?= $pagina ?>/<?= $total_paginas ?>
</div>
<div style="float:right">
<?php
	if ($total_paginas > 1){
		$paginasig = $pagina + 1;
		$paginaant = $pagina - 1;		
	
	if ($pagina == $total_paginas) {
?>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=1">inicio</a><?php

?>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $paginaant ?>">anterior</a> /
<?php
		}
		else {
			if ($pagina == 1) {
?>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $paginasig ?>">siguiente</a>

/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $total_paginas ?>">final</a> /
<?php
var_dump($dpto);
?>
<?php
			}
			else {
?>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=1">inicio</a>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $paginaant ?>">anterior</a>
/ <a href="<?= $_SERVER['../../proyecto05/templates/PHP_SELF'] ?>?pagina=<?= $paginasig ?>">siguiente</a>
/ <a href="../../proyecto05/templates<?= $_SERVER['PHP_SELF'] ?>?pagina=<?= $total_paginas ?>&dpto=<?= $dpto ?>">final</a> /
<?php		
			}	
		}
	}
?>
</div>
<div class="clear"></div>
</div>
guner

La impresión de la URL en el href te da el siguiente error.

http.//localhost/www/&#706;br/>&#706;b&#707;Notice&#706;/proyecto05/templates/PHP_SELF in &#706;b&#707;E:\xampp\htdocs\www\templates\navegacion.inc.php&#706;/b&#707; on line &#706;b&#707;33&#706;/b>&#706;br/&#707;?pagina=2

Antes de nada prueba este.

<div class="borde">
<div style="float:left">
<?php
	
error_reporting(E_ALL);

$pagina = $_GET["pagina"];
if (!$pagina) {
	$inicio = 0;
	$pagina=1;
}
else {
	$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}
$total_paginas = ceil($numreg / $TAMANO_PAGINA);
?>
<?= $numreg ?> <?= $paginaact ?>. pßgina <?= $pagina ?>/<?= $total_paginas ?>
</div>
<div style="float:right">
<?php
	if ($total_paginas > 1){
		$paginasig = $pagina + 1;
		$paginaant = $pagina - 1;

	if ($pagina == $total_paginas) {
?>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=1">inicio</a><?php

?>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $paginaant ?>">anterior</a> /
<?php
		}
		else {
			if ($pagina == 1) {
?>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $paginasig ?>">siguiente</a>

/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $total_paginas ?>">final</a> /
<?php
			}
			else {
?>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=1">inicio</a>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $paginaant ?>">anterior</a>
/ <a href="<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $paginasig ?>">siguiente</a>
/ <a href="../../proyecto05/templates<?= "" . $_SERVER['PHP_SELF'] ?>?pagina=<?= $total_paginas ?>&dpto=<?= $dpto ?>">final</a> /
<?php
			}
		}
	}
?>
</div>
<div class="clear"></div>
</div>

Al menos ahora da menos errores. De todas formas ya sé lo que falla, todo funciona perfectamente. Lo que pasa es que no está en la condicion para que imprima lo de dpto.

Vamos, que no se te está ejecutando la línea 48, sino la 40

shako

<?= "../../proyecto05/templates/" . $_SERVER['PHP_SELF'] esto me manda a una carpeta inexistente por que altera el orden en el que navega

voy a ver si encuentro otra solucion

guner

Decias que el error era lo del método get en $dpto...

shako

#13 q no te enteras... la solucion que me has dao tu estaba mal... por lo que muestro en #11

el error ya lo tengo solucionado, cambie de lugar las variables y me funciona

Usuarios habituales

  • shako
  • guner
  • willsmith
  • Tunner
  • Addys