Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Acho que aqui é o lugar mais apropriado pra isso, mas não tenho certeza.
Instalei o easyPHP(Apache, PHP, mySQL e sei lá mais o que vem junto nisso) no windows vista.
Ele roda legal algumas coisas, mas estou estundando PHP e peguei um exemplo pra testar que é um formulário, com o seguinte código:
<html>
<head><title>Aprendendo PHP</title></head>
<body>
<?php
if ($texto != "")
echo "Você digitou \"$texto\"<br><br>";
?>
<form method=post action="<? echo $PATH_INFO; ?>">
<input type="text" name="texto" value="" size=10>
<br>
<input type="submit" name="sub" value="Enviar!">
</form>
</body>
</html>
O problema é que quando clico no botão ele dá erro 403. Alguém sabe o motivo e o que eu posso mudar?
Meu amigo tinha dito pra mudar o httpd.conf a parte do
<Directory />
Options FollowSymLinks
AllowOverride Allow
Order deny,allow
Deny from all
</Directory>
para
<Directory />
Options FollowSymLinks Indexes
AllowOverride Allow
Order allow,deny
Allow from all
</Directory>
mas continua dando o erro.
Vendo os logs o error log apresenta isto:
[Thu Jan 15 01:07:02 2009] [error] [client 127.0.0.1] PHP Notice: Undefined variable: texto in C:\\EasyPHP 3.0\\www\\terceiro.php3 on line 10, referer: http://127.0.0.1/
[Thu Jan 15 01:07:04 2009] [error] [client 127.0.0.1] (20024)The given path is misformatted or contained invalid characters: Cannot map POST /%3C?%20echo%20$PATH_INFO;%20?> HTTP/1.1 to file, referer: http://127.0.0.1/terceiro.php3
e o access log apresenta isto:
127.0.0.1 - - [15/Jan/2009:01:07:02 -0300] "GET /terceiro.php3 HTTP/1.1" 200 606
127.0.0.1 - - [15/Jan/2009:01:07:04 -0300] "POST /%3C?%20echo%20$PATH_INFO;%20?> HTTP/1.1" 403 1151
Se puderem ajudar, agradeço.
>
O primeiro erro diz que a variavel texto não existe.
O segundo diz que a path passada não pode ser mapeada.
Seta a variável $texto com algum valor e passa dados corretos para o action do form que vai funcionar normal.
Tenta assim:
<html>
<head><title>Aprendendo PHP</title></head>
<body>
<?php
$texto = (isset($_POST['texto']))? $_POST['texto'] : '';
if (trim($texto) != '')
echo "Você digitou \"$texto\"<br><br>";
?>
<form method=post action="">
<input type="text" name="texto" value="" size=10>
<br>
<input type="submit" name="sub" value="Enviar!">
</form>
</body>
</html>
Abraço!
Realmente esse código que tu postou funcionou aqui, mas o que eu tinha postado funciona no servidor da faculdade que também é apache, então algo deve estar diferente...
>
Edit:
AllowOverride Allow
Não sabia que podia ter o value Allow.E o que foi dito não tem nada a ver com seu problema.
Acho que não pode mesmo, acho que me passei :P.
O primeiro erro diz que a variavel texto não existe.
O segundo diz que a path passada não pode ser mapeada.
Seta a variável $texto com algum valor e passa dados corretos para o action do form que vai funcionar normal.
Tenta assim:
if (trim($texto) != '') Abraço!Edit:
AllowOverride Allow
Não sabia que podia ter o value Allow.E o que foi dito não tem nada a ver com seu problema.