Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] necesito solucionar error Undefined index

Estas en el tema de necesito solucionar error Undefined index en el foro de PHP en Foros del Web. Hola a todos, tengo este formulario - calculadora hecho pero me salta un error y no consigo saber como solucionarlo. Si alguien pudiera echarle un ...
  #1 (permalink)  
Antiguo 02/04/2013, 04:46
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
necesito solucionar error Undefined index

Hola a todos, tengo este formulario - calculadora hecho pero me salta un error y no consigo saber como solucionarlo. Si alguien pudiera echarle un ojo y ver los errores que tiene se lo agradecería muchísimo.



Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ES"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<title>Envios Nacionales</title>
<link type="text/css" rel="stylesheet" href="style.css" />
<link type="text/css" rel="stylesheet" href="style-estructura.css" />


</head>

<body>
		<div id="header">
		<div id="info">
		<p><strong><font size="4">
		Si tiene alguna duda, contáctanos en: 675807799
		o escribenos a <a>[email protected]</a></strong>
		
		</p>
		</div>

<a href="index.html"><img src="imagenes/logo.png" width="639" height="152" longdesc="imagenes/logo.png">

		<ul id="menu"><font size="1"><strong>
        <li><a style="color:#3d4b54" href="index.html">Inicio</a></li> 
        <li><a style="color:#3d4b54" href="somos.html">Quiénes somos</a></li> 
        <li><a style="color:#3d4b54" href="servicios.html">Servicios</a></li>
        <li><a style="color:#3d4b54" href="Ayuda.html">Ayuda y Preguntas Frecuentes</a></li>
        <li><a style="color:#3d4b54" href="contacto.html">Contacto</a></li>
        <li><a style="color:#3d4b54" href="testimonios.html">Testimonios</a></li>
        <li><a style="color:#3d4b54" href="blog.html">Blog</a></li>
        
        </ul></font></strong>
		
		
				</div>
				
				[PHP]<?php
				

function calcular()
{
$alto= $_POST['alto'];
$largo= $_POST['largo'];
$ancho= $_POST['ancho'];

$x= $_POST['peso'];

$y=$alto+$largo+$ancho;

}

if ($y<=100){
$precio=0;
$precioincremento = 0;
}
elseif ($y > 100)
{
    $precioincremento = $y-100 * 0.1;
		$precio = $y-100 * 0.1;
}
if($_POST['tipo']=="sobre"){
	 	 if($_POST['distancia']=="provincial"){
		  $precio+=4.50;}
				if($_POST['peso']>2){
						$_POST['total']="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
		 elseif($_POST['distancia']=="regional"){
		 	$precio+=4.80;}
			if($_POST['PESO']>2){
						$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
		elseif($_POST['distancia']=="nacional"){
		 	$precio+=5.50;}
			if($_POST['peso']>2){
						$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
						}
						
						/*$preciofinal = $precio + $precioincremento*/
						
if ($_POST ['tipo']=="economico") {						

//No tendría sentido el de X menor a 2, pero lo dejo de momento por si cambiaran los precios.
 if($_POST['distancia']=="provincial"){
 
 														if ($x<=2) $precio+=4.50;
														elseif ($x<=5 && $x>=2.1) $precio+=4.60;
														elseif ($x<=10 && $x>=5.1) $precio+=4.72;
														elseif ($x<=11 && $x>=10.1)$precio+=5.41;

}

}

if($_POST['distancia']=="regional"){
 
 		if ($x<=2) $precio+=4.65;
		elseif ($x<=5 && $x>=2.1) $precio+=4.70;
		elseif ($x<=10 && $x>=5.1) $precio+=4.90;
		elseif ($x<=11 && $x>=10.1) $precio+=5.61;

}

if($_POST['distancia']=="nacional"){
 
if ($x<=2) $precio+=4.65;
		elseif ($x<=5 && $x>=2.1) $precio+=4.90;
		elseif ($x<=10 && $x>=5.1) $precio+=5.9;
		elseif ($x<=11 && $x>=10.1) $precio+=5.91;

}

if ($_POST ['tipo']=="urgente") {						


if ($x<=2) $precio+=4.65;
		elseif ($x<=5 && $x>=2.1) $precio+=5.70;
		elseif ($x<=10 && $x>=5.1) $precio+=5.90;
		elseif ($x<=11 && $x>=10.1) $precio+=6.61;

}
$_POST['precio']=$precio;
focus($_POST['distancia']);
echo $precio;
return

                        
?>[/PHP]

				
<div id="envios">				
				
<ul id="menu"><font size=1>
        <li><img src="imagenes/tipoenvio2.png"</li> 
        <li><img src="imagenes/caracteristicas.png"</li> 
		<li><img src="imagenes/destino3.png"</li> 
        <li><img src="imagenes/pago3.png"</li> 
       
        
        </ul></font>
		<div id="tipo-envios-nacional">

<br/>

<p><strong><font size= 4>Envíos Nacionales</p></strong></font>
		
		<p><font size=3> Selecciona el tipo de envío que más te interese <p></font><br/>

<p><font size=4><p><strong><font color="#f4800f">Envíos hasta 2kg.<p></font></font></strong>
<p><font size=3> Tu mejor opción para envíos de hasta 2 kg. Seguro incluido contra rotura y daños (hasta 6.000 € cubiertos). Envíos en 24 horas. Lo recogemos el mismo día, antes de las 7 de la tarde y lo entregamos el día siguiente antes de la misma hora.
</font>


<br/>
<br/>

<p><font size=4><p><strong><font color="#f4800f">Mismo Día<p></font></font></strong>
<p><font size=3>  ¿Tienes una entrega que no puede esperar hasta mañana, y quieres que se entregue hoy mismo? Con este servicio no tendrás que esperar.
</font>
</p>


<br/>

<p><font size=4><p><strong><font color="#f4800f">Urgente 24 HORAS<p></font></font></strong>
<p><font size=3>  Envíos urgentes para a cualquier punto de España, para bultos mayores de 2 kilogramos.</p> 
</font>
</p>


<br/>

<p><font size=4><p><strong><font color="#f4800f">Económico 48-72 HORAS<p></font></font></strong> 
<p> Si tu prioridad no es el tiempo de entrega. Éste es tu servicio más barato.
</p>

</div>

<div id="peso-volumen">

<form name="formulario" action="calculadora.php" method="post">

<tr>
   <td><label>Peso (Kg):</label></td>
   <td><input type="text" name="peso" maxlength="3" size="3" onchange="return calcular"()></td><br>
   <td><label>Alto (cm):</label></td>
   <td><input type="text" name="alto" maxlength="3"size="3"></td><br>
   <td><label>Largo (cm):</label></td>
   <td><input type="text" name="largo" maxlength="3"size="3"></td><br>
   <td><label>Ancho (cm):</label></td>
   <td><input type="text" name="ancho" maxlength="3"size="3"></td><br>
</tr>
<tr>

<br><br>
   <td><select name="tipo"><option value="sobre">paquetes hasta 2 kg </option>
   <option value="economico">envío económico para paquetes mayores a 2 kg</option>
   <option value="urgente">envíos urgentes</option>
   </select><br>
   <td><select name="distancia"><option value="provincial">provincial</option>
   <option value="regional">regional</option>
   <option value="nacional">nacional</option>
   
<input type="submit" name="submit" value="Precio" />   
<input type="text" name="preciofinal" size="3">


</div>	

<a href="nacional-datos.html"><p><h1>ENVÍAMELO</h1></p></a>

				</div>




				
	<div id="footer">
		
		<ul id="menu2">
        <strong><li><a style="color:#f4800f" href="nacional.php">Envíos Nacionales</a></li>
        <li><a style="color:#f4800f" href="internacional.php">Envíos Internacionales</a></li>  
        <li><a style="color:#f4800f" href="condiciones.html">Términos y condiciones</a></li>
        <li><a style="color:#f4800f" href="privacidad.html">Politica de privacidad</a></li>
        <li><a style="color:#f4800f" href="mapa.html">Mapa del sitio</a></li><br>
        <li><a style="color:#f4800f" href="cookies.html">Uso de cookies</a></li>
        <li><a style="color:#f4800f" href="prohibidos.html">Artículos prohibidos</a></li>
		<li><a style="color:#f4800f" href="necesidad.html">¿Qué necesito?</a></li></strong>
        
        </ul>
		
		<hr/><br/>
		
		<p class="derechos"><align=center> © Yoteloenvio.com 2013 todos los derechos reservados<br/>
		Yoteloenvio.com Calle Carraca nº15, San Fernando (Cadiz) 11100<br>
		contáctenos en: [email protected] Telefono: 675807799. Marca registrada en España<br/><br/>
		<img src="imagenes/tiposdepago.jpg"> Siguenos en <img src="imagenes/twitter.gif"> <img src="imagenes/facebook.gif">

		</p>

		
		</div>
		
		
					
				
				
				
				
				
				
				
				
				
				
				
				
</body>

</html> 
  #2 (permalink)  
Antiguo 02/04/2013, 04:53
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: necesito solucionar error Undefined index

Undefined index por que no posteas todo el mensaje de error que te da... seguramente te esta informando de en que linea se produce el error... y será mas facil ayudarte.

Undefined index revisa los nombres de los campos.... recuerda que php es case sensitive.

$_POST['precio'] no veo nada que se llame precio en el formulario...?????

Una vez corrijas eso te va a decir que focus no es una funcion de php...
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/04/2013 a las 05:01
  #3 (permalink)  
Antiguo 02/04/2013, 05:02
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: necesito solucionar error Undefined index

Indica un poco mejor que errores te da y cuando.
De momento estoy viendo que usas <tr> y <td> sin tener una tabla creada, al menos en el código que as puesto.
En los IMG no los cierras <img src="imagenes/tipoenvio2.png">.
Tienes el return fuera de la función.
Y algunas cosas mas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Última edición por bookmaster; 02/04/2013 a las 05:10
  #4 (permalink)  
Antiguo 02/04/2013, 05:52
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Corregidos los errores que me habéis comentado.

Éstos son los errores que me da:

( ! ) Notice: Undefined variable: y in C:\wamp\www\yoteloenvio\nacional.php on line 54
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0

( ! ) Notice: Undefined index: tipo in C:\wamp\www\yoteloenvio\nacional.php on line 63
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0

( ! ) Notice: Undefined index: tipo in C:\wamp\www\yoteloenvio\nacional.php on line 80
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0

( ! ) Notice: Undefined index: distancia in C:\wamp\www\yoteloenvio\nacional.php on line 94
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0

( ! ) Notice: Undefined index: distancia in C:\wamp\www\yoteloenvio\nacional.php on line 103
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0

( ! ) Notice: Undefined index: tipo in C:\wamp\www\yoteloenvio\nacional.php on line 112
Call Stack
# Time Memory Function Location
1 0.0011 155752 {main}( ) ..\nacional.php:0
0

Gracias!

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ES"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<title>Envios Nacionales</title>
<link type="text/css" rel="stylesheet" href="style.css" />
<link type="text/css" rel="stylesheet" href="style-estructura.css" />


</head>

<body>
		<div id="header">
		<div id="info">
		<p><strong><font size="4">
		Si tiene alguna duda, contáctanos en: 675807799
		o escribenos a <a>[email protected]</a></strong>
		
		</p>
		</div>

<a href="index.html"><img src="imagenes/logo.png" width="639" height="152" longdesc="imagenes/logo.png">

		<ul id="menu"><font size="1"><strong>
        <li><a style="color:#3d4b54" href="index.html">Inicio</a></li> 
        <li><a style="color:#3d4b54" href="somos.html">Quiénes somos</a></li> 
        <li><a style="color:#3d4b54" href="servicios.html">Servicios</a></li>
        <li><a style="color:#3d4b54" href="Ayuda.html">Ayuda y Preguntas Frecuentes</a></li>
        <li><a style="color:#3d4b54" href="contacto.html">Contacto</a></li>
        <li><a style="color:#3d4b54" href="testimonios.html">Testimonios</a></li>
        <li><a style="color:#3d4b54" href="blog.html">Blog</a></li>
        
        </ul></font></strong>
		
		
				</div> 
Código PHP:
<?php
                

function calcular()
{
$alto$_POST['alto'];
$largo$_POST['largo'];
$ancho$_POST['ancho'];

$x$_POST['peso'];

$y=$alto+$largo+$ancho;

}

if (
$y<=100){
$precio=0;
$precioincremento 0;
}
elseif (
$y 100)
{
    
$precioincremento $y-100 0.1;
        
$precio $y-100 0.1;
}
if(
$_POST['tipo']=="sobre"){
          if(
$_POST['distancia']=="provincial"){
          
$precio+=4.50;}
                if(
$_POST['peso']>2){
                        
$_POST['total']="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
         elseif(
$_POST['distancia']=="regional"){
             
$precio+=4.80;}
            if(
$_POST['PESO']>2){
                        
$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
        elseif(
$_POST['distancia']=="nacional"){
             
$precio+=5.50;}
            if(
$_POST['peso']>2){
                        
$precio="Lo sentimos. En esta opción el paquete no puede ser mayor a 2 kg, escoja la opción de paquetes mayores a 2 kg. Gracias.";}
                        }
                        
                        
/*$preciofinal = $precio + $precioincremento*/
                        
if ($_POST ['tipo']=="economico") {                        

//No tendría sentido el de X menor a 2, pero lo dejo de momento por si cambiaran los precios.
 
if($_POST['distancia']=="provincial"){
 
                                                         if (
$x<=2$precio+=4.50;
                                                        elseif (
$x<=&& $x>=2.1$precio+=4.60;
                                                        elseif (
$x<=10 && $x>=5.1$precio+=4.72;
                                                        elseif (
$x<=11 && $x>=10.1)$precio+=5.41;

}

}

if(
$_POST['distancia']=="regional"){
 
         if (
$x<=2$precio+=4.65;
        elseif (
$x<=&& $x>=2.1$precio+=4.70;
        elseif (
$x<=10 && $x>=5.1$precio+=4.90;
        elseif (
$x<=11 && $x>=10.1$precio+=5.61;

}

if(
$_POST['distancia']=="nacional"){
 
if (
$x<=2$precio+=4.65;
        elseif (
$x<=&& $x>=2.1$precio+=4.90;
        elseif (
$x<=10 && $x>=5.1$precio+=5.9;
        elseif (
$x<=11 && $x>=10.1$precio+=5.91;

}

if (
$_POST ['tipo']=="urgente") {                        


if (
$x<=2$precio+=4.65;
        elseif (
$x<=&& $x>=2.1$precio+=5.70;
        elseif (
$x<=10 && $x>=5.1$precio+=5.90;
        elseif (
$x<=11 && $x>=10.1$precio+=6.61;

}
$_POST['precio']=$precio;

echo 
$precio;
return

                        
?>
Código HTML:
				
<div id="envios">				
				
<ul id="menu"><font size=1>
        <li><img src="imagenes/tipoenvio2.png"></li> 
        <li><img src="imagenes/caracteristicas.png"></li> 
		<li><img src="imagenes/destino3.png"></li> 
        <li><img src="imagenes/pago3.png"></li> 
       
        
        </ul></font>
		<div id="tipo-envios-nacional">

<br>

<p><strong><font size= 4>Envíos Nacionales</p></strong></font>
		
		<p><font size=3> Selecciona el tipo de envío que más te interese <p></font><br/>

<p><font size=4><p><strong><font color="#f4800f">Envíos hasta 2kg.<p></font></font></strong>
<p><font size=3> Tu mejor opción para envíos de hasta 2 kg. Seguro incluido contra rotura y daños (hasta 6.000 € cubiertos). Envíos en 24 horas. Lo recogemos el mismo día, antes de las 7 de la tarde y lo entregamos el día siguiente antes de la misma hora.
</font>


<br>
<br>

<p><font size=4><p><strong><font color="#f4800f">Mismo Día<p></font></font></strong>
<p><font size=3>  ¿Tienes una entrega que no puede esperar hasta mañana, y quieres que se entregue hoy mismo? Con este servicio no tendrás que esperar.
</font>
</p>


<br>

<p><font size=4><p><strong><font color="#f4800f">Urgente 24 HORAS<p></font></font></strong>
<p><font size=3>  Envíos urgentes para a cualquier punto de España, para bultos mayores de 2 kilogramos.</p> 
</font>
</p>


<br>

<p><font size=4><p><strong><font color="#f4800f">Económico 48-72 HORAS<p></font></font></strong> 
<p> Si tu prioridad no es el tiempo de entrega. Éste es tu servicio más barato.
</p>

</div>

<div id="peso-volumen">

<form name="formulario" action="calculadora.php" method="post">

<tr>
   <td><label>Peso (Kg):</label></td>
   <td><input type="text" name="peso" maxlength="3" size="3" onchange="return calcular"()></td><br>
   <td><label>Alto (cm):</label></td>
   <td><input type="text" name="alto" maxlength="3"size="3"></td><br>
   <td><label>Largo (cm):</label></td>
   <td><input type="text" name="largo" maxlength="3"size="3"></td><br>
   <td><label>Ancho (cm):</label></td>
   <td><input type="text" name="ancho" maxlength="3"size="3"></td><br>



<br><br>
   <td><select name="tipo"><option value="sobre">paquetes hasta 2 kg </option>
   <option value="economico">envío económico para paquetes mayores a 2 kg</option>
   <option value="urgente">envíos urgentes</option></td>
   </select><br>
   <td><select name="distancia"><option value="provincial">provincial</option>
   <option value="regional">regional</option>
   <option value="nacional">nacional</option></td>
   
<input type="submit" name="submit" value="Precio" />   
<input type="text" name="precio" size="3">

</tr>

</div>	

<a href="nacional-datos.html"><p><h1>ENVÍAMELO</h1></p></a>

				</div>




				
	<div id="footer">
		
		<ul id="menu2">
        <strong><li><a style="color:#f4800f" href="nacional.php">Envíos Nacionales</a></li>
        <li><a style="color:#f4800f" href="internacional.php">Envíos Internacionales</a></li>  
        <li><a style="color:#f4800f" href="condiciones.html">Términos y condiciones</a></li>
        <li><a style="color:#f4800f" href="privacidad.html">Politica de privacidad</a></li>
        <li><a style="color:#f4800f" href="mapa.html">Mapa del sitio</a></li><br>
        <li><a style="color:#f4800f" href="cookies.html">Uso de cookies</a></li>
        <li><a style="color:#f4800f" href="prohibidos.html">Artículos prohibidos</a></li>
		<li><a style="color:#f4800f" href="necesidad.html">¿Qué necesito?</a></li></strong>
        
        </ul>
		
		<hr/><br>
		
		<p class="derechos"><align=center> © Yoteloenvio.com 2013 todos los derechos reservados<br>
		Yoteloenvio.com Calle Carraca nº15, San Fernando (Cadiz) 11100<br>
		contáctenos en: [email protected] Telefono: 675807799. Marca registrada en España<br><br>
		<img src="imagenes/tiposdepago.jpg"> Siguenos en <img src="imagenes/twitter.gif"> <img src="imagenes/facebook.gif">

		</p>

		
		</div>		
					
				
				
</body>

</html> 
  #5 (permalink)  
Antiguo 02/04/2013, 05:58
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: necesito solucionar error Undefined index

Sigues sin responder en que momento te salen los errores.

Esto es la linea 54.
Código PHP:
Ver original
  1. $y=$alto+$largo+$ancho;
¿En que momento le pasas los valores?
Porque si tratas de llenarlo con
Código PHP:
Ver original
  1. $alto= $_POST['alto'];
  2. $largo= $_POST['largo'];
  3. $ancho= $_POST['ancho'];
  4.  
  5. $x= $_POST['peso'];
Y estos están vacios te dara error. Cualquier variable que le pases un $_POST y este vacia te dara error.
Para evitar eso tendrias que usar isset(), antes de asignarles el valor.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #6 (permalink)  
Antiguo 02/04/2013, 06:57
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: necesito solucionar error Undefined index

hola

corregiste los errores mencionados, como cerrar el form, crear la table, haz esto en la primera linea del archivo que recibe la info

Código PHP:
Ver original
  1. var_dump($_POST);


eso te debe arrojar la estructura de un arreglo, verifica si los valores estan llegando
  #7 (permalink)  
Antiguo 02/04/2013, 07:16
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Cita:
Iniciado por bookmaster Ver Mensaje
Sigues sin responder en que momento te salen los errores.

Esto es la linea 54.
Código PHP:
Ver original
  1. $y=$alto+$largo+$ancho;
¿En que momento le pasas los valores?
Porque si tratas de llenarlo con
Código PHP:
Ver original
  1. $alto= $_POST['alto'];
  2. $largo= $_POST['largo'];
  3. $ancho= $_POST['ancho'];
  4.  
  5. $x= $_POST['peso'];
Y estos están vacios te dara error. Cualquier variable que le pases un $_POST y este vacia te dara error.
Para evitar eso tendrias que usar [URL="http://php.net/manual/es/function.isset.php"]isset()[/URL], antes de asignarles el valor.
Los errores me los da nada más abrir la página, no se me carga el formulario y no sale nada en la página salvo el encabezado
  #8 (permalink)  
Antiguo 02/04/2013, 07:24
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: necesito solucionar error Undefined index

hola

hum, bueno veo un pequeño detalle , estas llamando los valores POST dentro de la funcion , pero si no estoy mal no te va a permitir acceder a esos valores porque no estan globales , podrias hacer esto:

Código PHP:
Ver original
  1. function calcular($arregloinfo)
  2. {
  3. extract($arregloinfo);
  4. $alto= $alto ;// en este caso ya no es necesario llamar el valor alto con $_POST["alto"] , si no basta con llamarlo $alto , porque lo estamos extrayendo con la funcion extract
  5. $largo= $largo;
  6. $ancho= $ancho;
  7. .....
  8. ...
  9. ..
  10.  
  11. }
  12. //llamas la funcion pasandole el parametro del arreglo
  13. calcular($_REQUEST);

o intenta con esta :

Código PHP:
Ver original
  1. //en la primera linea de la funcion colocar
  2. function calcular()
  3. {
  4. global $_REQUEST;
  5. ....
  6. ..
  7. .
  8. }
  #9 (permalink)  
Antiguo 02/04/2013, 07:31
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: necesito solucionar error Undefined index

Pues ahi tienes tu problema, que no le llegan datos cuando se carga el formulario.
Si quitas la parte del PHP si que te lo muestra. Ejemplo
A si que arregla lo que te comente de la función, que la cierras antes de hacer otras cosas, usa los isset(), empty(), para verificar que tienen valores los $_POST.
El return no te devuelve nada...

Pd.: Si estructuras mejor el código te seria mas facil saber cuando se abren y se cierran las cosas.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #10 (permalink)  
Antiguo 02/04/2013, 07:42
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Cita:
Iniciado por informacionsys Ver Mensaje
hola

corregiste los errores mencionados, como cerrar el form, crear la table, haz esto en la primera linea del archivo que recibe la info

Código PHP:
Ver original
  1. var_dump($_POST);


eso te debe arrojar la estructura de un arreglo, verifica si los valores estan llegando
donde coloco esto??
  #11 (permalink)  
Antiguo 02/04/2013, 07:48
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: necesito solucionar error Undefined index

eso lo debes colocar en archivo donde esta la funcion de calcular, pero en la primera linea , sin embargo recibe lo otro que te escribi
  #12 (permalink)  
Antiguo 02/04/2013, 07:48
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Cita:
Iniciado por bookmaster Ver Mensaje
Pues ahi tienes tu problema, que no le llegan datos cuando se carga el formulario.
Si quitas la parte del PHP si que te lo muestra. [URL="http://fdw.lohacemosweb.net/Katoncin.php"]Ejemplo[/URL]
A si que arregla lo que te comente de la función, que la cierras antes de hacer otras cosas, usa los isset(), [URL="http://php.net/manual/es/function.empty.php"]empty()[/URL], para verificar que tienen valores los $_POST.
El return no te devuelve nada...

Pd.: Si estructuras mejor el código te seria mas facil saber cuando se abren y se cierran las cosas.
Podrías ayudarme?

es que no entiendo bien lo que hay que hacer.

El formulario obviamente nada más comenzar estará vacío, aunque puedo asignarle unos valores de inicio =0 por ejemplo si hace falta para que no de el error, pero te agradecería si pudieras pasarmelo corregido para que vea cual es el problema.

Gracias!
  #13 (permalink)  
Antiguo 02/04/2013, 07:49
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: necesito solucionar error Undefined index

mi pregunta es tu envias el formulario al mismo archivo ???????
  #14 (permalink)  
Antiguo 02/04/2013, 08:15
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: necesito solucionar error Undefined index

Hay mucho que estructurar en el código....
Pero vamos que según lo voy recolocando ya he descubierto cual es tu intención con la parte del PHP. Y debo decirte que así no se puede hacer, habría que hacerlo en JavaScript o usar Ajax para ello.
De todas maneras vere que puedo hacer.

¿Usas un editor visual para crearlo no? Lo digo porque usas Fonts y <p> en sitios que no tienen que estar, y eso es cosas de los editores que te los crean, en vez de programarlo a mano.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net

Última edición por bookmaster; 02/04/2013 a las 08:30
  #15 (permalink)  
Antiguo 02/04/2013, 08:35
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Cita:
Hay mucho que estructurar en el código....
Pero vamos que según lo voy recolocando ya he descubierto cual es tu intención con la parte del PHP. Y debo decirte que así no se puede hacer, habría que hacerlo en JavaScript o usar Ajax para ello.
De todas maneras vere que puedo hacer.

¿Usas un editor visual para crearlo no? Lo digo porque usas Fonts y <p> en sitios que no tienen que estar, y eso es cosas de los editores que te los crean, en vez de programarlo a mano.
Si mira, te explico. Yo necesito que la persona rellene el tamaño del paquete y el peso, y que al hacerlo le de un precio según el tipo de envío que seleccione. Sinceramente pensé que podría hacerse en php según me habían dicho, pero llevo poco programando así que la verdad no lo sé.

- Distancia de envío: Nacional, Regional, Provincial
- Tipo de envío: económico (lento), urgente (24h) y de menos de 2 kg.

No uso editor, uso notepad++. Pero me imagino que meteré cosas de más :/

Cita:
mi pregunta es tu envias el formulario al mismo archivo ???????
quería hacerlo en 2 páginas por separado, pero por simplificación las uni en una sola. Aunque quizás no lo hice bien
  #16 (permalink)  
Antiguo 02/04/2013, 08:40
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: necesito solucionar error Undefined index

Si, si descubri cual era la intención y por eso te puse que habría que hacerlo en JavaScript o usar Ajax. Pero vamos que estoy tratando de adaptar lo que quieres.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #17 (permalink)  
Antiguo 02/04/2013, 08:57
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Cita:
Iniciado por bookmaster Ver Mensaje
Si, si descubri cual era la intención y por eso te puse que habría que hacerlo en JavaScript o usar Ajax. Pero vamos que estoy tratando de adaptar lo que quieres.
Muchas gracias
  #18 (permalink)  
Antiguo 02/04/2013, 15:15
 
Fecha de Ingreso: marzo-2013
Ubicación: cadiz
Mensajes: 30
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: necesito solucionar error Undefined index

Muchisimas gracias bookmaster por solucionarme el problema.

Cierro el tema como solucionado, pero seguro que seguiré por aquí con más cositas en el futuro, jeje

Gracias!

Etiquetas: formulario, html, index, select, solucionar, undefined
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 05:57.