Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dione Carlos

[Resolvido] Navegador tenta fazer o download ao invés de exibir o

Recommended Posts

Olá pessoal.

 

Este é meu primeiro post no fórum e infelizmente já é pedindo ajuda, ja peço desculpas se essa não for uma boa maneira de estrear no fórum, mas estou tentando a dias resolver o problema.

 

Estou querendo aprender PHP e estou tentando instalar primeiramente o Apache 2.2 e o PHP e fazê-los funcionar adequadamente.

 

Instalei com sucesso o Apache 2.2 em meu computador, pois quando abro o navegador e entro em http://localhost/ a mensagem de confirmação aparece: Imagem

 

Logo depois instalei o PHP e o configurei com o Apache, de maneira que consegui sucesso, dado que fiz uma pagina em php chamada info.php e a acessei através do link http://localhost/info.php obtendo esse resultado: Imagem

 

 

Arquivos usados na instalação:

 

Apache: httpd-2.2.16-win32-x86-no_ssl.msi

PHP: php-5.2.14-Win32.zip

PECL: pecl-5.2.6-Win32.zip

 

O meu problema: Seguindo um livro (PHP & MYSQL Desenvolvimento Web - Luke Welling e Laura Thomson) eu tento fazer funcionar o seguinte:

 

Há uma página em HTML, chamada orderform.html com o seguinte conteúdo:

<html>
<body>
<form action="processorder.php" method="post">
<table border="0">
<tr bgcolor="#cccccc">
 <td width="150">Item</td>
 <td width="15">Quantity</td>
</tr>
<tr>
 <td>Tires</td>
 <td align="center"><input type="text" name="tireqty" size="3"
    maxlength="3"></td>
</tr>
<tr>
 <td>Oil</td>
 <td align="center"><input type="text" name="oilqty" size="3" maxlength="3"></td>
</tr>
<tr>
 <td>Spark Plugs</td>
 <td align="center"><input type="text" name="sparkqty" size="3"
    maxlength="3"></td>
</tr>
<tr>
 <td>How did you find Bob's?</td>
 <td><select name="find">
       <option value = "a">I'm a regular customer</option>
       <option value = "b">TV advertising</option>
       <option value = "c">Phone directory</option>
       <option value = "d">Word of mouth</option>
     </select>
 </td>
</tr>
<tr>
 <td colspan="2" align="center"><input type="submit" value="Submit Order"></td>
</tr>
</table>
</form>
</body>
</html>

 

Essa página exibe o seguinte : Imagem

 

Quando clico no botão " Submit Order " era para o navegador abrir o "processorder.php" , que tem a estrutura abaixo:

<?php
 // create short variable names
 $tireqty = $_POST['tireqty'];
 $oilqty = $_POST['oilqty'];
 $sparkqty = $_POST['sparkqty'];
 $find = $_POST['find'];
?>
<html>
<head>
 <title>Bob's Auto Parts - Order Results</title>
</head>
<body>
<h1>Bob's Auto Parts</h1>
<h2>Order Results</h2>
<?php

echo '<p>Order processed at ';
echo date('H:i, jS F');
echo '</p>';

echo '<p>Your order is as follows: </p>';

$totalqty = 0;
$totalqty = $tireqty + $oilqty + $sparkqty;
echo 'Items ordered: '.$totalqty.'<br />';

if( $totalqty == 0)
{
 echo 'You did not order anything on the previous page!<br />';
}
else
{
 if ( $tireqty>0 )
   echo $tireqty.' tires<br />';
 if ( $oilqty>0 )
   echo $oilqty.' bottles of oil<br />';
 if ( $sparkqty>0 )
   echo $sparkqty.' spark plugs<br />';
}

$totalamount = 0.00;

define('TIREPRICE', 100);
define('OILPRICE', 10);
define('SPARKPRICE', 4);

$totalamount = $tireqty * TIREPRICE
            + $oilqty * OILPRICE
            + $sparkqty * SPARKPRICE;

echo 'Subtotal: $'.number_format($totalamount,2).'<br />';

$taxrate = 0.10;  // local sales tax is 10%
$totalamount = $totalamount * (1 + $taxrate);
echo 'Total including tax: $'.number_format($totalamount,2).'<br />';


if($find == 'a')
 echo '<p>Regular customer.</p>';
elseif($find == 'b')
 echo '<p>Customer referred by TV advert.</p>';
elseif($find == 'c')
 echo '<p>Customer referred by phone directory.</p>';
elseif($find == 'd')
 echo '<p>Customer referred by word of mouth.</p>';
else
 echo '<p>We do not know how this customer found us.</p>';


?>
</body>
</html>

 

Mas ao invés de interpretar o processorder.php , o navegador tenta abrir/fazer download : Imagem

 

Não sei mais o que tentar para resolver o problema , já instalei outras versões do PHP , inclusive a mais recente até o momento(5.3.3), mas não obtive sucesso. Apenas com os arquivos que citei no início e instalando tudo manualmente consegui chegar nesse ponto mas este último problema persiste.

 

Se alguém puder me ajudar já agradeço antecipadamente.

 

Att. Dione Carlos

 

Edit: Mesmo colocando tanto orderform.html e processorder.php dentro da pasta "htdocs" do Apache, o problema persiste. Mas se eu tento acessar elas separadamente, por exemplo, abrindo o navegador e digitando "http://localhost/processorder.php" , essa pagina php funciona, mas isso não resolve meu problema, uma vez que quando tento usar da maneira que preciso (clicando no botao) o navegador ainda insiste em tentar fazer o download como mostrado acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve acessar tudo através do http://localhost... pelo que você mostrou na imagem você acessa o conteúdo do formulário direto (file:///c:/....) ai isso realmente vai gerar esse erro, outra coisa, "Navegador não interpreta o PHP", o navegador renderiza o HTML, quem interpreta o PHP é o interpretador que você instalou junto ao apache, se isso fosse função do navegador bastaria você acessar os arquivos .php direto pelo navegador (file:...).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você deve acessar tudo através do http://localhost... pelo que você mostrou na imagem você acessa o conteúdo do formulário direto (file:///c:/....) ai isso realmente vai gerar esse erro, outra coisa, "Navegador não interpreta o PHP", o navegador renderiza o HTML, quem interpreta o PHP é o interpretador que você instalou junto ao apache, se isso fosse função do navegador bastaria você acessar os arquivos .php direto pelo navegador (file:...).

 

Então ESerra , não tem como então eu acessar direto da pasta , clicando antes em "orderform.html" (ela abre normalmente) e depois , a partir do que foi aberto acessar a "processorder.php"?

 

Tentando abrir "http://localhost/orderform.php" e depois clicando no "Submit Order" ela tenta o download da pagina "processorder.php" ao invés de ir para "http://localhost/processorder.php", persistindo o problema.

 

Edit: Seguindo o conselho de uma pessoa de outro fórum , limpando o cache , o problema foi quase que totalmente eliminado: Agora quando eu abro o navegador e digito "http://localhost/orderform.php" e clico no botão parou de tentar download e abre o que eu queria que é "http://localhost/processorder.php".

 

O que me resta agora , no caso do Apache + PHP , é somente a dúvida que tenho acima neste mesmo post.

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes

<form action="processorder.php" method="post">

depois

<form action="http://localhost/processorder.php" method="post">

Acho que você vai conseguir descobrir onde errou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.