Foros del Web » Programando para Internet » PHP »

Error en el código que no llego a comprender

Estas en el tema de Error en el código que no llego a comprender en el foro de PHP en Foros del Web. Que tal, estoy empezando con esto de PHP y estoy haciendo un tutorialq ue me encontré dando vueltas por la red, el tutorial es para ...
  #1 (permalink)  
Antiguo 23/02/2008, 13:15
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Error en el código que no llego a comprender

Que tal, estoy empezando con esto de PHP y estoy haciendo un tutorialq ue me encontré dando vueltas por la red, el tutorial es para generar un archivo "txt" con los datos suministrados por un usiario en un formulario. El HTML con el formulario carga perfecto, pero en PHP con el código para generar el archivo me salta un error cuando lo testeo.
El Código del archivo PHP es el siguiente:
Código:
<?php
	$tireqty = $_POST['tireqty'];
	$oilqty = $_POST['oilqty'];
	$sparkqty = $_POST['sparkqty'];
	$address = $_POST['address'];
	$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Auto partes Bob - Resultado de pedido</title>
</head>
<body>
<h1>Auto partes Bob</h1>
<h2>Resultado de pedido</h2>
<?php
$date = date('H:i jS, F');
echo '<p>Pedido procesado a las ';
echo $date;
echo '</p>';
echo '<p>Su pedido es el siguiente: </p>';
$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
echo 'Items pedidos: '.$totalqty.'<br />';
if ($totalqty == 0){
	echo 'No ha hecho ningún pedido en la página anterior <br />';
} else {
	if ($tireqty > 0){
		echo $tireqty.' ruedas <br />';
	}
	if ($oilqty > 0){
		echo $oilqty.' latas de aceite <br />';
	}
	if ($spark > 0){
		echo $spark.' Spark plugs <br />';
	}
$totalamount = 0.00;
define ('TIREPRICE', 100);
define ('OILPRICE', 10);
define ('SPARKPRICE', 4);
$totalamount = $tireqty * TIREPRICE
			+ $oilqty * OILPRICE
			+ $sparkqty * SPARKPRICE;
$totalamount = number_format ($totalamount, 2, '.',' '). '<br />';
echo '<p>El total del pedido es '.$totalamount.'</p>';
echo '<p>La dirección donde llevar el pedido es '.$address.'</p>';
$outputstring = $date."\t".$tireqty." ruedas \t".$oilqty." latas de aceite \t".$spark." Spark plugs \t\$".$totalamount."\t".$address."\n";
@ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
if (!Sfp){
	echo '<p><strong>Su pedido no pudo ser procesado en este momento. '.'Por favor, intentelo más tarde</strong></p><body><html>';
	exit;
}
fwrite ($fp, $outputstring,strlen($outputstring));
fclose ($fp);
echo '<p>Pedido escrito.</p>';
?>
</body>
</html>
Y el error que me salta es el siguiente:
Parse error: parse error, unexpected $ in C:\Archivos de programa\PHP Home Edition 2\www\orderprocess.php on line 59

Lo raro es que la línea 59 es justamente "</html>"... ya revisé dos veces el código y no logro entender cual es el problema, si alguien me puede ayudar le agradeceré mucho.
Saludos.
  #2 (permalink)  
Antiguo 23/02/2008, 13:21
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Error en el código que no llego a comprender

Mijo:

Creo que le falto el corchete de cerrada "}". Si no me equivoco, iria en la linea 38

Salud!!!
PD: Un Karmita no seria malo.. :D
  #3 (permalink)  
Antiguo 23/02/2008, 13:33
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error en el código que no llego a comprender

Tenés razón Zick, que idiota soy, lo peor es uqe anteriormente lo había pusto, pero lo borré por cosas de la desconcentración, jeje.
Gracias, ahora si funciona.
Saludos.
  #4 (permalink)  
Antiguo 23/02/2008, 13:34
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Error en el código que no llego a comprender

De nada.. para eso estamos!!!
  #5 (permalink)  
Antiguo 23/02/2008, 14:46
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error en el código que no llego a comprender

Ahora me surge otro problema, como ya dije, el código es para crear un archivo TXT con los datos del formulario... pero cuando lo testeo, NO ME GENERA NINGÜN ARCHIVO!!!, como ya dije soy novato en PHP, imagino que el problema estárá en la ruta que que está en
Código:
@ $fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');
pero, repito, como soy novato no conosco que es lo que puede estar mal en esa ruta o si es de otro lado el problema:(... ya me estoy quemando la cabeza me parece, jeje
Saludos.
  #6 (permalink)  
Antiguo 23/02/2008, 14:52
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Error en el código que no llego a comprender

mmm..
@ $fp = fopen("../orders(orders.txt", 'r+') //abro el archivo en modo lectura escritura

Ojo, que el archivo debe estar dentro del servidor. Ademas. fopen solo abre el archivo para modificarlo. De ninguna forma lo exporta como para guardarlo en el equipo del cliente.

Salud!!
  #7 (permalink)  
Antiguo 23/02/2008, 15:45
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error en el código que no llego a comprender

Está denstro del servidor... o eso creo, en realidad el tutorial en ningún momento me dijo que yo creara el archivo txt aparte y que después el PHP solo le cargaría datos, sinó que el tutorial dice que el PHP va a crear el archivo y le va a cargar los datos... por ende. imaginaba que se iba a crear solo en la carpeta del servidor.
Estoy usando el PHP Home Edition, que me instala PHP, Apache y SQL... yo ahora cree un txt vació y lo metí en el directorio "www" dentro del PHP Home edition, que imagino será la carpeta server cuando lo ejecuto localmente, o estoy muy equivocado?
Porque intenté lo que me pasaste y me salta un error.
Saludos.
  #8 (permalink)  
Antiguo 26/02/2008, 15:56
Avatar de zick  
Fecha de Ingreso: mayo-2007
Ubicación: Los Angeles - Chile
Mensajes: 168
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Error en el código que no llego a comprender

Cita:
Iniciado por zick Ver Mensaje
mmm..
@ $fp = fopen("orders/orders.txt", 'r+') //abro el archivo en modo lectura escritura
Debe ser el error a raiz de que el txt está dentro de la carpeta orders.

Verifica eso!
  #9 (permalink)  
Antiguo 26/02/2008, 18:34
 
Fecha de Ingreso: diciembre-2007
Mensajes: 38
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: Error en el código que no llego a comprender

Ya lo solucioné, es que tenía que meter el directorio "orders" con el txt adentro del directorio Apache del PHP home edition para que lo leyera como local.. después de esto, comenzó a funcionar bien y pude leer el txt con PHP.
Gracias.
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 14:03.