Jump to content


Old_Fox

Member Since 01/12/2009
Offline Last Active 01/12/2009, 22:24
-----

#988468 Gravar Informação Em Um Arquivo Txt

Posted by Old_Fox on 01/12/2009, 21:10

Ola pessoa estou com um problema, estou lendo o Livro Php e Mysql para Web, estou no capitulo 2 onde tem um scrip para armazenar informações em um arquivo txt, essas informações são passado atraves de um formulario e gravada em um Arquivo txt, mais não estou conseguindo que essa informções fosse gravada, rodo o script equivalete ao capitulo que estou vendo e acontece a mesma coisa, Será que a configuração do PHP e Apache que estão errada na minha Máquina? Abaxo segue os arquivos.

Ola pessoa estou com um problema, estou lendo o Livro Php e Mysql para Web, estou no capitulo 2 onde tem um scrip para armazenar informações em um arquivo txt, essas informações são passado atraves de um formulario e gravada em um Arquivo txt, mais não estou conseguindo que essa informções fosse gravada, rodo o script equivalete ao capitulo que estou vendo e acontece a mesma coisa, Será que a configuração do PHP e Apache que estão errada na minha Máquina? Abaxo segue os arquivos.



Arquivo do Formulario: ordemform.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<meta name="author" content="FolhaVerde™" />

	<title>Cadastros de Pedidos</title>
</head>

<body>

<form action="processorder.php" method=post>
<table border="0">
<tr bgcolor="#cccccc">
<td width= "278">Item</td>
<td width="319">Quantidade</td>
</tr>
<tr>
<td>Pneus</td>
<td align="center"><input type="text" name="tireqty" size="3" maxlength="3"/></td>
</tr>
<tr>
<td>Oleo</td>
<td align="center"><input type="text" name="oilqty" size="3" maxlength="3"/></td>
</tr>
<tr>
<td>Velas de Ignição</td>
<td align="center"><input type="text" name="sparkqty" size="3" maxlength="3"/></td>
</tr>
<tr>
<td colspan="2" align="center">&nbsp;</td>
</tr>
<tr>
  <td>Endere&ccedil;o Domiciliar ou da Entrega</td>
  <td><label>
    <input name="address" type="text" id="address" size="60" />
    </label></td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td colspan="2"><input type="submit" value="Enviar Compra"/></td>
  </tr>
</table>
</form>

</body>
</html>

Arquivo que faz o processo: processorder.php
<?PHP

//criando o nome das variaveis

$tireqty = $_POST['tireqty'];
$oilqty = $_POST['oilqty'];
$sparkqty = $_POST['sparkqty'];
$address = $_POST['address'];

$DOCUMENT_ROOT = $HTTP_SERVER_VARS['DOCUMET_ROOT'];
?>

<head>
<title>Car - Auto Pe&ccedil;as</title>
</head>

<body>
<h1> Car Auto - Pe&ccedil;as</h1>
<h2>Resultado de Pedidos</h2>
<?php
   $date = date('H:i, jS F');
   
   echo'<p>Pedido Processado at&eacute;   ';
   echo $date;
   echo '</p>';
   
   echo'<p>Seu pedido &eacute; o seguinte: </p>';
   
  $totalqty = 0;
  $totalqty = $tireqty + $oilqty + $sparkqty; 
  echo 'Total de Itens Comprado:  ' .$totalqty.'<br />';
   
   if($totalqty == 0)
   {
	   echo 'Atenção. Você não efetuou nehuma compra na página anterior!<br/>';
   }
   else
   {
	   if($tireqty > 0)
	      echo $tireqty. ' Pneus<br/>';
		  if($oilqty > 0)
		  echo $oilqty. ' Litros de oleo<br/>';
		  if($sparkqty > 0 )
		   echo $sparkqty.' velas de ingni&ccedil;&atilde;o<br/>';
   }
   
   $totalamount = 0.00;
   
   define('PNEUPRECO', 155);
   define('OLEOPRECO', 14);
   define('VELAPRECO', 8);
   
   $totalamount = (($tireqty * PNEUPRECO) + ($oilqty * OLEOPRECO) + ($sparkqty * VELAPRECO));
   $totalamount = number_format($totalamount, 2, '.', ' ');
	
	echo '<p>Total do Pedido: ' .$totalamount.'</p>';
	echo '<p>Endere&ccedil;o de Entrega: '.$address. '</p>';
	
	$outputstring = $date. "\t" .$tireqty." pneus \t".$oilqty." oleo\t"
	                 .$sparkqty." velas de igni&ccedil;&atilde;o\t\$".$totalamount
					 ."\t".$address."\n";
					 
	//abre o arquivo para anexar
	
	$fp = fopen("$DOCUMENT_ROOT\\..\\orders\\orders.txt", 'ab');
	
	if(!$fp)
	{
		echo '<p><strong> Seu pedido n&atilde;o p&ocirc;de ser processado no momento. '
		     .'Por favor, tente novamente mais tarde.</strong></p></body></html>';
			 exit;
	}
  fwrite($fp, $outputstring, strlen($outputstring));
  fclose($fp);;
	
	echo'<p>Pedido Realizado.</p>';
	?>
</body>
</html>
Espero não ter feito nehuma bagunça, ainda não estou acostumado com a formatçaõ das mensagens desse forum.

Pessoal fique revendo os sricpts e achei o problema, ele não estava gravando porque não cosnguia achar o arquivo que especifiquei essa parte do arqivo abre o txt para poder ser grado as infomações vinda do form:
<?php
.......
//abre o arquivo para anexar                
    $fp = fopen("$DOCUMENT_ROOT\\..\\orders\\orders.txt", 'ab');                
        if(!$fp)        
          {                
               echo '<p><strong> Seu pedido n&atilde;o p&ocirc;de ser processado no momento. '
               .'Por favor, tente novamente mais tarde.</strong></p></body></html>';
               exit; 
           }  
    fwrite($fp, $outputstring, strlen($outputstring));  
   fclose($fp);;                
  echo'<p>Pedido Realizado.</p>';   
?>

Foi apenas arrumado a linha
$fp = fopen("$DOCUMENT_ROOT\\..\\orders\\orders.txt", 'ab');

por essa: $fp = fopen("C:\\orders.txt", 'ab');


IPB Skin By Virteq