Foros del Web » Programando para Internet » PHP »

Error al pasar parámetro a una url

Estas en el tema de Error al pasar parámetro a una url en el foro de PHP en Foros del Web. Hola a todos. Tengo un problema a la hora de pasar el valor de una variable de una url a otra. Tengo un archivo en ...
  #1 (permalink)  
Antiguo 20/12/2011, 09:17
 
Fecha de Ingreso: enero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Error al pasar parámetro a una url

Hola a todos.

Tengo un problema a la hora de pasar el valor de una variable de una url a otra.

Tengo un archivo en el que dentro de un div tengo lo siguiente:

Código HTML:
<div id="tablahistorial">
<?php
        $idtarea = $_GET['id'];
        include('consultaHistorial.php');
?>
</div> 
En mi archivo consultaHistorial.php tengo lo siguiente:

Código HTML:
<?php
require('clases/historial.class.php');
$objHistorial=new Historial;
$consulta=$objHistorial->mostrar_historial_tarea($idtarea);
?>
Y en el mismo archivo tengo:

Código HTML:
<span id="nuevo"><a href="javascript:Carga('nuevoHistorial.php?id=<?php echo $idtarea ?>', 'formhistorial')"><img src="img/add.png" alt="Agregar actuacion" /></a></span> 
La primera vez que cargo la URL me funciona correctamente y me aparece esto:

Código HTML:
<a href="javascript:Carga('nuevoHistorial.php?id=1', 'formhistorial')"><img src="img/add.png" alt="Agregar tarea"></a> 
Pero en el momento que vuelvo a incluirla, es cuando falla y me aparece esto:

Código HTML:
<a href="javascript:Carga('nuevoHistorial.php?id=<br ></a>
<font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan=" 5"=""><span style="background-color: #cc0000; color: #fce94f; font-size: x-large;">( ! )</span> Notice: Undefined variable: idtarea in C:\wamp\www\Intranet\consultaHistorial.php on line <i>6</i>
Call Stack
#TimeMemoryFunctionLocation
10.0010677440{main}(  )..\consultaHistorial.php<b>:</b>0

', 'formhistorial')"&gt;<img src="img/add.png" alt="Agregar tarea"></a> 
No tengo ni idea de cual puede ser el problema.

¿Alguien sabe porque puede estar pasando esto y como se podría corregir?

Muchas gracias a todos.
Un saludo.
  #2 (permalink)  
Antiguo 20/12/2011, 09:23
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 17 años, 9 meses
Puntos: 2
Respuesta: Error al pasar parámetro a una url

Hola , podrías subir el código de nuevoHistorial.php ?. Lo que te arroja es una excepción y la pila correspondiente.

Subí el código que te pido y lo vemos.

Saludos
  #3 (permalink)  
Antiguo 20/12/2011, 09:26
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 2 meses
Puntos: 44
Respuesta: Error al pasar parámetro a una url

Volver a incluirlo en donde? Te refieres a la llamada javascript?

Podrías poner el código completo de consultaHistorial.php?

PD:se me adelantaron...
  #4 (permalink)  
Antiguo 20/12/2011, 09:33
 
Fecha de Ingreso: enero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error al pasar parámetro a una url

Hola jonatanlc y SetheR. Muchas gracias a ambos por vuestra rápida respuesta.

consultaHistorial.php:
Código HTML:
<?php
require('clases/historial.class.php');
$objHistorial=new Historial;
$consulta=$objHistorial->mostrar_historial_tarea($idtarea);
?>
<span id="nuevo"><a href="javascript:Carga('nuevoHistorial.php?id=<?php echo $idtarea ?>', 'formhistorial')"><img src="img/add.png" alt="Agregar actuacion" /></a></span>
<table>
    <tr>
        <th>Fecha</th>
        <th>Asunto</th>
        <th>Adjunto</th>
        <th></th>
        <th></th>
    </tr>
<?php
if($consulta) {
    while( $historial = mysql_fetch_array($consulta) ){
?>	
    <tr>
        <td><?php echo $historial['fecha'] ?></td>
        <td><?php echo $historial['asunto'] ?></td>
        <td><?php echo $historial['adjunto'] ?></td>
        <td><span class="modi"><a href="consultaTarea.php?id=<?php echo $historial['idHistorial'] ?>"><img src="img/database_edit.png" title="Editar" alt="Editar" /></a></span></td>
        <td><span class="dele"><a onClick="EliminarTarea(<?php echo $historial['idHistorial'] ?>); return false" href="eliminar.php?id=<?php echo $historial['idHistorial'] ?>"><img src="img/delete.png" title="Eliminar" alt="Eliminar" /></a></span></td>
    </tr>
<?php
    }
}
?>
</table> 

nuevoHistorial.php:
Código HTML:
<?php
require('functions.php');
if(isset($_POST['submit'])){
	require('clases/historial.class.php');
	$idtarea = htmlspecialchars(trim($_POST['hi_idtarea']));
	$fecha = htmlspecialchars(trim($_POST['hi_fecha']));
	$asunto = htmlspecialchars(trim($_POST['hi_asunto']));
	$adjunto = htmlspecialchars(trim($_POST['hi_adjunto']));
	$nombreFichero = "";
	$errorArchivo = false;
	if ($adjunto != ""){
            $nombreCarpeta = 'files/' .$idtarea;
            if (!is_dir($nombreCarpeta)) {
                mkdir($nombreCarpeta,0777);
            }
            $nombreFichero = 'files/' .$idtarea .'/' .$_FILES['hi_adjunto']['name'];
            if(is_uploaded_file($_FILES['hi_adjunto']['tmp_name'])) { 
                if(move_uploaded_file($_FILES['hi_adjunto']['tmp_name'], $nombreFichero)){      
                    $errorArchivo = false;
                }
                else
                    $errorArchivo = true;
            }
            else
            {
                $errorArchivo = true;
            }
        }
        if (!$errorArchivo){
            $objHistorial=new Historial;
            $fecha=$objHistorial->cambiarFecha($fecha);
            if ($objHistorial->insertar(array($idtarea,$fecha,$asunto,$nombreFichero)) == true){
                    echo 'Datos guardados';
            }else
                    echo 'Se produjo un error. Intente nuevamente';             
        }        
}
else
{
    if(isset($_GET['id'])){
?>
<form id="frmHistorialNuevo" name="frmHistorialNuevo" enctype="multipart/form-data" method="post" action="nuevoHistorial.php" onsubmit="GrabarHistorial(); return false">
  <input style="visibility:hidden" type="text" name="hi_idtarea" id="hi_idtarea" value="<?php echo $_GET['id']?>" visible="hidden" />
  <p>
    <label>Fecha 
        <input class="text" type="text" name="hi_fecha" id="hi_fecha" onBlur="javascript:return validarFecha('hi_fecha')" maxlength="10" value="<?php echo date("j-m-Y")?>" />
    </label>
  </p>
  <p>      
      <label>Asunto
        <input class="text" type="text" name="hi_asunto" id="hi_asunto" maxlength="50" />
      </label>
  </p>
  <p>      
      <label>Adjunto<br />
        <input type="file" name="hi_adjunto" id="hi_adjunto" maxlength="200" value="Examinar..." />
      </label>
  </p>
  <p>
    <input type="submit" name="submit" id="button" value="Enviar" />
    <label></label>
    <input type="button" class="cancelar" name="cancelar" id="cancelar" value="Cancelar" onclick="CancelarHistorial()" />
  </p>
</form>
<?php
    }
}
?> 
Gracias a los dos.
Un saludo.
  #5 (permalink)  
Antiguo 21/12/2011, 01:43
 
Fecha de Ingreso: enero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error al pasar parámetro a una url

Hola amigos.

¿Alguien sabe porque no me identifica la variable correctamente?

Gracias a todos. Me estoy volviendo loco con esto.

Un saludo.
  #6 (permalink)  
Antiguo 21/12/2011, 01:55
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: Error al pasar parámetro a una url

hola QuiqueGr.

El error hace referencia a que la variable $idtarea no esta definida, lo mas probable es que en la segunda llamada no estas declarando la variable, seria bueno hacer una validación previa de la variable.


Salu2
__________________

  #7 (permalink)  
Antiguo 21/12/2011, 02:03
 
Fecha de Ingreso: enero-2008
Mensajes: 27
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Error al pasar parámetro a una url

Hola gerson.

Gracias por tu respuesta amigo.

Eso es lo que me pasa pero lo que quiero es saber como puedo pasar ese valor. El tema es que yo tengo esta estructura:

Código HTML:
<div id="cuadrohistorial">
    <div id="formhistorial">        
    </div>
    <div id="tablahistorial">
<?php
        $idtarea = $_GET['id'];
        include('consultaHistorial.php');
?>
    </div>
</div> 
Cuando yo cargo esto, el archivo consultaHistorial.php se carga correctamente. Dentro de consultaHistorial, como puedes ver en mi mensaje anterior, tengo la opción de agregar un nuevo elemento, y para ello cargo el archivo nuevoHistorial.php dentro del div formhistorial.

Una vez que he insertado todos esos datos, al pusar el botón enviar que tengo en el archivo nuevoHistorial.php, oculto el div formhistorial.

Espero haberme explicado bien.

Muchas gracias a todos.
Un saludo.

Etiquetas: tabla, url, variables
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:45.