Problema con ejercicio de php

Iniciado por T0p1t0, 18 Julio 2013, 20:19 PM

0 Miembros y 1 Visitante están viendo este tema.

T0p1t0

Estoy haciendo el curso de php+mysql de Jesús Conde, el que pesa 1GB de 61 videotutoriales. Estaba practicando con uno de los primeros ejercicios, pero parece ser que algo falla y el ejemplo que ponen no funciona. Lo he intentado arreglar y he conseguido que funcione la parte en la que me devuelve la fecha del pedido, pero las unidades y precios de los productos me saltan errores.  Os pongo el código html seguido del php, a ver si alguien pudiera ayudarme a decirme donde esta el error...

html:
<!DOCTYPE html>
<html>
<head>
<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>
<title> miOrderform </title>
</head>


<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 id="" 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>
</body>
</html>




php:
<!DOCTYPE html>
<html>
<head>
<title>Formulario de pedido de libros</title>
</head>



<body>
<h1>Librer&iacute;a Online </h1>
<h2>Resumen del Pedido </h2>


<?php 

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

  
echo "<p>Pedido procesado a las "// Start printing order
echo date("H:i ");
echo "del d&iacute;a ";
echo date("j ");
echo "de ";
echo date("F ");
echo "del a&ntilde;o ";
echo date("Y");
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;



$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($totalamount2);
echo "<br>\n";

$taxrate 0.10;  // local sales tax is 10%
$totalamount $totalamount * ($taxrate);
$totalamount number_format($totalamount2);

echo "Total incluyendo impuestos: €".$totalamount."<br>\n";

?>

</body>
</html>



T0p1t0

Solucionado, el problema es que no se habían declarado:

                        $actionqty = $_POST['actionqty'];
         $photoqty = $_POST['photoqty'];
         $flashqty = $_POST['flashqty'];


Este ejercicio es del famoso curso de 0utKast. Era una tontería, pero como es la primera vez estudio y veo código PHP, me ha resultado más complicado arreglar el error. Para que funcione, el codigo php completo quedaría así:

<html>
<head>
  <title>Formulario de pedido de libros</title>
</head>


<body>
<h1>Librer&iacute;a Online </h1>
<h2>Resumen del Pedido </h2>


<?php 
/* Autor: Jesús Conde
Última modificación:septiembre
Este script procesa un pedido de libros
*/
echo "<p>Orden procesada a las "// Esto aparecerá en pantalla
echo date("H:i ");
echo "del d&iacute;a ";
echo date("j ");
echo "de ";
echo date("F ");
echo "del a&ntilde;o ";
echo date("Y");

echo "<br>";

echo "<p> Su pedido es el siguiente: </p>";
//tenemos que definir primero las variables igualandolas al POST que nos envía el formulario
$actionqty $_POST['actionqty']; 
$photoqty $_POST['photoqty']; 
$flashqty $_POST['flashqty'];
echo $actionqty." ActionScript<br>";
echo $photoqty." PhotoShop<br>";
echo $flashqty." Flash MX<br>";

//Aqui declararemos variables y le asignaremos un valor al mismo tiempo que la declaramos
$totalqty 0;
$totalamount 0.00//Podriamos asignarle otra variable al valor de la variable $totalamount = $totalqty = 0;

//Ahora vamos a definir variables constantes para los precios
define("PRECIOACTION"100);
define("PRECIOPHOTO"10);
define("PRECIOFLASH"4);

$totalqty $actionqty $photoqty $flashqty;
$totalamount $actionqty PRECIOACTION $photoqty PRECIOPHOTO $flashqty PRECIOFLASH;

echo "<br>\n";
echo "Art&iacute;culos Pedidos: ".$totalqty."<br>\n";
echo "Subtotal: &euro; ";
echo number_format($totalamount2);

$taxrate 0.10;
$totalamount $totalamount * ($taxrate);
$totalamount number_format($totalamount2);

echo " Total incluyendo impuestos: &euro;".$totalamount."<br>\n";

?>


</body>
</html>