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"> </td> </tr> <tr> <td>Endereço Domiciliar ou da Entrega</td> <td><label> <input name="address" type="text" id="address" size="60" /> </label></td> </tr> <tr> <td> </td> <td> </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ças</title> </head> <body> <h1> Car Auto - Peças</h1> <h2>Resultado de Pedidos</h2> <?php $date = date('H:i, jS F'); echo'<p>Pedido Processado até '; echo $date; echo '</p>'; echo'<p>Seu pedido é 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çã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ço de Entrega: '.$address. '</p>'; $outputstring = $date. "\t" .$tireqty." pneus \t".$oilqty." oleo\t" .$sparkqty." velas de igniçã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ão pô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ão pô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');
- Squall Robert likes this