Foros del Web » Programando para Internet » PHP »

mensaje de error de variable undefined.

Estas en el tema de mensaje de error de variable undefined. en el foro de PHP en Foros del Web. Buenos días Haber si me podeis hechar una mano ya que no me sale recojer una variable y he estado mirando por el foro: Tengo ...
  #1 (permalink)  
Antiguo 01/07/2011, 03:57
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
mensaje de error de variable undefined.

Buenos días

Haber si me podeis hechar una mano ya que no me sale recojer una variable y he estado mirando por el foro:

Tengo esta sentencia en un en un fichero php pero a la hora de ejecutar la aplicación me sale el mensaje: undefined index hExtra in

<?php
if($_POST["hExtra"]=="Delete"){
etc
etc
etc
}


la variable hextra la defino en un campo oculto que esta entre <form action... y </form>

<input type="hidden" name="hExtra" id="hExtra" value="">

Más información --> para saber de donde viene el Delete lo obtengo de aca:

<a href="#" onClick="return submitForm(document.frmContact,<?=$row["abid"];?>,'Delete');">Delete</a>

Muchas gracias y saludos
  #2 (permalink)  
Antiguo 01/07/2011, 04:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mensaje de error de variable undefined.

Cita:
Iniciado por drazzer Ver Mensaje
Buenos días

Haber si me podeis hechar una mano ya que no me sale recojer una variable y he estado mirando por el foro:

Tengo esta sentencia en un en un fichero php pero a la hora de ejecutar la aplicación me sale el mensaje: undefined index hExtra in

<?php
if($_POST["hExtra"]=="Delete"){
etc
etc
etc
}


la variable hextra la defino en un campo oculto que esta entre <form action... y </form>

<input type="hidden" name="hExtra" id="hExtra" value="">

Más información --> para saber de donde viene el Delete lo obtengo de aca:

<a href="#" onClick="return submitForm(document.frmContact,<?=$row["abid"];?>,'Delete');">Delete</a>

Muchas gracias y saludos
Haz un print_r($_POST) para ver que pasa y revisa que el method del form sea POST ;)
(Por cierto, hExtra no tiene valor... ¿se lo asignas por js? ;) )
  #3 (permalink)  
Antiguo 01/07/2011, 10:16
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Respuesta: mensaje de error de variable undefined.

Cita:
Iniciado por Eleazan Ver Mensaje
Haz un print_r($_POST) para ver que pasa y revisa que el method del form sea POST ;)
(Por cierto, hExtra no tiene valor... ¿se lo asignas por js? ;) )
Muchas gracias por contestar,

Te cuento, hExtra si que lo asigno por js, el method del form está en Post. Y ahora viene donde quizás tenga el problema. Al hacerle un print_r($POST) el resultado que me da es: Array ( )

Muchas gracias y saludos
  #4 (permalink)  
Antiguo 02/07/2011, 02:08
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mensaje de error de variable undefined.

Cita:
Iniciado por drazzer Ver Mensaje
Muchas gracias por contestar,

Te cuento, hExtra si que lo asigno por js, el method del form está en Post. Y ahora viene donde quizás tenga el problema. Al hacerle un print_r($POST) el resultado que me da es: Array ( )

Muchas gracias y saludos
deduciendo que has hecho print_r($_POST) (y no de $POST!), eso significa que no envias nada por POST

Hay algo que haces mal xD

(Prueba con un print_r($_REQUEST) si quieres xD)
  #5 (permalink)  
Antiguo 02/07/2011, 07:46
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Respuesta: mensaje de error de variable undefined.

Cita:
Iniciado por Eleazan Ver Mensaje
deduciendo que has hecho print_r($_POST) (y no de $POST!), eso significa que no envias nada por POST

Hay algo que haces mal xD

(Prueba con un print_r($_REQUEST) si quieres xD)
Hola Eleazan,

Gracias por responder. Al hacerle el request me sale lo mismo: array()

Te escribo el codigo por si ves algun error y disculpa las moltestias

Muchas gracias y ben fin de semana.

<?php
require("src/connect.php");

print_r($_REQUEST);
if($_POST["hExtra"]=="Delete")
{
mysql_query("delete from dtblabmaster where abid=".$_POST["hABId"]);
mysql_query("delete from dtblabbiz where abid=".$_POST["hABId"]);
mysql_query("delete from dtblabpersonal where abid=".$_POST["hABId"]);
}

$query = "select dtblabmaster.*,dtblabbiz.bizname,dtblabbiz.bizphon e,dtblabbiz.bizemail,dtblabpersonal.pphone,dtblabp ersonal.pcell,dtblabpersonal.pemail from dtblabmaster,dtblabbiz,dtblabpersonal where dtblabmaster.contactname like '".$_POST["hSort"]."%' and dtblabbiz.abid=dtblabmaster.abid and dtblabpersonal.abid=dtblabmaster.abid order by dtblabmaster.contactname";
$result = mysql_query($query);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Project Manager - Net Blas&eacute;</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../CSS/manager.css" rel="stylesheet" type="text/css">
</head>

<body link="#6699FF" vlink="#6699FF" alink="#6699FF">
<table width="650" border="0" align="center" class="brdr">
<tr>
<td colspan="2" align="center" bgcolor="#FFFFCC" class="manager">Contactos
</td>
</tr>
<tr>
<td width="328" class="manager"><a href="downloads/after.zip">Hacer copia de seguridad
</a></td>
<td width="310" align="right" class="manager"><a href=".">Todos los contactos</a>&nbsp;|&nbsp;<a href="addContact.php">Nuevo
Contacto</a> &nbsp;</td>
</tr>
<tr>
<td colspan="2" class="manager"><hr size="1"></td>
</tr>
<tr>
<td colspan="2" align="right" valign="top" class="manager">
<?
for($i=0;$i<=25;$i++)
{?>
<a href="#" onClick="return submitForm(document.frmContact,'<?=chr(65+$i);?>', 'Sorting');">
<? echo(chr(65+$i)." ");?></a>
<?}
?>
</tr>
<tr>
<td colspan="2" valign="top" class="manager"><hr size="1"></td>
</tr>
<tr>
<td colspan="2" valign="top" class="manager"> <form action="" method="post" name="frmContact" id="frmContact">
<table width="100%" border="0" cellspacing="0">
<?while($row=mysql_fetch_array($result)){ ?>
<tr>
<td width="45%" bgcolor="#F4F4F4" class="manager"> <strong><a href="#" onClick="return submitForm(document.frmContact,<?=$row["abid"];?>,'contactDetails.php');">
<?=$row["contactname"];?>
</a></strong></td>
<td width="35%" class="manager">
<?
$phone = $row["bizphone"];
if($phone=='')
{
$phone = $row["pcell"]." (c)";
if($phone=='')
$phone = $row["pphone"]." (PP)";
}
echo("&nbsp;".$phone);
?>
</td>

<td width="20%" align="right" class="manager"><a href="#" onClick="return submitForm(document.frmContact, <?=$row["abid"];?>,'editContact.php');">Editar</a>
| <a href="#" onClick="return submitForm(document.frmContact,<?=$row["abid"];?>,'Delete');">Eliminar</a></td>
</tr>
<tr>
<td class="btn">Nombre compañía</td>
<td colspan="2" class="btn">Dirección de correo</td>
</tr>
<tr>
<td class="manager">
<?=$row["bizname"];?>
</td>
<td colspan="2" class="manager">
<?
$email = $row["bizemail"];
if($email=='')
$email = $row["pemail"];?>
<a href="mailto:<?=$email;?>">
<?=$email?>
</a></td>
</tr>
<?}?>
</table>
<input type="hidden" name="hABId" id="hABId">
<input type="hidden" name="hSort" id="hSort" value="[A-Z]">
<input type="hidden" name="hExtra" id="hExtra" value="">
</form>
<script language="JavaScript">
function submitForm(obj,myVal,actionStr)
{
obj.hABId.value=myVal;
if(actionStr=='Sorting')
{
actionStr = ".";
obj.hSort.value=myVal;
}
if(actionStr=='Delete')
{
if(!confirm("Estas seguro que quieres eliminar el contacto?.\n\rPlease Presiona 'OK' si estas seguro, si no en 'Cancel'."))
{
return false;
}
actionStr = ".";
obj.hSort.value="";
obj.hExtra.value="Delete";
}
obj.action=actionStr;
obj.submit();
}
</script> </td>
</tr>
</table>
</body>
</html>
  #6 (permalink)  
Antiguo 06/07/2011, 04:09
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
Respuesta: mensaje de error de variable undefined.

Cita:
Iniciado por Eleazan Ver Mensaje
deduciendo que has hecho print_r($_POST) (y no de $POST!), eso significa que no envias nada por POST

Hay algo que haces mal xD

(Prueba con un print_r($_REQUEST) si quieres xD)
Hola Andrés,

Has podido deducir donde está el error.

Muchas gracias y saludos

Jordi
  #7 (permalink)  
Antiguo 08/07/2011, 04:48
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: mensaje de error de variable undefined.

No, no he podido mirar nada más xD

No siempre puedo entrar a forosdelweb... entro cuando tengo 5 minutos muertos en el curro para ayudar a quien pueda! :)

De todas formas, si has encontrado el error, podría poner cual era? Así, si alguien busca, quizás le sirva tu solución

Un saludo!
  #8 (permalink)  
Antiguo 08/07/2011, 04:59
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: mensaje de error de variable undefined.

Pon siempre el código entre etiquetas CODE, si no es imposible leerlo. Si lo copias ahora tengo un ratillo y creo que veo por dónde van los tiros.

Un saludo.
  #9 (permalink)  
Antiguo 08/07/2011, 07:50
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: mensaje de error de variable undefined.

Estas intentando acceder a una variable no definida, tal cual como tienes el código, no estas validando si ya se envio o no el formulario, por lo cual, PHP intentará acceder a dichas variables, así que si vas a tener el código PHP en el mismo archivo que el formulario, primero debes verificar que se envie el formulario para después procesarlo

Código PHP:
Ver original
  1. if (isset($_POST('hExtra')) {
  2.     //Aquí tu código para procesar el formulario
  3. }
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: mensaje, undefined, 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 06:22.