Foros del Web » Programando para Internet » PHP »

Problema con definicion de variable

Estas en el tema de Problema con definicion de variable en el foro de PHP en Foros del Web. Hola estoy empezando uno curso de php y en un ejercicio tengo un problema. Desde una pagina con un formulario paso las vasriables a otra ...
  #1 (permalink)  
Antiguo 22/12/2010, 07:45
Avatar de buzonetix  
Fecha de Ingreso: diciembre-2010
Mensajes: 23
Antigüedad: 13 años, 4 meses
Puntos: 0
Problema con definicion de variable

Hola estoy empezando uno curso de php y en un ejercicio tengo un problema.

Desde una pagina con un formulario paso las vasriables a otra pagina php donde nos da el resultado.

la pagina del formulario tiene este codigo:
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<body background="fondo.png">
<div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 46px; top: 206px;">
<form action="procesarorden.php" method=post>
<table border=0>
<tr bgcolor=#cccccc>
<td width=150><font face="Arial, Helvetica, sans-serif">Libro</font></td>
<td width=15><font face="Arial, Helvetica, sans-serif">Cantidad</font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif">ActionScript</font></td>
<td align=center><font face="Arial, Helvetica, sans-serif">
<input type="text" name="actionqty" size=3 maxlength=3>
</font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif">Photoshop</font></td>
<td align=center><font face="Arial, Helvetica, sans-serif">
<input type="text" name="photoqty" size=3 maxlength=3>
</font></td>
</tr>
<tr>
<td><font face="Arial, Helvetica, sans-serif">Flash MX </font></td>
<td align=center><font face="Arial, Helvetica, sans-serif">
<input type="text" name="flashqty" size=3 maxlength=3>
</font></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="Enviar Pedido"></td>
</tr>
</table>
</form></div>


La pagina donde nos devuelve el resultado tiene este otro:

<html>
<head>
<title>Formulario de pedido de libros</title>
</head>
<body>
<h1>Librer&iacute;a Online </h1>
<h2>Resumen del Pedido </h2>

<?
echo "<p>Pedido procesado el "; // Start printing order

echo date("jS F,H:i ");
echo "<br>";
echo "<p>Su pedido es el siguiente:";
echo "<br>";
echo $actionqty." ActionScript<br>";
echo $photoqty." Photoshop<br>";
echo $flashqty." Flash MX<br>";

$totalqty = 0;
$totalamount = 0.00;

define("ACTIONPRICE", 100);
define("PHOTOPRICE", 10);
define("FLASHPRICE", 4);

$totalqty = $actionqty + $photoqty + $flashqty;
$totalamount = $actionqty * ACTIONPRICE
+ $photoqty * PHOTOPRICE
+ $flashqty * FLASHPRICE;

echo "<br>\n";
echo "Artículos Pedidos: ".$totalqty."<br>\n";
echo "Subtotal: €";
echo number_format($totalamount, 2);
echo "<br>\n";

$taxrate = 0.10; // local sales tax is 10%
$totalamount = $totalamount * (1 + $taxrate);
$totalamount = number_format($totalamount, 2);
echo "Total incluyendo impuestos: €".$totalamount."<br>\n";

?>
</body>
</html>

y cuando lo ejecuto desde el servidor me devuelve este mensaje en el navegador:
Librería Online

Resumen del Pedido

Pedido procesado el 22nd December,13:32

Su pedido es el siguiente:

Notice: Undefined variable: actionqty in D:\cursos\ejerciciosphp\procesarorden.php on line 16
ActionScript

Notice: Undefined variable: photoqty in D:\cursos\ejerciciosphp\procesarorden.php on line 17
Photoshop

Notice: Undefined variable: flashqty in D:\cursos\ejerciciosphp\procesarorden.php on line 18
Flash MX

Notice: Undefined variable: photoqty in D:\cursos\ejerciciosphp\procesarorden.php on line 27

Notice: Undefined variable: actionqty in D:\cursos\ejerciciosphp\procesarorden.php on line 27

Notice: Undefined variable: flashqty in D:\cursos\ejerciciosphp\procesarorden.php on line 27

Notice: Undefined variable: actionqty in D:\cursos\ejerciciosphp\procesarorden.php on line 29

Notice: Undefined variable: photoqty in D:\cursos\ejerciciosphp\procesarorden.php on line 30

Notice: Undefined variable: flashqty in D:\cursos\ejerciciosphp\procesarorden.php on line 30

Artículos Pedidos: 0
Subtotal: €0.00
Total incluyendo impuestos: €0.00

intuyo que el problema es que estoy usando un curso del 2004 y la version php del servidor que tengo es la 5.3.0

no se si alguno sabe porque sucede esto y me puede echar un cable.

Gracias
  #2 (permalink)  
Antiguo 22/12/2010, 07:50
 
Fecha de Ingreso: diciembre-2010
Mensajes: 32
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Problema con definicion de variable

Después de esto:

Código PHP:
<?
echo "<p>Pedido procesado el "// Start printing order
agregá:

Código PHP:
$actionqty $_POST['actionqty'];
$photoqty $_POST['photoqty'];
$flashqty $_POST['flashqty']; 
Las variables están llegando por post, por lo que tenés que asignarlas a tus variables que usas como magicamente

Además siempre deberías fijarte si no vienen vacías y demás ( empty() ).
  #3 (permalink)  
Antiguo 22/12/2010, 09:47
Avatar de buzonetix  
Fecha de Ingreso: diciembre-2010
Mensajes: 23
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Problema con definicion de variable

perfecto funcionó. Muchisimas gracias.

Este curso esta hecho en 2004 con otra version de php.

El codigo venia escrito en un archivo como ejercicio. para ir completando. pero en el video del curo el tipo le funciona perfecto sin este codigo que me pasaste.

Sabrias decirme porque?

Me recomendais abandonar el curso y empezar otro?
  #4 (permalink)  
Antiguo 22/12/2010, 10:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 32
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Problema con definicion de variable

De nada.

Jamás podría haberle funcionado sin eso, ni siquiera en una versión más vieja de PHP.

Te recomendaría buscar algo lo más actual posible, para php 5.3.x, ya que hay muchas funciones que dejaron de usarse y demás.


Saludos y suerte con eso!

Etiquetas: 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 19:23.