Foros del Web » Programando para Internet » PHP »

no puedo agarrar un GET

Estas en el tema de no puedo agarrar un GET en el foro de PHP en Foros del Web. Hola foreros saludos... la pregunta del dia bueno tengo un listado q estoy haciendo y tengo varios problemas pero vamos de 1 por uno aqui ...
  #1 (permalink)  
Antiguo 09/01/2008, 17:29
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
no puedo agarrar un GET

Hola foreros saludos...
la pregunta del dia bueno tengo un listado q estoy haciendo y tengo varios problemas pero vamos de 1 por uno aqui dejo el code del listado
Código:
<body>
<h1>Listado - Especificaciones</h1>
<table width="100%" border="1" cellspacing="0">
  <tr>
    <td>
<form action="prueba_script.php" method="post">
	<table width="100%" border="0">
  <tr>
    <th width="6%" scope="col">Eliminar</th>
    <th width="28%" scope="col">Especificaciones</th>
    <th width="21%" scope="col">Descripcion</th>
    <th width="26%" scope="col">R. Progress</th>
    <th width="19%" scope="col">Editar</th>
  </tr><?php
				include ("conexion.php");
				mysql_error();

	$resultado = mysql_query("SELECT especificaciones.id_especificaciones, especificacion, descripcion, r_progress FROM especificaciones ORDER BY id_especificaciones");

		if(!$resultado) {
			$message  = 'Query invalido: ' . mysql_error() . "\n";
			$message .= 'Query completo: ' . $query;
		die($message);
		}

		while ($renglon = mysql_fetch_assoc($resultado)) {
		echo mysql_error();
	
echo "<tr>";
echo " <td><div align='center'> <input type=\"checkbox\" name=\"seleccion[]\" value=\"".$renglon['id_especificaciones']."\"><br></div></td>";
echo "<td><div align='center'> $renglon[especificacion]</div></td>";
echo "<td><div align='center'> $renglon[descripcion]</div></td>";
echo "<td><div align='center'> $renglon[r_progress]</div></td>";
echo "<td><div align='center'><a href='esp_editar.php?especificacion=$renglon[especificacion];'>Editar</a>";
// echo "<br><a href='esp_editar.php?especificacion=$renglon[especificacion];'>Ver M&aacute;s </a></div></td>";
echo "</tr>\n";
		}		
  ?>
</table>
<input type="hidden" name="id_especificacion" value="<? echo $renglon['especificacion'] ?>">
<input type="submit" name="Submit" value="Borrar">
</form>
	</td>	
  </tr>
</table>
</body>
ese es el del listado lo q yo quiero hacer es q con el link q tienen los campos de editar me pueda ir a una pagina a editarlo, ya la tengo este es el codigo de la pagina
Código:
<body>
<?php include("conexion.php");

$esp_rec=$_GET['id_especificacion'];

$seleccionar_reporte="SELECT * FROM especificaciones WHERE especificacion='$esp_rec'";
//$seleccionar_reporte="SELECT especificaciones.id_especificaciones, especificacion, descripcion, tipos.tipos, desarrolladores.desarrolladores, cliente.clientes, recepcion, envio, revision1, envio_revision_1, rec_adec, envio_adec, estimado, demora_real FROM especificaciones JOIN tipos, desarrolladores, cliente WHERE especificacion='$esp_rec' AND especificaciones.tipo = tipos.id_tipos AND especificaciones.r_progress = desarrolladores.id_desarrolladores AND especificaciones.r_hd = cliente.id_clientes";
$seleccionando_reporte=mysql_query($seleccionar_reporte);
echo mysql_error();
$fila_reporte=mysql_fetch_array($seleccionando_reporte);
?>
<form method="post" action="esp_editando.php">
  <table width="518" border="0" cellpadding="1" cellspacing="0">
    <tr>
      <td width="39%">Especificacion:</td>
      <td width="61%">
      <input type="text" name="especificacion" value="<? echo $fila_reporte['especificacion']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Descripcion:</td>
      <td><input type="text" name="descripcion" value="<? echo $fila_reporte['descripcion']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Tipo:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['tipos']; ?>" size="50" /></td>
    </tr>
    <tr>



	  <td>R. Progress:</td>
		<td><input type="text" name="tipo" value="<? echo $fila_reporte['desarrolladores']; ?>" size="50" /></td>
    </tr>
    <tr>	
      <td>R. HD:</td>
    	<td><input type="text" name="tipo" value="<? echo $fila_reporte['clientes']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Recepcion:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['recepcion']; ?>" size="50" />
	  </td>
    </tr>
	<tr>
      <td>Envio:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['envio']; ?>" size="50" />	  
	  </td>
    </tr>
    <tr>
      <td>1er. Revision:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['revision1']; ?>" size="50" />	  
	  </td>
    </tr>
    <tr>
      <td>Envio 1er. Revision:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['envio_revision_1']; ?>" size="50" />
	  </td>
    </tr>
    <tr>
      <td>Recep. de Adecuacion:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['rec_adec']; ?>" size="50" />
	  </td>
    </tr>
    <tr>
      <td>Envio de Adecuacion:</td>
      <td><input type="text" name="tipo" value="<? echo $fila_reporte['envio_adec']; ?>" size="50" />
	  
	  </td>
    </tr>
    <tr>
      <td>Estimado:</td>
      <td><input type="text" name="estimado" value="<? echo $fila_reporte['estimado']; ?>" size="50" /></td>
    </tr>
    <tr>
      <td>Real:</td>
      <td><input type="text" name="demora_real" value="<? echo $fila_reporte['demora_real']; ?>" size="50"  /></td>
    </tr>	
	<tr>
      <td></td>
      <td><div align="right">
	  <input type="hidden" name="id_especificaciones" value="<? echo $id_especificaciones; ?>">
        <input type="submit" name="Submit" value="Eliminar Registro" />
      </div></td>
    </tr>
  </table>
</form>
</body>
el problema aqui es q no puedo agarrar el id del registro q quiero modificar en esta page cual es es error???
  #2 (permalink)  
Antiguo 09/01/2008, 17:48
Avatar de lacho  
Fecha de Ingreso: enero-2008
Mensajes: 26
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: no puedo agarrar un GET

lo que pasa es que estas pidiendo esto $esp_rec=$_GET['id_especificacion'] e imagino que lo que queres pedir es el hidden entonces debes hacer un post( $esp_rec=$_POST['id_especificacion'] ) y no un get. eso si lo queres hacer con el hidden pero para el caso deja el get y en lugar de id_especificacion pone solo especificacion osea la variable que pasas por el url al dar clic al link que generas y estaria resuelto tu problema. :) espero ke te sirva...

saludos!
  #3 (permalink)  
Antiguo 09/01/2008, 17:58
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no puedo agarrar un GET

en la pagina de procesar hice como me dijiste;

Código:
$esp_rec=$_GET['especificacion'];
elimine: id_

pero de todos modos no sale nada en la tabla.
  #4 (permalink)  
Antiguo 09/01/2008, 18:03
Avatar de lacho  
Fecha de Ingreso: enero-2008
Mensajes: 26
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: no puedo agarrar un GET

bueno mira pueda ser que el url no sale bien, yo en mi caso suelo siempre partir los links aunque porque no revisas si es que al poner el puntero en la barra de estado te aparece tal como deberia la direccion enviando la variable y como es post no te apareceria la variable en la url ya cuando haya redireccionado al script que procesa, momentaneamente cambialo a get a ver si lo pasa tambien. yo los links los hago asi mira:

echo "<td><center><acronym title='Modificar este Usuario'><a href='modificar_usuario.php?id=".$row['codUsr']."'>"."<img src='imagenes/modificar.JPG' alt='Modificar' width='15' height='15'></a></acronym></center></td>";

para el caso porque uso una imagen como link pero deberia ser exactamente igual, proba haciendo la particion, pueda ser que por eso no te funcione.
  #5 (permalink)  
Antiguo 09/01/2008, 18:25
Usuario no validado
 
Fecha de Ingreso: julio-2003
Ubicación: <?="www.tuky.cl";?>
Mensajes: 132
Antigüedad: 20 años, 9 meses
Puntos: 4
Re: no puedo agarrar un GET

Para que funcione con GET cambia esta linea

<form action="prueba_script.php" method="post">

a

<form action="prueba_script.php" method="get">

saludos,

tuky.-
  #6 (permalink)  
Antiguo 09/01/2008, 18:32
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no puedo agarrar un GET

hello...
mira cambie el primero como lo sugeriste;

Código:
echo "<td><div align='center'><a href='esp_editar.php?id=".$renglon['especificacion'].";'>Editar</a>";
y en el segundo

Código:
<?php include("conexion.php");

$seleccionar_reporte="SELECT * FROM especificaciones WHERE especificacion='".$_GET['especificacion']."'";
//$seleccionar_reporte="SELECT especificaciones.id_especificaciones, especificacion, descripcion, tipos.tipos, desarrolladores.desarrolladores, cliente.clientes, recepcion, envio, revision1, envio_revision_1, rec_adec, envio_adec, estimado, demora_real FROM especificaciones JOIN tipos, desarrolladores, cliente WHERE especificacion='$esp_rec' AND especificaciones.tipo = tipos.id_tipos AND especificaciones.r_progress = desarrolladores.id_desarrolladores AND especificaciones.r_hd = cliente.id_clientes";
$seleccionando_reporte=mysql_query($seleccionar_reporte);
echo mysql_error();
$fila_reporte=mysql_fetch_array($seleccionando_reporte);
?>
y cuando trato de mostrar los campos tampoco me los da. por q sera?
  #7 (permalink)  
Antiguo 09/01/2008, 18:48
Avatar de lobonegro6  
Fecha de Ingreso: enero-2005
Ubicación: Monterrey, México.
Mensajes: 145
Antigüedad: 19 años, 3 meses
Puntos: 1
Re: no puedo agarrar un GET

Cita:
Iniciado por tuky Ver Mensaje
Para que funcione con GET cambia esta linea

<form action="prueba_script.php" method="post">

a

<form action="prueba_script.php" method="get">

saludos,

tuky.-
ya lo cambie amigo y nada tampoco
  #8 (permalink)  
Antiguo 09/01/2008, 19:03
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: no puedo agarrar un GET

Lo único que hay que mirar son estas tres líneas:
Código PHP:
<form action="prueba_script.php" method="post">

//...
//...

<input type="hidden" name="id_especificacion" value="<? echo $renglon['especificacion'?>">
Código PHP:
$esp_rec=$_GET['id_especificacion']; 
- La primera, te indica que estás utilizando el método POST.
- La segunda, que la variable se llama "id_especificacion"
- La tercera, que recoges la variable como $_GET['id_especificacion'], cuando debería ser $_POST['id_especificacion'].

No tienes que cambiar nada más.

Ahora, si no funciona, fíjate si el valor de $renglon['especificacion'] está llegando correctamente en el primer archivo. Haciendo un "ver>código fuente" en el navegador es suficiente.

Saludos
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 03:51.